Как скрыть категорию в блоке
gero
Новичок
: 23
: Москва
: 24-08-2012


04-09-2013 00:04
Как скрыть нужную мне категорию в левом блоке.
Версия 1.5.4
Если вношу изменения с

<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|escape:'htmlall':'UTF-8'}" style="background:none;padding-left:7px">{$node.name|escape:'htmlall':'UTF-8'}</a>

</li>

на

<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} {if ($node.id == '275' || $node.id == '280'}style="display: none"{/if} title="{$node.desc|escape:'htmlall':'UTF-8'}" style="background:none;padding-left:7px">{$node.name|escape:'htmlall':'UTF-8'}</a>

</li>

или на

<li {if isset($last) && $last == 'true'}class="last"{/if}>
{if $node.id != 280}
<a href="{$node.link|escape:'htmlall':'UTF-8'}" {if isset($currentCategoryId) && $node.id == $currentCategoryId}class="selected"{/if} {if $node.id != 280 {/if} title="{$node.desc|escape:'htmlall':'UTF-8'}" style="background:none;padding-left:7px">{$node.name|escape:'htmlall':'UTF-8'}</a>

</li>
</if>

вылезает вот эта ошибка

Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template &quot;/var/www/u1368230/data/www/shopthule.ru/themes/default/modules/blockcategories/category-tree-branch.tpl&quot; on line 28 &quot;&amp;lt;a href=&amp;quot;{$node.link|escape:'htmlall':'UTF-8'}&amp;quot; {if isset($currentCategoryId) &amp;amp;&amp;amp; $node.id == $currentCategoryId}clasamp;quot;selected&amp;quot;{/if} {if ($node.id == '275' || $node.id == '280'}style=&amp;quot;display: none&amp;quot;{/if} title=&amp;quot;{$node.desc|escape:'htmlall':'UTF-8'}&amp;quot; style=&amp;quot;background:none;padding-left:7px&amp;quot;&amp;gt;{$node.name|escape:'htmlall':'UTF-8'}&amp;lt;/a&amp;gt;&quot; - Unexpected &quot;}&quot;' in /var/www/u1368230/data/www/shopthule.ru/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php:665 Stack trace: #0 /var/www/u1368230/data/www/shopthule.ru/tools/smarty/sysplugins/smarty_internal_templateparser.php(3144): Smarty_Internal_TemplateCompilerBase->trigger_template_error() #1 /va in /var/www/u1368230/data/www/shopthule.ru/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 665


Помогите товарищи.
 
  
Triton63


Профессионал
: 886
: Оренбург
: 28-05-2011


26-11-2014 15:55
Цитата:( gero @ 03-09-2013 22:04 Смотреть сообщение )

на

<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} {if ($node.id == '275' || $node.id == '280'}style="display: none"{/if} title="{$node.desc|escape:'htmlall':'UTF-8'}" style="background:none;padding-left:7px">{$node.name|escape:'htmlall':'UTF-8'}</a>

</li>

или на

<li {if isset($last) && $last == 'true'}class="last"{/if}>
{if $node.id != 280}
<a href="{$node.link|escape:'htmlall':'UTF-8'}" {if isset($currentCategoryId) && $node.id == $currentCategoryId}class="selected"{/if} {if $node.id != 280 {/if} title="{$node.desc|escape:'htmlall':'UTF-8'}" style="background:none;padding-left:7px">{$node.name|escape:'htmlall':'UTF-8'}</a>

</li>
</if>


В первом случае лишняя скобка, лучше так {if $node.id == '275' || $node.id == '280'}style="display: none"{/if}
Во втором вообще не о чем, типа, если это категория с id 280 то запретить...... и не дописав бросили
Код:
{if $node.id != 280 {/if}
 



Интернет-магазин ионизатор воздуха ЭкоЮнит: Лампа Чижевского
shop.aeroion.ru
-------------------------------------------------------------------------------
  
Алекс


Администратор
: 4516
: Красноярск
: 29-05-2009


26-11-2014 17:40
Открыть файл /themes/default/modules/blockcategories/category-tree-branch.tpl и добавить условие
{if $node.id != 4}что-то здесь{/if}
4 - ID категории.

пример на стандартном category-tree-branch.tpl
Код:
<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 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}
</li>


заменить на:
Код:
<li {if isset($last) && $last == 'true'}class="last"{/if}>
    {if $node.id != 4}
    <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}
    {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}
</li>


И очистить кеш smarty.