. В классе JModelList есть переменная $cache. Однако, в ней хранится кэш на время исполнения скрипта. Если обратиться дважды к методу getItems(), то 2-й вызов не станет делать запрос к БД.
Метод getStoreId() формирует уникальный ID для хранения кэша:
protected function getStoreId($id = '') { // Add the list state to the store id. $id .= ':'.$this->getState('list.start'); $id .= ':'.$this->getState('list.limit'); $id .= ':'.$this->getState('list.ordering'); $id .= ':'.$this->getState('list.direction'); return md5($this->context.':'.$id); }
Видно, что ID формируется на основе переменной $context. Она же задается в конструкторе:
// Guess the context as Option.ModelName. if (empty($this->context)) { $this->context = strtolower($this->option.'.'.$this->getName()); }
Либо можно задать ее вручную в модели.
- $this->option - название компонента;
- $this->getName() - постфикс имени класса модели.
Tags: joomla 1.7
Запись опубликована
Понедельник, Август 6, 2012 в
18:22 и находится в
Joomla, Блокнот .
Вы можете следить за ответами к этой записи через
RSS 2.0 ленту.
Вы можете оставить комментарий, или обратиться к записи со своего сайта.