LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 07:52:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Отображение первого или последнего пункта меню (php, нужна подсказка)  (Прочитано 371 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
olf
Давно я тут
****

Репутация: +3/-0
Offline Offline

Сообщений: 247



« : 22.07.2011, 10:28:11 »

Часто постаёт задача разделить в дизайне пункты горизонтального меню вертикальной чертой. Соответственно, эта черта появляется также вначале или в конце меню (в зависимости от стилей или верстки). Как добавить условие в коде, чтоб к первому или последнему пункту задать свой класс или убрать знак вертикальной черты, кто подскажет? думаю, эта информация пригодится не только мне.
Вот, например, код модуля меню. Здесь к пункту меню пристыковывается слеш:
Код:
function getMenu($menutype){
global $mainframe;
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
if(empty($menutype)){ $menutype="mainmenu"; }
$query = "SELECT * FROM #__menu WHERE published = '1' AND menutype = '". $menutype . "' AND parent = '0' ORDER BY 'ordering' ASC";
$db->setQuery( $query );
$rows = $db->loadObjectList();
$menu = "<ul>\n";
if ($rows) {
foreach ($rows as $row) {
if($user->get('aid', 0) >= $row->access){
$menu .= "<li><a href=\"". $row->link;
$type=$row->type;
if($type=="component"){
  $menu .= "&amp;Itemid=".$row->id;
}
$menu .= "\">". $row->name ."</a>" ." / " . "\n";
$menu .= MyMenu::getMenuChild(". $menutype . ",$row->id);
$menu .= "</li>\n";
}
}
}
$menu .= "</ul>\n";
return $menu;
}
Записан
olf
Давно я тут
****

Репутация: +3/-0
Offline Offline

Сообщений: 247



« Ответ #1 : 22.07.2011, 11:25:01 »

Вот, например, условие, привязанное к id меню (этот пункт сейчас последний в списке). Но если id поменяется, - будет проблема:
Код:
if($row->id != 10){
$menu .= "\">". $row->name ."</a> / \n";
}
else {
$menu .= "\">". $row->name ."</a>\n";
}
Неужели никто не может подсказать?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet