Jump to content
  • 0

Ошибка при большой вложенности меню


ankoch
 Share

Question

Есть сайт на Joomla, при попытке вложить в двухуровневое (при наведении на пункт, вложенные пункты отображаются второй строкой) меню больше 10-ти пунктов, выдаётся ошибка:

Warning: array_reverse() [function.array-reverse]: The argument should be an array in сайт\templates\шаблон\menu.class.php  on line 54

Warning: implode() [function.implode]: Invalid arguments passed in сайт\templates\шаблон\menu.class.php on line 54

Вот кусок кода, на который он указывает, слова "СТРОКА-54" это я сейчас написал:

		function endMenu($startlevel=0, $endlevel = 10){
echo "</div>";
if(!$startlevel) {
echo "
<script type=\"text/javascript\">
СТРОКА-54 var sdl_activemenu = new Array(". ( (count($this->open) == 1)? "\"".$this->open[0]."\"" : implode(",", array_reverse($this->open)) ).");
</script>
";
}

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

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
Попробуйте использовать другой модуль, формирующий меню, благо их существует великое множество.

Дело в том, что этот модуль встроен в шаблон Joomla, а шаблон очень нравится, хотелось бы его оставить :) . Может получится поправить ситуацию? Ведь при малой вложенности меню всё работает чётко.

Link to comment
Share on other sites

  • 0

В джумле модуль не может быть встроен в шаблон.

Да и причем тут шаблон? Вставьте любой другой модуль и если не понравится, как он выглядит, поменяйте ему CSS стили, как вам нравится.

Сам шаблон от этого не пострадает, если только не используются общие названия стилей.

Edited by d0ublezer0
Link to comment
Share on other sites

  • 0
В джумле модуль не может быть встроен в шаблон.

Дело в том, что в этом шаблоне вывод верхнего меню осуществляется средствами именно самого шаблона. Стиль то я могу подправить, но здесь видимо дело в каких-то переменных, которым нужно разрешить большее количество вложенностей, только как это сделать я пока не знаю. Может подскажите как это сделать?

Я конечно понимаю, что вопрос к вёрстке не относится, однако здесь собираются специалисты, поэтому и решил задать вопрос (прошу прощения за словоблудие :)).

Link to comment
Share on other sites

  • 0

ankoch

Судя по вашей ошибке, модуль получает от движка не то, что ожидает. В частности он ждет массив, а ему передается что-то другое.

Чтобы вам помочь, нужно разобрать всю цепочку передачи значений из базы в ваш модуль.

Еще раз: проще взять другой модуль и прикрутить его на место текущего.

И почитайте всё же ликбез по джумле. Там всё очень просто.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy