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

Sancho221

Созидатель
Сообщения
16
Симпатии
3
Баллы
88
Ребят, подскажите, как вывести характеристики товара в теле отдельного модуля, который показывается в карточке товара.
 

Mc_max

Созидатель
Сообщения
22
Симпатии
13
Баллы
92
Ребят, подскажите, как вывести характеристики товара в теле отдельного модуля, который показывается в карточке товара.
Нужно более развернутый ответ. Какая версия престы? Какой модуль? Где именно вставить хотите?
 

Sancho221

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

Mc_max

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

Mc_max

Созидатель
Сообщения
22
Симпатии
13
Баллы
92
Для остальных у меня некоторые характеристики скрыты.
Пробовали для начала просто вставить кусок кода из вывода товара?
Код:
{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

Созидатель
Сообщения
16
Симпатии
3
Баллы
88
Пробовали для начала просто вставить кусок кода из вывода товара?
Код:
{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

Созидатель
Сообщения
22
Симпатии
13
Баллы
92
Да, не прокатило.
Мне посоветовали:

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


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

Sancho221

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

Mc_max

Созидатель
Сообщения
22
Симпатии
13
Баллы
92
Мне сказали, что такое условие можно поставить только на отдельный модуль.
Если знаете как это можно организовать, сообщите пожалуйста, а то давно уже с этой проблемой бьюсь.
Вот теперь нужно видеть сайт. И уточняю такой вопрос. У вас менеджеры видят сайт по другому, так как создана доп группа клиентов - "менеджеры" типа так? Или как то по другому?
 

Sancho221

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

Mc_max

Созидатель
Сообщения
22
Симпатии
13
Баллы
92
Да, доп группа для менеджеров есть, создана как раз для этих целей.
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

Созидатель
Сообщения
16
Симпатии
3
Баллы
88
Спасибо!
Решил мою проблему!
Если кому нужно, вывод одной характеристики

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