Best Answer CB9TOIIIA , 20 November 2015 - 10:07
http://forum.jbzoo.c...chkoj-otscheta/
Go to the full post
Best Answer CB9TOIIIA , 20 November 2015 - 10:07
http://forum.jbzoo.c...chkoj-otscheta/
Go to the full post
Posted 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 расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке