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

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;
}

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

Пункт меню

Автор s120367

Ответов: 0
Просмотров: 275
Последний ответ 03.06.2018, 13:02:55
от s120367
Большое меню Joomla

Автор Amakeeva

Ответов: 1
Просмотров: 438
Последний ответ 22.01.2018, 13:17:45
от effrit
Как можно отображать имя пользователя в название меню?

Автор selimoff

Ответов: 27
Просмотров: 3636
Последний ответ 02.01.2018, 15:24:44
от logan-19
как сделать пункт меню не кликабельным?

Автор qweqweqwe

Ответов: 13
Просмотров: 6493
Последний ответ 07.09.2017, 01:45:49
от forzi
Сдвинуть пункты меню в левое положение

Автор wectra

Ответов: 6
Просмотров: 709
Последний ответ 12.07.2017, 21:09:01
от wectra