Как сделать что бы подкатегория была, но не отображалась

Автор murd0c, 18 октября 2015, 16:18:39

« назад - далее »

murd0c

Доброго времени суток) у меня такой вопрос: как сделать что бы подкатегория была, но не отображалась в предыдущей категории?)
Объясняю: у меня интернет магазин, хочу собрать нч трафик и по этому под некоторые запросы хочу сделать отдельные страницы, но они будут узко направленные и их будет очень много, по-этому я не хочу, что бы они отображались как покатегории в предыдущей категории) как мне это сделать? если запихнуть их в корень, то они будут отображаться в блоктопменю, какие есть еще варианты? преста 1.5

mAgency

В шаблоне /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 ?
Решение всех Ваших вопросов в создании Интернет-магазина.

murd0c

#2
id категории это и есть id или это то, что в админке называется "позиция"? если id то у меня всего категорий где то 700 и будут появляться еще такие, которые должны быть видимыми. И можно ли  сделать так, что бы с айди >12 они отображались по другому, например в строчку по-порядку?)

Adik

id_category - это номер id категории, не позиция.
Можете устанвливать любые условия
IF $subcategory.id_category > или < или ==
то один шаблон
ELSEIF $subcategory.id_category !=
не показыват
ELSE
другой

murd0c

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

629-830 и 833-900 типо того

coder

#5
Можно составлять сравнение по разному
{if $subcategory.id_category > 629 || $subcategory.id_category <  830}
или
{if $subcategory.id_category > 629  && ($subcategory.id_category > 830 || ($subcategory.id_category <  1000)}

murd0c

{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}


может как то не так?

DarinSr

Точное условие, которое вы хотите создать. То что вы пишите не имеет смысла, поэтому не работает.

murd0c


mistral


DarinSr

#10
Вы должны четко определить условия показа. Так как под ваш пример "629-830 и 833-900 типо того" нельзя написать условия.

{if $subcategory.id_category > 629  && ($subcategory.id_category > 830 || ($subcategory.id_category )}
Это условие разрешает показ всех под-категорий > 629. Т.е его можно было и не добавлять. Потому что
$subcategory.id_category
вернет "да" и все подкатегории будут показанны.

murd0c

Ничего не понимаю, объясните, пожалуйста по подробнее? Что тут не четкого? Мне нужно убрать все категории с виду от 629 до 830

DarinSr


murd0c

спасибо!) знаки просто надо было поставить другие)
а если я хочу 831 сделать открытую, а дальше опять закрыть от 832-840 то так?
{if $subcategory.id_category < 629 || $subcategory.id_category > 830}
{if $subcategory.id_category < 832 || $subcategory.id_category > 840}

DarinSr