Автор Тема: Как сделать что бы подкатегория была, но не отображалась  (Прочитано 893 раз)

18 Октябрь 2015, 16:18:39
  • Фрилансер
  • *
  • Сообщений: 237
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток) у меня такой вопрос: как сделать что бы подкатегория была, но не отображалась в предыдущей категории?)
Объясняю: у меня интернет магазин, хочу собрать нч трафик и по этому под некоторые запросы хочу сделать отдельные страницы, но они будут узко направленные и их будет очень много, по-этому я не хочу, что бы они отображались как покатегории в предыдущей категории) как мне это сделать? если запихнуть их в корень, то они будут отображаться в блоктопменю, какие есть еще варианты? преста 1.5
18 Октябрь 2015, 16:43:52
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
В шаблоне /themes/default/category.tpl
{if isset($subcategories)}
<!-- Subcategories -->
<div id="subcategories">
<h3>{l s='Subcategories'}</h3>
<ul class="inline_list">
{foreach from=$subcategories item=subcategory}
                                <!-- Исключить показ подкатегорий с ид = 12 -->
                                {if $subcategory.id_category != '12'}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
18 Октябрь 2015, 17:20:50
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 237
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
id категории это и есть id или это то, что в админке называется "позиция"? если id то у меня всего категорий где то 700 и будут появляться еще такие, которые должны быть видимыми. И можно ли  сделать так, что бы с айди >12 они отображались по другому, например в строчку по-порядку?)
18 Октябрь 2015, 19:11:24
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
id_category - это номер id категории, не позиция.
Можете устанвливать любые условия
IF $subcategory.id_category > или < или ==
то один шаблон
ELSEIF $subcategory.id_category !=
не показыват
ELSE
другой
19 Октябрь 2015, 01:33:45
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 237
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
кажется понял..но ничего страшного если код будет выглядеть очень большим? у меня категорий примерно 500 придется исключать письменно, и нельзя ли это написать как то от и до?)

629-830 и 833-900 типо того
19 Октябрь 2015, 10:17:39
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Можно составлять сравнение по разному
{if $subcategory.id_category > 629 || $subcategory.id_category <  830}или
{if $subcategory.id_category > 629  && ($subcategory.id_category > 830 || ($subcategory.id_category <  1000)}
19 Октябрь 2015, 17:45:34
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 237
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{if $subcategory.id_category > 629 || $subcategory.id_category <  830} так просто не работает, а так страница перестает загружаться {foreach from=$subcategories item=subcategory}
<!-- Исключить показ подкатегорий с ид = 12 -->
                               {if $subcategory.id_category > 629  && ($subcategory.id_category > 830 || ($subcategory.id_category )}
<li class="clearfix">

<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" class="cat_name"><span>{$subcategory.name|escape:'htmlall':'UTF-8'}</span></a>
{if $subcategory.description}
<p class="cat_desc"></p>
{/if}
</li>
{/if}
{/foreach}

может как то не так?
19 Октябрь 2015, 18:15:40
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Точное условие, которое вы хотите создать. То что вы пишите не имеет смысла, поэтому не работает.
20 Октябрь 2015, 21:56:57
Ответ #8
  • Фрилансер
  • *
  • Сообщений: 237
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
21 Октябрь 2015, 11:09:23
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
21 Октябрь 2015, 11:14:34
Ответ #10
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вы должны четко определить условия показа. Так как под ваш пример "629-830 и 833-900 типо того" нельзя написать условия.

{if $subcategory.id_category > 629  && ($subcategory.id_category > 830 || ($subcategory.id_category )}Это условие разрешает показ всех под-категорий > 629. Т.е его можно было и не добавлять. Потому что
$subcategory.id_categoryвернет "да" и все подкатегории будут показанны.
21 Октябрь 2015, 16:57:39
Ответ #11
  • Фрилансер
  • *
  • Сообщений: 237
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ничего не понимаю, объясните, пожалуйста по подробнее? Что тут не четкого? Мне нужно убрать все категории с виду от 629 до 830
21 Октябрь 2015, 17:21:08
Ответ #12
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
21 Октябрь 2015, 17:44:11
Ответ #13
  • Фрилансер
  • *
  • Сообщений: 237
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
спасибо!) знаки просто надо было поставить другие)
а если я хочу 831 сделать открытую, а дальше опять закрыть от 832-840 то так?
{if $subcategory.id_category < 629 || $subcategory.id_category > 830}
{if $subcategory.id_category < 832 || $subcategory.id_category > 840}
22 Октябрь 2015, 09:44:17
Ответ #14
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля