0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 1123 Просмотров
*

lamrak

  • Новичок
  • 4
  • 0 / 0
Проблема с меню
« : 31.01.2011, 11:59:14 »
Привет всем!
Такая проблема, может кто сталкивался, что подскажет:

У меня есть сложное главное меню с бэграундом, который собирается с помощью нескольких вложенных тэгов <li><a href="#"><span>Company</span><em></em></a></li> (принцип раздвижных ворот, кажется как то так называется). В общем, я отредактировал соответствующие файлы в модуле меню (mod_mainmenu), в самом файле helper.php.

Меню получилось, все отлично. Но, дело в том, что на сайте у меня еще есть 5 различных меню, и теперь у меня в каждом меню, естественно, генерируются все эти тэги <span>, <em>, которые там и не нужны. Вопрос, как лучше разделить код для главного меню, и остальных меню. Честно признаюсь, что в php я настолько же силен, как в бальных танцах, переписать код с проверкой на главное/не_главное меню вряд ли получится. Какие есть еще варианты? Проще всего через CSS скрывать <em> (но это не комильфо), или попробовать создать на базе mod_mainmenu еще один плагин меню (чего с наскоку не получилось) без избыточных тэгов.

Возможно кто-то с подобной проблемой уже сталкивался и знает, как решить ее без лишних жертв? Спасибо!
*

lamrak

  • Новичок
  • 4
  • 0 / 0
Re: Проблема с меню
« Ответ #1 : 02.02.2011, 19:58:17 »
Всем спасибо за поддержку :), проблема решена след. способом:

В файле mod_mainmenu.xml я добавил еще один параметр,

Код
<param name="type_tag_list" type="list" default="0" label="Type Tag List" description="Choose tag's type">
<option value="0">Default</option>
<option value="1">EM Tags</option>
<option value="2">Drop-Down</option>
</param>

с помощью которого, в Менеджере меню я указывал, какой код я хочу видеть в моем меню - с em-ом, с завернутым вложенным списком в div, или без каких либо добавочных тэгов.
В mod_mainmenu.php добавляю строку, получая значения (0 - по-умолчанию без тэгов, 1 - с em-ами, 2 - завернуть вложенный в div), а в темплейте default.php указал через switch что делать

Код
	switch ($typetaglist){
case 0:
modMainMenuHelper::render($params, 'modMainMenuXMLCallback');
break;
case 1:
ob_start();
modMainMenuHelper::render($params, 'modMainMenuXMLCallback');
$menu_html = ob_get_contents();
ob_end_clean();
$menu_html = str_replace("<a", "<a", $menu_html);
$menu_html = str_replace("</a>", "<em></em></a>", $menu_html);
echo $menu_html;
break;
case 2:
ob_start();
modMainMenuHelper::render($params, 'modMainMenuXMLCallback');
$menu_html = ob_get_contents();
ob_end_clean();
$menu_html = str_replace("</a><ul>", "<div><ul>", $menu_html);
$menu_html = str_replace("</ul></li>", "</ul></div></li>", $menu_html);
echo $menu_html;
break;
}

Так я и решил свою задачу. Может кому пригодится способ.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 6394
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 2072
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 2998
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 21285
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 2287
Последний ответ 01.03.2019, 11:12:18
от vasmed