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

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
В общем обнаружилась ошибка в коде модуля.
Ошибка дает о себе знать когда опубликовано два модуля меню, отображающие одно меню( параметр Название меню ), и в одном из них включено отображение иконок а в другом - нет.
Как результат - иконки отображаются в обоих модулях, хотя во втором отображение отключено. Собственно поглядев на код - оно и понятно : кеширование никак не учитывает эту настройку, и промежуточный кеш суется обоим модулям.

Лично я  сталкиваюсь с этой фигней уже второй раз, так что ее полюбому нужно както исправить... у кого какие мысли?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Граждане джумловоды, что делать? Закрыть глаза на ашипку?

Пока что скрыл ненужные изображения через .menu-2 img{display: none} , но это все фигня...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Вобщем продолжу разговор сам с собой...
Проблема не с кэшом а с объявлением промежуточной переменной как static, и заданием неправильного ключа, который включал в себя только тип меню, игнорируя настройки параметров из группы Другие настройки.
Вот это место:
   function &getXML($type, &$params, $decorator)
   {
      static $xmls;

      if (!isset($xmls[$type])) {
         $cache =& JFactory::getCache('mod_mainmenu');
         $string = $cache->call(array('modMainMenuHelper', 'buildXML'), $params);

         $xmls[$type] = $string;
      }
      ...
   }

В $type передается имя меню, например mainmenu. После отработки первого модуля имеется переменная static $xml['mainmenu'] , которая содержит HTML с картинками. Второй модуль так же обращается к переменной $xml['mainmenu'], и так как она уже существует, то не строит HTML заново. В итоге в нем появляются картинки, коих быть не должно в соответсвии с настройками.

Исправить баг можно так:

   function &getXML($type, &$params, $decorator)
   {
      static $xmls;
      $type = serialize( array($params->get('menutype'), $params->get('menu_images')) );

      if (!isset($xmls[$type])) {
         $cache =& JFactory::getCache('mod_mainmenu');
         $string = $cache->call(array('modMainMenuHelper', 'buildXML'), $params);

         $xmls[$type] = $string;
      }
      ...
   }

Интересует такой вопрос: что сделать чтобы в следующем релизе Joomla этот баг исправили? Ведь ошибка на лицо, и я уверен, что не только я с ней сталкивался...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пункт меню

Автор s120367

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

Автор Amakeeva

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

Автор selimoff

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

Автор qweqweqwe

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

Автор wectra

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