Перейти к содержимому


Фотография
- - - - -

Как показать список материалов в категории?


Сообщений в теме: 17

#11 lexxbond99

lexxbond99

Отправлено 29 January 2017 - 16:47

Дошел до вот этого:
Модули ZooCat и ZooItem начинаются одинаково :

Код:
<?php
defined('_JEXEC') or die('Restricted access');
require_once(JPATH_ADMINISTRATOR.'/components/com_zoo/config.php');
$zoo = App::getInstance('zoo');
$zoo->system->language->load('com_zoo');
$path = dirname(__FILE__);
$zoo->path->register($path, 'mod_zooitem');// или mod_zoocategory

а дальше в ZooCat идёт строчка $categories = $application->getCategoryTree(true, null, (bool) $params->get('add_count', false));

Вставляю эту строчку в ZooItem и в итоге: Fatal error: Call to a member function getCategoryTree() on a non-object

да как то а? Дальше я пас O0



#12 lexxbond99

lexxbond99

Отправлено 29 January 2017 - 21:46

утомился, там ещё условие было закомментированное, я подумал в условии нет ничего что могло бы влиять на объявление функций или ..., короче видимо сам операнд при появлении уже создает объект или функцию или ссылку, короче я пока до понимания ООП ещё не дошел.
в ZooCat перед той строчкой ещё было:
 if (!$application = $zoo->table->application->get($params->get('application', 0))) {
   return null;
}



#13 lexxbond99

lexxbond99

Отправлено 29 January 2017 - 21:58

всёравно ругается на getChildren()



#14 lexxbond99

lexxbond99

Отправлено 03 February 2017 - 22:03

склеил, только вывод материалов простым списком без шаблонов (с шаблонами нужно много переписывать хелпер, так как вывод категории клеятся в текстовый список, а выводы шаблонов итэмов гораздо сложнее, да и сам рендер что-то ругается)

// В файле \modules\mod_zoocategory\helper.php Вставляем это

    		$zoo = App::getInstance('zoo'); 
    		$itemModel = $zoo->table->item;
    		$items = $itemModel->getByCategory($params->get('application', 0), $category->id);
    		if ($items) {
    		foreach ($items as $item) {$result[] = ' • '.$item->name;}
    		$result[] = ' • ';}

// перед этим

			if (!$flat && ($active || $expanded) && $parent)

можно ещё и ссылки прикрутить если нужно



#15 РоманРоман

РоманРоман

Отправлено 04 February 2017 - 10:22

Лекс, список и так выводится, в сайдбаре-а

 

Вот, если форум пропустит ссылочку http://chenfeng.ru

Там либо категории "Каталог дверей" (это Zoo Category в позиции сайдбар-а (Yootheme)),

либо все итемы "все двери" (Zoo Item в той же позиции)



#16 lexxbond99

lexxbond99

Отправлено 04 February 2017 - 18:20

да я смотрел, об этом и разговор)) что теперь добавив код в модуль ZooCat, там будет выводиться список файлов данной категории. Т.е. 1 модуль вместо двух. При чем это работает и для многоуровневых меню. Косяки могут быть когда один материал будет принадлежать двум категориям, будет выводиться 2 раза. Я себе настроил чтобы материалы выводились только в папках не имеющих вложенности. Ну и css нужно добавить для себя:

ZOZ5.jpg

Обновленый код для того, чтобы не выводились неопубликованные материалы:

                $zoo = App::getInstance('zoo'); 
    		$itemModel = $zoo->table->item;
    		$items = $itemModel->getByCategory($params->get('application', 0), $category->id);
    		if ($items) {
    		foreach ($items as $item) {
    			if ($item->state) {$result[] = ' • '.$item->name;}
    		}
    		$result[] = ' • ';}


#17 РоманРоман

РоманРоман

Отправлено 15 February 2017 - 15:29

Решил проблему при помощи Nextend Accordion Menu https://yadi.sk/d/eC6zqb4x3E7rcz

Теперь выглядит так http://chenfeng.ru



#18 lexxbond99

lexxbond99

Отправлено 16 February 2017 - 17:17

Крутая штука, спасибо пригодиться, жаль только материалы не отделить цветом от категорий, css глянул, одинаковый он у пунктов, нужно опять в коде ковыряться, в моем случае это важный элемент каталога, подумаю может для мобильников будет хорошей альтернативой, так как для мобильников я скрыл своё меню, доступ только через фронт! А тут даже есть опция по оптимизации разворачивания подпунктов.






Click to return to top of page in style!