Помощь Характеристики товара ссылкой

Phnataly

Создатель
Регистрация
22 Июн 2017
Сообщения
55
Реакции
56
Есть характеристика одежды -Коллекция: Армани, Гуччи и т.д. При нажатии на название коллекции в карточке товара, сделать переход на страницу со всеми товарами из этой коллекции.
 
а если брендами сделать, там уже ссылка есть в стандартном функционале
 
а если брендами сделать, там уже ссылка есть в стандартном функционале
Бренды мне не нужны. Зачем, если например над сделать не только коллекцию кликабельной, но например и размеры или цвет в таблице характеристик. При клике переходит на страницу с товарами такого параметра. Модуль многоуровневой навигации на сайте включен.
 
Есть характеристика одежды -Коллекция: Армани, Гуччи и т.д. При нажатии на название коллекции в карточке товара, сделать переход на страницу со всеми товарами из этой коллекции.

я бы так не делал

так как если сделать все характеристики кликабельными, типа как в 2010 году тэги делали
это сегодня серьёзно запутает поисковых роботов и размажет вес карточек товара по всему сайту
 
в этом случае надо добавить поле ссылка в админке где характеристика создаётся, в фильтре создать страницы и ссылку добавлять в это поле, соответственно сделать вывод во фронте если прям очень надо такой функционал
 
Есть характеристика одежды -Коллекция: Армани, Гуччи и т.д. При нажатии на название коллекции в карточке товара, сделать переход на страницу со всеми товарами из этой коллекции.

Код:
{if isset($features) && $features}
    <section class="page-product-box">
        <table class="table-data-sheet">
            {foreach from=$features item=feature}
                <tr class="{cycle values="odd,even"}">
                    {if isset($feature.value)}
                        {if $feature.name eq "URL"}
                            <td>{$feature.name|escape:'html':'UTF-8'}</td>
                            <td><a href="{$feature.value|escape:'html':'UTF-8'}" target="_blank">{$feature.value|escape:'html':'UTF-8'}</a></td>
                        {else}
                            <td>{$feature.name|escape:'html':'UTF-8'}</td>
                            <td>{$feature.value|escape:'html':'UTF-8'}</td>
                        {/if}
                    {/if}
                </tr>
            {/foreach}
        </table>
    </section>
{/if}


я бы так не делал

так как если сделать все характеристики кликабельными, типа как в 2010 году тэги делали
это сегодня серьёзно запутает поисковых роботов и размажет вес карточек товара по всему сайту

Индексирование можно запретить в robots.txt
 
Последнее редактирование модератором:
'._DB_PREFIX_.'feature f ON (fv.id_feature
наверное здесь f.id_feature должно быть
 
Код:
if (!Feature::isFeatureActive())
            return array();
        if (!array_key_exists($id_product.'-'.$id_lang, self::$_frontFeaturesCache))
        {
            self::$_frontFeaturesCache[$id_product.'-'.$id_lang] = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
                SELECT name, value, pf.id_feature,pf.id_feature_value, lifvl.url_name AS value_url_name,lifl.url_name AS name_url_name
                FROM '._DB_PREFIX_.'feature_product pf
                LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.(int)$id_lang.')
                LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.(int)$id_lang.')              
                LEFT JOIN '._DB_PREFIX_.'feature f ON (f.id_feature = pf.id_feature AND fl.id_lang = '.(int)$id_lang.')
                LEFT JOIN '._DB_PREFIX_.'feature_value fv ON (fv.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.(int)$id_lang.')    
                LEFT JOIN '._DB_PREFIX_.'layered_indexable_feature_lang_value lifl ON (f.id_feature = lifl.id_feature AND lifl.id_lang = '.(int)$id_lang.')  
                LEFT JOIN '._DB_PREFIX_.'layered_indexable_feature_value_lang_value lifvl ON (fv.id_feature_value = lifvl.id_feature_value AND lifvl.id_lang = '.(int)$id_lang.')
                '.Shop::addSqlAssociation('feature', 'f').Shop::addSqlAssociation('feature_value', 'fv').'
                WHERE pf.id_product = '.(int)$id_product.'
                ORDER BY f.position ASC'
            );
        }
        return self::$_frontFeaturesCache[$id_product.'-'.$id_lang];
Сейчас ошибок нет.
Задача стоит дотянуться до url значения характеристики, я не могу решить, только до url имени дотягиваюсь

Не знаю, сегодня всё вывелось
 
Последнее редактирование модератором:
Назад
Сверху