COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Как вывести характеристики товара по id в любом месте карточки товара


Recommended Posts

Здравствуйте! Подскажите пожалуйста, как вывести некоторые из характеристик товара к примеру по их id в каком нибудь месте карточки товара?

К примеру как я сделал с товарами в категорий вместо краткого описания вывел некоторые характеристики по их id.

 

В контроллер category.php  после  

 

$data['products'][] = array(

 

Добавил:

 

'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),

 

И вместо <?php echo $product['description']; ?>  в шаблоне категорий там где выводится краткое описание товара добавил это:

 

<div class="Ваш класс">
            <?php if ($product['attribute_groups']) { ?>
            <?php foreach ($product['attribute_groups'] as $attribute_group) { ?>
            <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
            <?php if(in_array($attribute['attribute_id'], array(23,24,26,19,33,35,34,52,55,51,37,36,39,18,20))) { ?>
            <?php echo $attribute['name']; ?>:
            <?php echo $attribute['text']; ?>

            <br />
            <?php }?>
            <?php }?>
            <?php } ?>
            <?php } ?>
            </div>

 

Где 23,24,26,19,33,35,34,52,55,51.......  список id необходимых характеристик.

 

Как это реализовать в карточке товара? Хочу некоторые из них вывести вверху карточки как основные и возле поставить ссылку на подробные характеристки.

Ссылка на комментарий
Поделиться на других сайтах

  • RHCk changed the title to Как вывести характеристики товара по id в любом месте карточки товара

Если так, то работает, прописывать через or на разных языках и общие атрибуты для всех товаров.

 

Скрытый текст

            <?php if ($attribute_groups) { ?>
            <div class="tab-pane" id="tab-specification">
              <table class="table table-bordered">
                <?php foreach ($attribute_groups as $attribute_group) { ?>
                <thead>
                  <tr>
            <?php if ($attribute_group['name'] == 'Процессор' or $attribute_group['name'] == 'Processor') { ?>
                    <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td>
                <?php } ?>
                  </tr>
                </thead>
                <tbody>
                  <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
                  <tr>
            <?php if ($attribute['name'] == 'Количество ядер' or $attribute['name'] == 'No. of Cores') { ?>
                    <td><?php echo $attribute['name']; ?></td>
                    <td><?php echo $attribute['text']; ?></td>
                <?php } ?>
                  </tr>
                  <?php } ?>
                </tbody>
                <?php } ?>
              </table>
            </div>
            <?php } ?>


А ссылку по примеру "написать отзыв" сделаете.

Ссылка на комментарий
Поделиться на других сайтах

3 часа назад, nikifalex сказал:

практически точно так же. в чем проблема то?

Доброго дня! Да понимаю что точно также, но чего то туплю, не могу правильно переменную в контроллер написать и самое главное куда. В PHP слаб.

Приблизительно понимаю что надо 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),   в контроллер продукта добавить но куда правильно не пойму. И в карточку товара получается надо правильно эту переменную вывести. Если не сложно может подскажете?

Ссылка на комментарий
Поделиться на других сайтах

С этим понятно $data['attribute_groups'] => $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);

 

а вот с $attribute_groups  не очень, понимаю что это вывод переменной так и выводить?

<div class="Ваш класс">
            <?php if ($product['attribute_groups']) { ?>
            <?php foreach ($product['attribute_groups'] as $attribute_group) { ?>
            <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
            <?php if(in_array($attribute['attribute_id'], array(23,24,26,19,33,35,34,52,55,51,37,36,39,18,20))) { ?>
            <?php echo $attribute['name']; ?>:
            <?php echo $attribute['text']; ?>

            <br />
            <?php }?>
            <?php }?>
            <?php } ?>
            <?php } ?>
            </div>

 

Ссылка на комментарий
Поделиться на других сайтах

я вам написал

20 минут назад, nikifalex сказал:

и потом  $attribute_groups в шаблоне

Но вы не читаете и пишете

13 минуты назад, Adems сказал:

<?php if ($product['attribute_groups']) { ?>

поэтому я не могу чем-то вам помочь.

Ссылка на комментарий
Поделиться на других сайтах

6 минут назад, nikifalex сказал:

я вам написал

Но вы не читаете и пишете

поэтому я не могу чем-то вам помочь.

Я всё прочитал, я не разбираюсь в пхп, после добавления в контроллер продукта $data['attribute_groups'] => $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);

белый экран.

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, Adems сказал:

Я всё прочитал, я не разбираюсь в пхп, после добавления в контроллер продукта $data['attribute_groups'] => $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);

белый экран.

 

В контроллере вам ничего не нужно добавлять.

Вам нужно так записать:

Скрытый текст

          <div class="Ваш класс">
            <?php if ($attribute_groups) { ?>
            <?php foreach ($attribute_groups as $attribute_group) { ?>
                  <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
            <?php if(in_array($attribute['attribute_id'], array(23,24,26,19,33,35,34,52,55,51,37,36,39,18,20))) { ?>
            <?php echo $attribute['name']; ?>:
            <?php echo $attribute['text']; ?>
            <br />
            <?php } ?>
            <?php } ?>
            <?php } ?>
            <?php } ?>
            </div>

 

Ссылка на комментарий
Поделиться на других сайтах

9 часов назад, nikifalex сказал:

$data[''attribute_groups'] => $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);

 

и потом  $attribute_groups в шаблоне

Спасибо!

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу