Здравствуйте! Хочу переделать шаблон от версии 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); } Нашел в структуре меню вот такой класс или как он называется... судя по размерам походит на горизонтальную полосу, а может нет, как его связать с плоским списком? Второе еще форма авторизации, она чуть кривая стала, например: Логин | Пароль | А надо: Логин____| Пароль___| т.е. в одну вертикальную линию должны поля ввода располагаться... где это нужно исправлять? Много букофф... вот...
при переделке - обратите внимание что в 1,6 перешли с табличной структуры на блочную с списками - ul li dd ld ...
Спасибо, тока мне не особо понятно, что с этим делать, можно пример какой-нить? И это как-то бы помогло с верхним меню? Что случилось с плоским списком?
Менюшка эта горизонтальная срабатывает когда попадает в позицию user3 в joomla 1.5, на ее месте появляются вот такие строки: Код (html): <div class="art-nav"> <div class="l"></div> <div class="r"></div> <ul class="art-menu"> <li class="item28"> <li> <li class="item29"> <li> <li class="item18"> <li> <li class="item30"> </ul> </div> На joomla 1.6 же в этой позиции получаются вот такие строки: Код (html): <ul class="menu-nav"> <li id="item-464"> <li id="item-444"> <li id="item-207"> </ul> Нашел в шаблоне html\mod_mainmenu\default.php, там вроде обработка позиции user3 идет, но я не понимаю код и что в нем не работает, может подскажите? Может мне еще что-то уточнить? И мне завязать попытки переделать шаблон, просто на 1.6 ниче интересного нету... Там поди дальше начну что-нибудь устанавливать и коряво отображаться будет? Код (PHP): <?php defined('_JEXEC') or die; // no direct access ob_start(); require_once realpath(dirname(__FILE__) . str_replace('/', DIRECTORY_SEPARATOR, '/../../../../modules/mod_mainmenu/tmpl/default.php')); ob_clean(); if (!defined('modMainMenuArtXMLCallbackDefined')) { function modMainMenuArtXMLCallback(&$node, $args) { if (!$GLOBALS['menu_showSubmenus'] && $node->name() == 'li' && $node->level() == 1) { if ($ul = $node->getElementByPath('ul')) $node->removeChild($ul); } if ($node->name() == 'li') { $liChildren = & $node->_children; if (count($liChildren) > 0) { $liFirstChild = & $liChildren[0]; $linkChildren = & $liFirstChild->_children; $span = & $linkChildren[0]; $text = $span->data(); if ($liFirstChild->name() == 'span' && $liFirstChild->attributes('class') == 'separator') { $liFirstChild->_name = 'a'; $liFirstChild->addAttribute('href', '#'); $liFirstChild->addAttribute('onclick', 'return false;'); } if ($liFirstChild->name() == 'a') { if ($liFirstChild->level() == 2) { $liFirstChild->removeChild($span); $lspan = & $liFirstChild->addChild('span', array('class' => 'l')); $lspan->setData(' '); $rspan = & $liFirstChild->addChild('span', array('class' => 'r')); $rspan->setData(' '); $tspan = & $liFirstChild->addChild('span', array('class' => 't')); $tspan->setData($text); } else { $liFirstChild->removeAttribute('class'); $liFirstChild->setData($text); $liFirstChild->removeChild($span); } } } } modMainMenuXMLCallback($node, $args); if ($node->name() == 'li') { $class = $node->attributes('class'); if ($class && false !== strpos(' ' . $class, ' active')) { $itemChildren = & $node->_children; $itemChildren[0]->addAttribute('class', 'active'); } } } define('modMainMenuArtXMLCallbackDefined', true); } if (!defined('artxMenuDecorator')) { function artxMenuDecorator($content) { $result = ''; ob_start(); ?> <div class="art-nav"> <div class="l"></div> <div class="r"></div> <?php $result .= ob_get_clean() . $content; ob_start(); ?> </div> <?php $result .= ob_get_clean(); return $result; } define('artxMenuDecorator', true); } if ($attribs['name'] == 'user3') { $GLOBALS['menu_showSubmenus'] = true && 1 == $params->get('showAllChildren'); $xml = modMainMenuHelper::getXML($params->get('menutype'), $params, 'modMainMenuArtXMLCallback'); if ($xml) { $xml->addAttribute('class', 'art-menu'); if ($tagId = $params->get('tag_id')) { $xml->addAttribute('id', $tagId); } $result = JFilterOutput::ampReplace($xml->toString((bool)$params->get('show_whitespace'))); $result = str_replace(array('<ul/>', '<ul />'), '', $result); echo artxMenuDecorator($result); } } else { modMainMenuHelper::render($params, 'modMainMenuXMLCallback'); }