Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Отключить кэш HMENU (http://forum.typo3.ru/showthread.php?t=4368)

c0d3r 27.08.2007 19:12

Отключить кэш HMENU
 
Уважемые, как?
Судя по http://wiki.typo3.org/index.php/Pending_Documentation, 4.2 планируетс:
Цитата:

Oliver Hader, 2007-04-26: New feature in trunk (for 4.2): RFC 5424 - Menu cache expire time should be configurable
Но может быть, можно запретить кэш вообще?
Типа HMENU.no_cache = 1.

Дело в том, что я к HMENU цепляю подменю с названием и кол-вом товаров в разделе, эти данные динамические, конечно. И они кэшируются, а нужно отключить этот кэш.
Код:

lib.leftMenu = HMENU
lib.leftMenu {
...
  special = userfunction
  special.userFunc = user_view->menuLeft
}

Спасибо.

ps Здесь про кэш ни слова: http://wiki.typo3.org/index.php/TSref/HMENU

c0d3r 28.08.2007 12:43

Для HMENU no_cache = 1 не работает.
Придётся, наверное, переделывать в USER_INT и генерить в PHP всё меню :(
Может быть, есть более светлые знания по теме? :)

void 28.08.2007 18:27

А чем правда не нравится патч, что в Trunc'e - http://bugs.typo3.org/view.php?id=5424

Имхо, кэш - это хорошо. Сколько людей будут смотреть ваше меню? При USER_INT всё упадёт гораздо быстрее, раза в полтора.

c0d3r 28.08.2007 18:46

О патче не знал. Но кэш в данном случае - зло.

Конфеты
Мишка на Севере (2000 коробок)
Мишку выпустили (5 коробок)

Через 10 минут из 2000 осталось 1500.
Кэш выдаст 2000.

Ясен пень USER_INT не так сладок, как хотелось бы, но альтернативы я пока не вижу :(

void 28.08.2007 19:07

Ну поставьте кэш в минуту... Можно и вообще отключить, но только одним способом: удалив строку $this->sys_page->storeHash($this->hash, serialize($this->result),'MENUDATA');
из EXT:cms/tslib/class.tslib_menu.php
(ну или XCLASS-нуть класс tslib_menu)

c0d3r 28.08.2007 19:57

Спасибо. Там ещё есть с затык с подсветкой текущего подраздела, так что дело швах. Сделаю через USER_INT...

poolet 08.04.2011 14:03

Для _OVERRIDE_HREF нужно сделать useCacheHash = 1


Часовой пояс GMT +4, время: 18:58.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot