Joomla 1.6 Пытаюсь запустить шаблон 1.5 на joomla 1.6

Тема в разделе "Изменение шаблона (кастомизация)", создана пользователем creative3d, 01.04.2011.

  1. Offline

    creative3d Недавно здесь

    Регистрация:
    01.04.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте!
    Хочу переделать шаблон от версии 1.5 на версию 1.6. Основные моменты миграции я нашел в интернете. Кое-как разобрался. Шаблон запустился на joomla 1.6. Начал пытаться восстановить позиции модулей, чтобы посмотреть как будут выглядеть тестовые данные.
    И вот тут уже проблемы, почитать не знаю где и о чем, я не программист, поэтому трудности имеются...

    Главное, что не получается отобразить - это верхнее меню, примерно как на этом сайте: Главное - Новости - Справка - т.д. в одну строчку. В версии joomla 1.5 был пункт "Плоский список", в 1.6 же я не вижу его, и у меня меню располагается вертикально, а надо горизонтально. Нашел вместо этого Menu Class Suffix и Module Class Suffix, не знаю может их и не надо заполнять, а может это они как раз помогут восстановить плоский список, но что туда писать не знаю. Т.е. из css что-то нужно заполнять, а вот что? Как это должно выглядеть?
    .art-nav .r
    {
    right: 0;
    width: 984px;
    clip: rect(auto, auto, auto, 984px);
    }
    Нашел в структуре меню вот такой класс или как он называется... судя по размерам походит на горизонтальную полосу, а может нет, как его связать с плоским списком?

    Второе еще форма авторизации, она чуть кривая стала, например:
    Логин |
    Пароль |
    А надо:
    Логин____|
    Пароль___|
    т.е. в одну вертикальную линию должны поля ввода располагаться... где это нужно исправлять?

    Много букофф... вот... :)
     
  2.  
  3. Tureckiy
    Offline

    Tureckiy Недавно здесь => Cпециалист <=

    Регистрация:
    11.04.2009
    Сообщения:
    423
    Симпатии:
    30
    Пол:
    Мужской
    при переделке - обратите внимание что в 1,6 перешли с табличной структуры на блочную с списками - ul li dd ld ...
     
  4. Offline

    creative3d Недавно здесь

    Регистрация:
    01.04.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо, тока мне не особо понятно, что с этим делать, можно пример какой-нить? И это как-то бы помогло с верхним меню? Что случилось с плоским списком?
     
  5. Offline

    creative3d Недавно здесь

    Регистрация:
    01.04.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Менюшка эта горизонтальная срабатывает когда попадает в позицию user3 в joomla 1.5, на ее месте появляются вот такие строки:
    Код (html):
    1. <div class="art-nav">
    2. <div class="l"></div>
    3. <div class="r"></div>
    4. <ul class="art-menu">
    5. <li class="item28">
    6. <li>
    7. <li class="item29">
    8. <li>
    9. <li class="item18">
    10. <li>
    11. <li class="item30">
    12. </ul>
    13. </div>


    На joomla 1.6 же в этой позиции получаются вот такие строки:
    Код (html):
    1. <ul class="menu-nav">
    2. <li id="item-464">
    3. <li id="item-444">
    4. <li id="item-207">
    5. </ul>


    Нашел в шаблоне html\mod_mainmenu\default.php, там вроде обработка позиции user3 идет, но я не понимаю код и что в нем не работает, может подскажите? Может мне еще что-то уточнить? И мне завязать попытки переделать шаблон, просто на 1.6 ниче интересного нету... Там поди дальше начну что-нибудь устанавливать и коряво отображаться будет?
    Код (PHP):
    1. <?php
    2. defined('_JEXEC') or die; // no direct access
    3.  
    4. ob_start();
    5. require_once realpath(dirname(__FILE__) . str_replace('/', DIRECTORY_SEPARATOR, '/../../../../modules/mod_mainmenu/tmpl/default.php'));
    6. ob_clean();
    7.  
    8. if (!defined('modMainMenuArtXMLCallbackDefined'))
    9. {
    10. function modMainMenuArtXMLCallback(&$node, $args)
    11. {
    12.         if (!$GLOBALS['menu_showSubmenus'] && $node->name() == 'li' && $node->level() == 1) {
    13.             if ($ul = $node->getElementByPath('ul'))
    14.                 $node->removeChild($ul);
    15.         }
    16.        
    17.         if ($node->name() == 'li') {
    18.             $liChildren = & $node->_children;
    19.             if (count($liChildren) > 0) {
    20.                 $liFirstChild = & $liChildren[0];
    21.                 $linkChildren = & $liFirstChild->_children;
    22.                 $span = & $linkChildren[0];
    23.                 $text = $span->data();
    24.                 if ($liFirstChild->name() == 'span' && $liFirstChild->attributes('class') == 'separator') {
    25.                     $liFirstChild->_name = 'a';
    26.                     $liFirstChild->addAttribute('href', '#');
    27.                     $liFirstChild->addAttribute('onclick', 'return false;');
    28.                 }
    29.                 if ($liFirstChild->name() == 'a') {
    30.                     if ($liFirstChild->level() == 2) {
    31.                         $liFirstChild->removeChild($span);
    32.                         $lspan = & $liFirstChild->addChild('span', array('class' => 'l'));
    33.                         $lspan->setData(' ');
    34.                         $rspan = & $liFirstChild->addChild('span', array('class' => 'r'));
    35.                         $rspan->setData(' ');
    36.                         $tspan = & $liFirstChild->addChild('span', array('class' => 't'));
    37.                         $tspan->setData($text);
    38.                     } else {
    39.                         $liFirstChild->removeAttribute('class');
    40.                         $liFirstChild->setData($text);
    41.                         $liFirstChild->removeChild($span);
    42.                     }
    43.                 }
    44.             }
    45.         }
    46.         modMainMenuXMLCallback($node, $args);
    47.         if ($node->name() == 'li') {
    48.             $class = $node->attributes('class');
    49.             if ($class && false !== strpos(' ' . $class, ' active')) {
    50.                 $itemChildren = & $node->_children;
    51.                 $itemChildren[0]->addAttribute('class', 'active');
    52.             }
    53.         }
    54.     }
    55.  
    56.     define('modMainMenuArtXMLCallbackDefined', true);
    57. }
    58.  
    59. if (!defined('artxMenuDecorator'))
    60. {
    61.  
    62.     function artxMenuDecorator($content)
    63.     {
    64.         $result = '';
    65.         ob_start();
    66. ?>
    67.  
    68. <div class="art-nav">
    69.     <div class="l"></div>
    70.     <div class="r"></div>
    71. <?php
    72.         $result .= ob_get_clean() . $content;
    73.         ob_start();
    74. ?>
    75. </div>
    76. <?php
    77.         $result .= ob_get_clean();
    78.         return $result;
    79.     }
    80.  
    81.     define('artxMenuDecorator', true);
    82. }
    83.  
    84. if ($attribs['name'] == 'user3') {
    85.     $GLOBALS['menu_showSubmenus'] = true && 1 == $params->get('showAllChildren');
    86.     $xml = modMainMenuHelper::getXML($params->get('menutype'), $params, 'modMainMenuArtXMLCallback');
    87.     if ($xml) {
    88.         $xml->addAttribute('class', 'art-menu');
    89.         if ($tagId = $params->get('tag_id')) {
    90.             $xml->addAttribute('id', $tagId);
    91.         }
    92.         $result = JFilterOutput::ampReplace($xml->toString((bool)$params->get('show_whitespace')));
    93.         $result = str_replace(array('<ul/>', '<ul />'), '', $result);
    94.         echo artxMenuDecorator($result);
    95.     }
    96. } else {
    97.     modMainMenuHelper::render($params, 'modMainMenuXMLCallback');
    98. }
     

Поделиться этой страницей

Загрузка...