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

Sancho221

Продвинутый (IV)
Сообщения
64
Симпатии
11
Баллы
49
Ребят, подскажите, как вывести характеристики товара в теле отдельного модуля, который показывается в карточке товара.
 

Mc_max

Разрушитель (V)
Сообщения
40
Симпатии
20
Баллы
49
Ребят, подскажите, как вывести характеристики товара в теле отдельного модуля, который показывается в карточке товара.
Нужно более развернутый ответ. Какая версия престы? Какой модуль? Где именно вставить хотите?
 

Sancho221

Продвинутый (IV)
Сообщения
64
Симпатии
11
Баллы
49
Нужно более развернутый ответ. Какая версия престы? Какой модуль? Где именно вставить хотите?
Presta 1.6.
Хочу в модуль Extra Product Tabs (настроенный на видимость только для админов) добавить скрытую информацию о товаре из характеристик. Чтоб менеджерам удобно было.
 

Mc_max

Разрушитель (V)
Сообщения
40
Симпатии
20
Баллы
49
Presta 1.6.
Хочу в модуль Extra Product Tabs (настроенный на видимость только для админов) добавить скрытую информацию о товаре из характеристик. Чтоб менеджерам удобно было.
а остальным характеристики будут видны?
 

Mc_max

Разрушитель (V)
Сообщения
40
Симпатии
20
Баллы
49
Для остальных у меня некоторые характеристики скрыты.
Пробовали для начала просто вставить кусок кода из вывода товара?
Код:
{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}
Он отвечает за дефолтный вывод характеристик.
 

Sancho221

Продвинутый (IV)
Сообщения
64
Симпатии
11
Баллы
49
Пробовали для начала просто вставить кусок кода из вывода товара?
Код:
{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,


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

Mc_max

Разрушитель (V)
Сообщения
40
Симпатии
20
Баллы
49
Да, не прокатило.
Мне посоветовали:

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


Определить переменную шаблона и вывести все свойства товара, но к сожалению не смог разобраться как это сделать.
А не проще тогда вывести это в товаре в отдельном табе(раз так нужно) ну и поставить условие, что видеть могут только те кому вам нужно? (либо по айди групе пользователей, либо другим методом, если вы использовали его). Ведь в товаре оно само подтягивается и работает. Там создать не сложно. Условие поставить тоже.
 

Sancho221

Продвинутый (IV)
Сообщения
64
Симпатии
11
Баллы
49
А не проще тогда вывести это в товаре в отдельном табе(раз так нужно) ну и поставить условие, что видеть могут только те кому вам нужно? (либо по айди групе пользователей, либо другим методом, если вы использовали его). Ведь в товаре оно само подтягивается и работает. Там создать не сложно. Условие поставить тоже.
Мне сказали, что такое условие можно поставить только на отдельный модуль.
Если знаете как это можно организовать, сообщите пожалуйста, а то давно уже с этой проблемой бьюсь.
 

Mc_max

Разрушитель (V)
Сообщения
40
Симпатии
20
Баллы
49
Мне сказали, что такое условие можно поставить только на отдельный модуль.
Если знаете как это можно организовать, сообщите пожалуйста, а то давно уже с этой проблемой бьюсь.
Вот теперь нужно видеть сайт. И уточняю такой вопрос. У вас менеджеры видят сайт по другому, так как создана доп группа клиентов - "менеджеры" типа так? Или как то по другому?
 

Sancho221

Продвинутый (IV)
Сообщения
64
Симпатии
11
Баллы
49
Вот теперь нужно видеть сайт. И уточняю такой вопрос. У вас менеджеры видят сайт по другому, так как создана доп группа клиентов - "менеджеры" типа так? Или как то по другому?
Да, доп группа для менеджеров есть, создана как раз для этих целей.
fabrikamebelispb . ru
 

Mc_max

Разрушитель (V)
Сообщения
40
Симпатии
20
Баллы
49
Да, доп группа для менеджеров есть, создана как раз для этих целей.
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}
Там йди групы выставь сам в первой строчке. Поидее должно сработать. Будут отображаться все характеристики только нужной группе. Мне конечно не поятно как ты скрыл не нужные от всех. Поидее таким же методом.
 

Sancho221

Продвинутый (IV)
Сообщения
64
Симпатии
11
Баллы
49
Спасибо!
Решил мою проблему!
Если кому нужно, вывод одной характеристики

Код:
{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}
 
Верх