PDA

Просмотр полной версии : Отключить кэш HMENU


c0d3r
27.08.2007, 19:12
Уважемые, как?
Судя по 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