Сообщение #6 trainracing » 13.02.2019, 10:51
OkayCMS писал(а):Не до конца понял. URL же у всех свойств есть.
отвечу сразу всем, я пытаюсь сделать вывод не всех свойств, которые есть в товарах, а вывод значений только тех свойств, у которых стоит (активен чекбокс) "Ссылка на фильтр в товаре"
Если вывести все свойства, то там будут и те, у которых активна ссылка и те у которых не активна.
Я то хочу вывести со ссылкой на url этого свойства
Например у нас 10 товаров, и всего в системе имеется напр 8 свойств с активными ссылками типа "цвет, размер, ткань"
Соответственно
у нах имеются такие урл как:
Код: Выделить всё
<a href="site.ru/../tsvet-white">белый</a>
<a href="site.ru/../tsvet-black">черный</a>
<a href="site.ru/../tkan-satin">сатин</a>
и тд
И вот все урлы которые есть у товаров этой категории, мне нужно вывести в списке товаров на странице категории
Вот как это можно сделать?)
p.s. как я понял, если свойству дать Ссылка на фильтр в товаре и "в фильтре"
то оно будет отображаться по такой конструкции:
Код: Выделить всё
{foreach $f->options as $o}
<div class="tegi">
{$furl = {furl params=[$f->url=>$o->translit, page=>null]}}
<a class="{if $link_tag=='span'} fn_filter_link{/if}" href="{$furl}">
<span>{$o->value|escape}</span>
</a>
</div>
{/foreach}
Но некоторые мне не нужно захламлять фильтр и не надо, чтобы некоторые свойства были в фильтре, а если указать что свойство не в фильтре, то свойству не присваевается урл в карточке товара и не выводится в списке товаров(((
Добавлено спустя 53 минуты 50 секунд:Нашел решение)))
в features.tpl такой код:
Код: Выделить всё
{* Features filter *}
{if $features}
{foreach $features as $key=>$f}
{if $f->id !=75}
{* Feature name *}
<div class="h2 filter_name" data-feature="{$f->id}">{$f->name|escape}</div>
<div class="filter_group">
{* Display all features *}
<div class="filter_item">
{$furl = {furl params=[$f->url=>null, page=>null]}}
<{$link_tag} class="filter_link{if $link_tag=='span'} fn_filter_link{/if}{if !$smarty.get.$key} checked{/if}" href="{$furl}">
<i class="filter_indicator"></i>
<span data-language="features_all">{$lang->features_all}</span>
</{$link_tag}>
</div>
{* Feture value *}
{foreach $f->options as $o}
<div class="filter_item">
{$furl = {furl params=[$f->url=>$o->translit, page=>null]}}
<{$link_tag} class="filter_link{if $link_tag=='span'} fn_filter_link{/if}{if $smarty.get.{$f@key} && in_array($o->translit,$smarty.get.{$f@key})} checked{/if}" href="{$furl}">
<i class="filter_indicator"></i>
<span>{$o->value|escape}</span>
</{$link_tag}>
</div>
{/foreach}
</div>
{/if}
{/foreach}
{/if}
А в products_content.tpl такой:
Код: Выделить всё
{if $features}
{foreach $features as $key=>$f}
<div class="filter_group">
{* Feture value *}
{foreach $f->options as $o}
<div class="tegi">
{$furl = {furl params=[$f->url=>$o->translit, page=>null]}}
<a class="{if $link_tag=='span'} fn_filter_link{/if}" href="{$furl}">
<span>{$o->value|escape}</span>
</a>
</div>
{/foreach}
</div>
{/foreach}
{/if}
супер-костыль 2019
[quote="OkayCMS"]Не до конца понял. URL же у всех свойств есть.[/quote]
отвечу сразу всем, я пытаюсь сделать вывод не всех свойств, которые есть в товарах, а вывод значений только тех свойств, у которых стоит (активен чекбокс) "Ссылка на фильтр в товаре"
Если вывести все свойства, то там будут и те, у которых активна ссылка и те у которых не активна.
Я то хочу вывести со ссылкой на url этого свойства
Например у нас 10 товаров, и всего в системе имеется напр 8 свойств с активными ссылками типа "цвет, размер, ткань"
Соответственно
у нах имеются такие урл как:
[code]<a href="site.ru/../tsvet-white">белый</a>
<a href="site.ru/../tsvet-black">черный</a>
<a href="site.ru/../tkan-satin">сатин</a>
и тд[/code]
И вот все урлы которые есть у товаров этой категории, мне нужно вывести в списке товаров на странице категории
Вот как это можно сделать?)
p.s. как я понял, если свойству дать Ссылка на фильтр в товаре и "в фильтре"
то оно будет отображаться по такой конструкции:
[code] {foreach $f->options as $o}
<div class="tegi">
{$furl = {furl params=[$f->url=>$o->translit, page=>null]}}
<a class="{if $link_tag=='span'} fn_filter_link{/if}" href="{$furl}">
<span>{$o->value|escape}</span>
</a>
</div>
{/foreach}[/code]
Но некоторые мне не нужно захламлять фильтр и не надо, чтобы некоторые свойства были в фильтре, а если указать что свойство не в фильтре, то свойству не присваевается урл в карточке товара и не выводится в списке товаров(((
Нашел решение)))
в features.tpl такой код:
[code] {* Features filter *}
{if $features}
{foreach $features as $key=>$f}
{if $f->id !=75}
{* Feature name *}
<div class="h2 filter_name" data-feature="{$f->id}">{$f->name|escape}</div>
<div class="filter_group">
{* Display all features *}
<div class="filter_item">
{$furl = {furl params=[$f->url=>null, page=>null]}}
<{$link_tag} class="filter_link{if $link_tag=='span'} fn_filter_link{/if}{if !$smarty.get.$key} checked{/if}" href="{$furl}">
<i class="filter_indicator"></i>
<span data-language="features_all">{$lang->features_all}</span>
</{$link_tag}>
</div>
{* Feture value *}
{foreach $f->options as $o}
<div class="filter_item">
{$furl = {furl params=[$f->url=>$o->translit, page=>null]}}
<{$link_tag} class="filter_link{if $link_tag=='span'} fn_filter_link{/if}{if $smarty.get.{$f@key} && in_array($o->translit,$smarty.get.{$f@key})} checked{/if}" href="{$furl}">
<i class="filter_indicator"></i>
<span>{$o->value|escape}</span>
</{$link_tag}>
</div>
{/foreach}
</div>
{/if}
{/foreach}
{/if}[/code]
А в products_content.tpl такой:
[code]{if $features}
{foreach $features as $key=>$f}
<div class="filter_group">
{* Feture value *}
{foreach $f->options as $o}
<div class="tegi">
{$furl = {furl params=[$f->url=>$o->translit, page=>null]}}
<a class="{if $link_tag=='span'} fn_filter_link{/if}" href="{$furl}">
<span>{$o->value|escape}</span>
</a>
</div>
{/foreach}
</div>
{/foreach}
{/if}[/code]
[i]супер-костыль 2019[/i]