Best Answer CB9TOIIIA , 20 November 2015 - 10:07
http://forum.jbzoo.c...chkoj-otscheta/
Go to the full postBest Answer CB9TOIIIA , 20 November 2015 - 10:07
http://forum.jbzoo.c...chkoj-otscheta/
Go to the full postPosted 19 November 2015 - 21:50
JBZoo чат / Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
Posted 20 November 2015 - 06:20
В модуле Zoo Item итемы берутся из хелпера Module, вот функция:
public function getItems($params) { $items = array(); if ($application = $this->app->table->application->get($params->get('application', 0))) { // set one or multiple categories $category = (int) $params->get('category', 0); if ($params->get('subcategories')) { $categories = $application->getCategoryTree(true); if (isset($categories[$category])) { $category = array_merge(array($category), array_keys($categories[$category]->getChildren(true))); } } // get items if ($params->get('mode') == 'item') { if (($item = $this->app->table->item->get($params->get('item_id'))) && $item->isPublished() && $item->canAccess()) { $items[] = $item; } } else if ($params->get('mode') == 'types') { $items = $this->app->table->item->getByType($params->get('type'), $application->id, true, null, $params->get('order', array('_itemname')), 0, $params->get('count', 4)); } else { $items = $this->app->table->item->getByCategory($application->id, $category, true, null, $params->get('order', array('_itemname')), 0, $params->get('count', 4)); } } return $items; }
Итемы берутся в зависимости от настроек из категорий или типов.
0 в функциях getByType и getByCategory и означает Вашу точку отсчета, offset.
Можно добавить дополнительный параметр в модуле и изменить хелпер, можно повторить эту функцию в модуле.
Posted 20 November 2015 - 08:25
Отлично вопрос...
Есть строка:
$items = $zoo->module->getItemswithoffset($params);
Она обращается к модулю в
C:\OpenServer\domains\test.local\administrator\components\com_zoo\helpers\module.php
public function getItemswithoffset($params) { $items = array(); if ($application = $this->app->table->application->get($params->get('application', 0))) { // set one or multiple categories $category = (int) $params->get('category', 0); if ($params->get('subcategories')) { $categories = $application->getCategoryTree(true); if (isset($categories[$category])) { $category = array_merge(array($category), array_keys($categories[$category]->getChildren(true))); } } // get items if ($params->get('mode') == 'item') { if (($item = $this->app->table->item->get($params->get('item_id'))) && $item->isPublished() && $item->canAccess()) { $items[] = $item; } } else if ($params->get('mode') == 'types') { $items = $this->app->table->item->getByType($params->get('type'), $application->id, true, null, $params->get('order', array('_itemname')), 0, $params->get('count', 4)); } else { $items = $this->app->table->item->getByCategory($application->id, $category, true, null, $params->get('order', array('_itemname')), 3, $params->get('count', 4)); } } return $items; }
Возможно ли эту функцию корректно вписать в модуль? или она должна быть именно в том пути?
Просто не понимаю если функцию в модуль прописать как вызов то сделать:
$items = $zoo->module->getItemswithoffset($params);
JBZoo чат / Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
Posted 20 November 2015 - 10:07 Best Answer
JBZoo чат / Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке