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

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

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

Сообщений: 5


« : 14.07.2011, 08:58:22 »

Здравствуйте! Дело в том, что есть самописный модуль меню для Joomla. При построении ссылки он не добавляет Itemid,а он нужен для корректного вывода "хлебных крошек". Помогите пожалуйста исправить скрипт:) Пытался как-то объеденить со стандартным модулем меню Joomla, но безрезультатно:(
Вот содержание скрипта: (модуль состоит только из этого одного файла)

Код:
<div class="head_menu">
<ul class="menu" id="topnav">
<?php
$menu_name = $params->get('menutype');
$menu = &JSite::getMenu($menu_name);
$items = $menu->getItems('menutype',$menu_name, false);
$menus = array();
//var_dump($items);
foreach ($items as $item)
{
if ($item->parent == 0)
{
echo '<li><a href="'.$item->link.'">'.$item->name.'</a>';
$flag = 0;
foreach ($items as $child)
{
if ($child->parent == $item->id)
{
$flag = 1;
}
}
if ($flag == 1)
{
echo '<div class="sub">';
foreach ($items as $child)
{
if ($child->parent == $item->id)
{
echo '<ul style="width: 225px;">';
echo '<li><a class="title_menu" href="'.$child->link.'">'.$child->name.'</a></li>';
foreach ($items as $child2)
{
if ($child2->parent == $child->id)
{
echo '<li><a href="'.$child2->link.'">'.$child2->name.'</a></li>';
}
}
echo '</ul>';
}
}


echo '</div>';
}
echo '</li>';

}
}
?>
</ul>
</div>
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #1 : 14.07.2011, 09:46:35 »

если в var_dump($items); видны иды итемов, то они и есть Itemid. Просто добавь их конкатенацией.
Записан
MrRobby
Захожу иногда
**

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

Сообщений: 5


« Ответ #2 : 14.07.2011, 09:55:08 »

А можно по подробней? Azn
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #3 : 14.07.2011, 09:59:02 »

иды есть?
Записан
MrRobby
Захожу иногда
**

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

Сообщений: 5


« Ответ #4 : 14.07.2011, 10:02:01 »

есть просто id но itemid нету(
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #5 : 14.07.2011, 10:22:50 »

Это он и есть, итемид - это ид меню.
Записан
MrRobby
Захожу иногда
**

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

Сообщений: 5


« Ответ #6 : 14.07.2011, 10:32:44 »

А как тогда его присоединить к ссылке? Подскажите пожалуйста((
Записан
MrRobby
Захожу иногда
**

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

Сообщений: 5


« Ответ #7 : 14.07.2011, 10:58:07 »

Все, вопрос решен)) Спасибо за помощь! Сделал вот так:
Код:
<div class="head_menu">
<ul class="menu" id="topnav">
<?php
$menu_name = $params->get('menutype');
$menu = &JSite::getMenu($menu_name);
$items = $menu->getItems('menutype',$menu_name, false);
$menus = array();
//var_dump($items);
foreach ($items as $item)
{
if ($item->parent == 0)
{
echo '<li><a href="'.$item->link.'&amp;Itemid='.$item->id.'">'.$item->name.'</a>';
$flag = 0;
foreach ($items as $child)
{
if ($child->parent == $item->id)
{
$flag = 1;
}
}
if ($flag == 1)
{
echo '<div class="sub">';
foreach ($items as $child)
{
if ($child->parent == $item->id)
{
echo '<ul style="width: 225px;">';
echo '<li><a class="title_menu" href="'.$child->link.'&amp;Itemid='.$item->id.'">'.$child->name.'</a></li>';
foreach ($items as $child2)
{
if ($child2->parent == $child->id)
{
echo '<li><a href="'.$child2->link.'&amp;Itemid='.$child2->id.'">'.$child2->name.'</a></li>';
}
}
echo '</ul>';
}
}


echo '</div>';
}
echo '</li>';

}
}
?>
</ul>
</div>
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #8 : 14.07.2011, 15:33:26 »

Ну и молодец.
Записан
Страниц: [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