Автор Тема: Как добавить страницу категории в подвал сайта?  (Прочитано 2337 раз)

31 Октября 2014, 19:05:36
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Добрый день,

Подскажите пожалуйста,возможно ли каким-то образом добавить страницу категории в подвал сайта? Например, в левой части страницы есть блок со всеми категориями,которые создаются в админ-панели. Мне нужно создать новую категорию со всеми товарами,которые имеются в магазине и ее необходимо поместить в подвал, но эта категория не должна попадать в блок со всеми категориями в левой части экрана. Такое возможно сделать?
31 Октября 2014, 22:18:03
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1010
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В настройках модуля категорий можно отметить страницы, которые нужно показать.
01 Ноября 2014, 11:23:12
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 13285
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
но эта категория не должна попадать в блок со всеми категориями в левой части экрана.
В файле /modules/blockcategories/category-tree-branch.tpl нужно добавить условие
{if isset($node.id) && $node.id != 'ID категории которую нужно исключить'}
<li class="category_{$node.id}{if isset($last) && $last == 'true'} last{/if}">
...
</li>
{/if}
02 Ноября 2014, 13:17:14
Ответ #3
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Спасибо за совет. Но я так и понял,можно ли новую созданную категорию загнать в подвал, ко всем остальным ссылкам\страницам из модуля CMS блок, возможно ли это сделать стандартным набором бэкоффиса prestashop? Или просто создать эту категорию,сделать так чтобы она не отображалась в блоке категорий и вручную сделать ссылку <a href="ссылка на новую категорию"></a>?
02 Ноября 2014, 13:27:02
Ответ #4
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86054
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
1. Можете создать новую категорию и в настройках модуля Блок CMS отметить эту категорию для показа в футере.
2. Эта категория будет автоматически показываться в блоке категорий слева/справа, чтобы ее там не показывать вам нужно сделать так, как написал Adik.
02 Ноября 2014, 13:41:15
Ответ #5
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Я уже пробовал создать новую категорию в блоке CMS ,но как добавить в нее товары? Создал категорию в Настройки>Добавить категорию CMS например с ID=4, с помощью Импорта таблицей CSV залил 2 товара, которые должны попасть в категорию с  ID=4, но после импорта они туда не попали. Подскажите,если я создаю новую категорию с  помощью блока CMS, в нее можно добавить товары импортом так же, если бы я создал эту категорию в Категории>Создать новую?
02 Ноября 2014, 13:54:48
Ответ #6
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86054
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Создавать категории для товаров нужно в Каталог > Категории.
Создавать категории для страниц CMS нужно в Настройки > Страницы.

Настроить показ категории для товаров можно в Модули > Блок категорий
Настроить показ страниц CMS в Модули > Блок CMS.

В prestashop различаются категории товаров и категории страниц. Вы не можете показать товары на странице CMS.
02 Ноября 2014, 14:01:47
Ответ #7
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Хорошо, но у меня в футере, в блоке CMS располагаются 2 ссылки(помимо ссылок Скидки,Наши магазины и т.д): "Новые товары" и "Популярные товары", они же как-то добавились в блок Информация в футере? Эти ссылки были изначально, я их не добавлял, но хочу понять,как можно добавить страницу в футер,но чтобы на ней были все товары магазина.
02 Ноября 2014, 14:02:43
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1010
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Теперь понятно, что вы хотите. Удалить показ категории товаров их левого блока. В футере категории показываются сразу после создания, так ничего добавлять не нужно.
Можно склонировать модуль категорий. Сделать 2 модуля, один для левой колонке, другой для футера.
В модуле для левой колонке дописать исключение категории, как советывал Adik.
02 Ноября 2014, 14:12:17
Ответ #9
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
'Склонировать модуль' - значит создать папку с таким же названием(blockcategories) в папке модули? Например для отображения категорий в блоке слева, в файле blockcategoriwes.tpl:
<div id="categories_block_left" class="block">
<h4 class="title_block">{if isset($currentCategory)}{$currentCategory->name|escape}{else}{l s='Categories' mod='blockcategories'}{/if}</h4>
<div class="block_content">
<ul class="tree {if $isDhtml}dhtml{/if}">
{foreach from=$blockCategTree.children item=child name=blockCategTree}
{if $smarty.foreach.blockCategTree.last}
{include file="$branche_tpl_path" node=$child last='true'}
{else}
{include file="$branche_tpl_path" node=$child}
{/if}....
скрипт..
Как указать этому модулю-клону,что новые созданные категории с нужным мне ID будут отображения в футере?
02 Ноября 2014, 14:26:26
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 1010
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как клонировать модули есть описание на форуме. Вот такая тема - Клонирование модуля blockcategories
02 Ноября 2014, 14:56:00
Ответ #11
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Спасибо за помощь. Буду разбираться.
02 Ноября 2014, 15:27:34
Ответ #12
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Попробовал для начала отключить показ нужной мне категории в блоке категорий слева. Как и советовал Adik, в файле  /modules/blockcategories/category-tree-branch.tpl добавил условие:
{if isset($node.id) && $node.id != '44'} - добавленное условие для категории с id=44
<li {if isset($last) && $last == 'true'}class="last"{/if}>
<a href="{$node.link|escape:'htmlall':'UTF-8'}" {if isset($currentCategoryId) && $node.id == $currentCategoryId}class="selected"{/if}
title="{$node.desc|strip_tags|trim|escape:'htmlall':'UTF-8'}">{$node.name|escape:'htmlall':'UTF-8'}</a>
{if $node.children|@count > 0}
<ul>
.........     
{/foreach}
</ul>
{/if}
</li>

{/if}
Почистил кеш,обновил страницу, но категория с ID=44 все-равно показывается в блоке категорий слева. Что может быть не так?
02 Ноября 2014, 16:12:56
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 763
  • Репутация: +6/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Шаблон берется или из папки модулей, или из папки темы. Меняйте еще и /themes/default-bootstrap/modules/blockcategories/category-tree-branch.tpl
14 Ноября 2014, 17:22:11
Ответ #14
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Добрый день,

Вопрос скрытия отображения подкатегории для подкатегории товара. Как реализовать?
Например, в блоке категории есть Категория1>Подкатегория1/1>Подкатегория1/2. Необходимо,чтобы последний child не отображался в блоке категорий.
Начал решать проблему с шаблона category-tree-branch.tpl, наткнулся на то,что в шаблоне четко не указан id для $node.children, идет подключение файла $branche_tpl_path, который я так и не нашел пока:
{if $node.children|@count > 0}
      <ul>
      {foreach from=$node.children item=child name=categoryTreeBranch}
         {if $smarty.foreach.categoryTreeBranch.last}
            {include file="$branche_tpl_path" node=$child last='true'}
         {else}
            {include file="$branche_tpl_path" node=$child last='false'}
         {/if}
      {/foreach}
      </ul>
   {/if}
Подскажите пожалуйста, как можно реализовать такую задачу игде можно файл $branche_tpl_path?