Помощь Вывод характеристик в поле отдельного модуля

  • Автор темы Автор темы Sancho221
  • Дата начала Дата начала

Sancho221

Продвинутый (IV)
Сообщения
64
Реакции
11
Баллы
49
Ребят, подскажите, как вывести характеристики товара в теле отдельного модуля, который показывается в карточке товара.
 
Ребят, подскажите, как вывести характеристики товара в теле отдельного модуля, который показывается в карточке товара.
Нужно более развернутый ответ. Какая версия престы? Какой модуль? Где именно вставить хотите?
 
Нужно более развернутый ответ. Какая версия престы? Какой модуль? Где именно вставить хотите?
Presta 1.6.
Хочу в модуль Extra Product Tabs (настроенный на видимость только для админов) добавить скрытую информацию о товаре из характеристик. Чтоб менеджерам удобно было.
 
Presta 1.6.
Хочу в модуль Extra Product Tabs (настроенный на видимость только для админов) добавить скрытую информацию о товаре из характеристик. Чтоб менеджерам удобно было.
а остальным характеристики будут видны?
 
Для остальных у меня некоторые характеристики скрыты.
Пробовали для начала просто вставить кусок кода из вывода товара?
Код:
{if isset($features) && $features}
            <!-- Data sheet -->
            <section class="page-product-box">
                <h3 class="page-product-heading">{l s='Data sheet'}</h3>
                <table class="table-data-sheet">
                    {foreach from=$features item=feature}
                    <tr class="{cycle values="odd,even"}">
                        {if isset($feature.value)}
                        <td>{$feature.name|escape:'html':'UTF-8'}</td>
                        <td>{$feature.value|escape:'html':'UTF-8'}</td>
                        {/if}
                    </tr>
                    {/foreach}
                </table>
            </section>
            <!--end Data sheet -->
        {/if}
Он отвечает за дефолтный вывод характеристик.
 
Пробовали для начала просто вставить кусок кода из вывода товара?
Код:
{if isset($features) && $features}
            <!-- Data sheet -->
            <section class="page-product-box">
                <h3 class="page-product-heading">{l s='Data sheet'}</h3>
                <table class="table-data-sheet">
                    {foreach from=$features item=feature}
                    <tr class="{cycle values="odd,even"}">
                        {if isset($feature.value)}
                        <td>{$feature.name|escape:'html':'UTF-8'}</td>
                        <td>{$feature.value|escape:'html':'UTF-8'}</td>
                        {/if}
                    </tr>
                    {/foreach}
                </table>
            </section>
            <!--end Data sheet -->
        {/if}
Он отвечает за дефолтный вывод характеристик.
Да, не прокатило.
Мне посоветовали:

Код:
public function getWidgetVariables($hookName = null, array $configuration = [])
{
    $products = $this->getProducts();
    .....
     return array(
                'products' => $products,


Определить переменную шаблона и вывести все свойства товара, но к сожалению не смог разобраться как это сделать.
 
Да, не прокатило.
Мне посоветовали:

Код:
public function getWidgetVariables($hookName = null, array $configuration = [])
{
    $products = $this->getProducts();
    .....
     return array(
                'products' => $products,


Определить переменную шаблона и вывести все свойства товара, но к сожалению не смог разобраться как это сделать.
А не проще тогда вывести это в товаре в отдельном табе(раз так нужно) ну и поставить условие, что видеть могут только те кому вам нужно? (либо по айди групе пользователей, либо другим методом, если вы использовали его). Ведь в товаре оно само подтягивается и работает. Там создать не сложно. Условие поставить тоже.
 
А не проще тогда вывести это в товаре в отдельном табе(раз так нужно) ну и поставить условие, что видеть могут только те кому вам нужно? (либо по айди групе пользователей, либо другим методом, если вы использовали его). Ведь в товаре оно само подтягивается и работает. Там создать не сложно. Условие поставить тоже.
Мне сказали, что такое условие можно поставить только на отдельный модуль.
Если знаете как это можно организовать, сообщите пожалуйста, а то давно уже с этой проблемой бьюсь.
 
Мне сказали, что такое условие можно поставить только на отдельный модуль.
Если знаете как это можно организовать, сообщите пожалуйста, а то давно уже с этой проблемой бьюсь.
Вот теперь нужно видеть сайт. И уточняю такой вопрос. У вас менеджеры видят сайт по другому, так как создана доп группа клиентов - "менеджеры" типа так? Или как то по другому?
 
Вот теперь нужно видеть сайт. И уточняю такой вопрос. У вас менеджеры видят сайт по другому, так как создана доп группа клиентов - "менеджеры" типа так? Или как то по другому?
Да, доп группа для менеджеров есть, создана как раз для этих целей.
fabrikamebelispb . ru
 
Да, доп группа для менеджеров есть, создана как раз для этих целей.
fabrikamebelispb . ru
Код:
{if Group::getCurrent()->id == 4}

        {if isset($features) && $features}
            <!-- Data sheet -->
            <section class="page-product-box">
                <h3 class="page-product-heading">{l s='Data sheet'}</h3>
                <table class="table-data-sheet">
                    {foreach from=$features item=feature}
                    <tr class="{cycle values="odd,even"}">
                        {if isset($feature.value)}
                        <td>{$feature.name|escape:'html':'UTF-8'}</td>
                        <td>{$feature.value|escape:'html':'UTF-8'}</td>
                        {/if}
                    </tr>
                    {/foreach}
                </table>
            </section>
            <!--end Data sheet -->
        {/if}

{/if}
Там йди групы выставь сам в первой строчке. Поидее должно сработать. Будут отображаться все характеристики только нужной группе. Мне конечно не поятно как ты скрыл не нужные от всех. Поидее таким же методом.
 
Спасибо!
Решил мою проблему!
Если кому нужно, вывод одной характеристики

Код:
{if isset($features)}
 <div class="features">
  {foreach from=$features item=feature name=pr_features}
   {if $feature.name == 'Количество элементов в упаковке' }
    <div>
     {$feature.name}: <span>{$feature.value}</span>
    </div>
   {/if}
  {/foreach}
 </div>
{/if}


Закрываю несколько характеристик от показа
Код:
        {if isset($features) && $features}
            <!-- Data sheet -->
            <section class="page-product-box">
                <h3 class="page-product-heading">{l s='Data sheet'}</h3>
                <table class="table-data-sheet">
                    {foreach from=$features item=feature}
                    <tr class="{cycle values="odd,even"}">
                        {if isset($feature.value)}
                                {if $feature.id_feature != 23 && $feature.id_feature != 24 && $feature.id_feature != 25 && $feature.id_feature != 26 && $feature.id_feature != 27} {* Закрыл от показа пять характеристик  *} 
                        <td>{$feature.name|escape:'html':'UTF-8'}</td>
                        <td>{$feature.value|escape:'html':'UTF-8'}</td>
                        {/if}
                                 
                        {/if}
                    </tr>
                    {/foreach}
                </table>
            </section>
            <!--end Data sheet -->
        {/if}
 
Назад
Верх