Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

Форум Сайт на DIAFAN.CMS Программирование на DIAFAN.CMS Убрать вывод подкатегорий ИМ в категории 1 уровня


Александра (Alexa0105) 10011 января, четверг

Доброго всем времени суток.

Проблема в том, что за вывод списка товаров отвечает один файл shop.view.list.php, а их нужно два разных.

Суть:
Выводится категория. На этой странице нужен только текст и больше ничего.

Выводится подкатегория. На этой странице нужен список под-подкатегорий и товары в них.


Насколько я понимаю, сделать два отдельных файла shop.view.list.php нет возможности (точнее сделать их можно кучу, но указать, где какой должен использоваться, нельзя).

Опять же, рассматривая в админке категории и подкатегории в доп.параметрах можно увидеть:
категория - вложенность принадлежит "нет",
подкатегория - вложенность принадлежит "категория".

Вот если этот параметр выцепить и прикрутить в файле shop.view.list.php, то получится вывести: при отсутствии вложенности не выводим подкатегории, в остальных случаях - все выводим.

Кто-то может подсказать, каким образом вывести это условие (точнее, что за параметр может быть использован)?
Или я вообще не в ту сторону копаю?

Denis (Drachoon) Гуру DIAFAN.CMS13111 января, четверг

А если обратить внимание на параметр уровня погружения в категории и запилить разделение рендера страниц отталкиваясь от него?

Владимир (german3w) 6411 января, четверг

А если, в файле shop.view.first_page.php , где идёт вывод подкатегории, прописать вместо:
Код

//вывод списка товаров подкатегории
if (!empty($child["rows"]))
{
$res = $result;
$res["rows"] = $child["rows"];
echo '<div class="shop-pane">';
echo $this->get('rows', 'shop', $res);
echo '</div>';
}

Показать весь код

свой вывод -
Код

//вывод списка товаров подкатегории
if (!empty($child["rows"]))
{
$res = $result;
$res["rows"] = $child["rows"];
echo '<div class="shop-pane">';
echo $this->get('rows_my_view', 'shop', $res);
echo '</div>';
}

Показать весь код

Александра (Alexa0105) 10011 января, четверг

Дело в том, что файл shop.view.first_page.php отвечает за вывод подкатегорий и товаров на главной странице модуля.
Т.е. это страница shop.

У меня же речь идет о странице категории,
т.е. shop/категория.

И rows_my_view даст возможность вывести товары в другом виде, а мне в принципе вывод подкатегорий нужно убрать.

Владимир (german3w) 6411 января, четверг

Тогда, то же сделать, но в файле shop.view.list.php
или
использовать условие
Код

//вывод подкатегории
if (!empty($result["children"]))
{
// код вывода
}

Александра (Alexa0105) 10011 января, четверг

Так вот это условие мне и нужно поменять, чтобы убрать вывод подкатегорий со страницы категории.
Но не соображу как...

Dmitry (weissfl) 8111 января, четверг

Вообще же можно для каждой категории назначить свой shop.view.list.php
https://yadi.sk/i/XDCbePsz3RNA7i

Если категорий не очень много, то назначить в рунчую не должно быть большой проблемой.
Спасибо сказали: Александра (Alexa0105)

R (romaromk2) 411 января, четверг

+1
Я так и делал. Через импорт можно быстро назначать, если количество категорий много.

Александра (Alexa0105) 10011 января, четверг

Вот даже не посмотрела туда.
Спасибо, Дмитрий. Буду пробовать.

Александра (Alexa0105) 10011 января, четверг

Вроде элементарно, но как-то бывает выскакивает из головы очевидное. Поэтому:

На будущее инструкция, если кому-то нужно будет:

shop.view.list.php - вывод списка товаров с подкатегориями и пр.

Создаем свой. Например shop.view.list_1.php
Комментируем там все, что не нужно.

Заходим в админку: каталог - категории - выбираем категорию - доп.параметры, справа внизу указываем свой шаблон для списка товаров.

Спасибо Дмитрию еще раз за подсказку.