Перейти к содержанию
abramsDesign

[Решено] Вывод определенных атрибутов

Рекомендуемые сообщения

Здравствуйте!

Делаю магазин на Opencart (ocstore сб.), столкнулся с проблемой вывода элементов на странице товара.

 

Нужно вывести определенные атрибуты в колонке с информацией, с разметкой проблем не возникнет, а вот с самим выводом уже проблемы. Поискав по форуму наткнулся на чем-то похожую тему: https://opencartforum.com/topic/10643-вывод-атрибутов-вместо-описания-в-категориях/ , но проблема в том, что там задача состояла в вывода атрибутов вместо описания, а мне нужно выводить определенную группу атрибутов в определенном месте, то есть к примеру:

 

Мне нужно вывести группу атрибутов под названием: "Тип кожи" и соответственно заполненные значения.

Вопрос: "Как мне вывести именно эту группу атрибутов?".

 

Прикрепляю скрин для более подробного рассмотрения моего вопроса/

 

Спасибо заранее

 

 

post-681765-0-87503800-1396824160_thumb.jpg

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Выходит что так, но нужно не 1, а 3, там на скрине их 3, просто "обрысовал" только 1

 

Запутался сам, в общем результате нужно вывести эти 3 группы (что на скрине), желательно вывод группы атрибутов по имени или id

Поделиться сообщением


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


 $this->data['products'][] = array(

....

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

...


  <table class="attribute">

      <?php foreach ($attribute_groups as $attribute_group) { ?>

   

        <?php foreach ($attribute_group['attribute'] as $attribute) { ?>

                 

<?php if(!in_array($attribute['attribute_id'], array(19, 20, 21, 22))) { ?>

        <tr>

          <td><?php echo $attribute['name']; ?></td>

          <td><?php echo $attribute['text']; ?></td>

        </tr>

   

Поделиться сообщением


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

 $this->data['products'][] = array(
....
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
...
  <table class="attribute">
      <?php foreach ($attribute_groups as $attribute_group) { ?>
   
        <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
                  
<?php if(!in_array($attribute['attribute_id'], array(19, 20, 21, 22))) { ?>

        <tr>
          <td><?php echo $attribute['name']; ?></td>
          <td><?php echo $attribute['text']; ?></td>
        </tr>
   

как я понимаю 1 "кусок" кода нужно где-то в контроллере вставить, а второй в шаблоне?

Можете уточнить пожалуйста

Поделиться сообщением


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

Так нужно вывести в карточке товара?

Поделиться сообщением


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

Так нужно вывести в карточке товара?

Верно, я указал в начале

Поделиться сообщением


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

как я понимаю 1 "кусок" кода нужно где-то в контроллере вставить, а второй в шаблоне?

Можете уточнить пожалуйста

Сейчас попробую

Поделиться сообщением


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

В карточке товара данный кусок уже как в контроллере так и в шаблоне есть.Здесь немного иначе нужно.Например вывести по ID атрибута.

Поделиться сообщением


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

В карточке товара данный кусок уже как в контроллере так и в шаблоне есть.Здесь немного иначе нужно.Например вывести по ID атрибута.

Можете уточнить, или расписать подробно что да как? Думаю людям понадобится, да и тема актуальна.

Я только начинаю изучение MVC так что не силен еще)

Поделиться сообщением


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

Создаём  Группу Атрибутов  и прикрепляем к ней Атрибут ( например Атрибут new-Группа атрибутов  new) 

 

добавляем в шаблон в нужное место 

 

   <!-- =====================Атрибуты NEW==================== -->


         
<?php if ($attribute_groups) { ?>
    <?php foreach ($attribute_groups as $attribute_group) { ?>
        <?php if ($attribute_group['name'] == 'new') { ?>
        <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
          <?php echo html_entity_decode($attribute['text']); ?><br />
        <?php } ?>
      <?php } ?>
    <?php } ?>
  <?php } ?>
   <!-- =====================Атрибут NEW конец==================== -->

Поделиться сообщением


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

 

Создаём  Группу Атрибутов  и прикрепляем к ней Атрибут ( например Атрибут new-Группа атрибутов  new) 

 

добавляем в шаблон в нужное место 

 

   <!-- =====================Атрибуты NEW==================== -->


         
<?php if ($attribute_groups) { ?>
    <?php foreach ($attribute_groups as $attribute_group) { ?>
        <?php if ($attribute_group['name'] == 'new') { ?>
        <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
          <?php echo html_entity_decode($attribute['text']); ?><br />
        <?php } ?>
      <?php } ?>
    <?php } ?>
  <?php } ?>
   <!-- =====================Атрибут NEW конец==================== -->

 

Спасибо, сейчас протестирую

Поделиться сообщением


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

 

Создаём  Группу Атрибутов  и прикрепляем к ней Атрибут ( например Атрибут new-Группа атрибутов  new) 

 

добавляем в шаблон в нужное место 

 

   <!-- =====================Атрибуты NEW==================== -->


         
<?php if ($attribute_groups) { ?>
    <?php foreach ($attribute_groups as $attribute_group) { ?>
        <?php if ($attribute_group['name'] == 'new') { ?>
        <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
          <?php echo html_entity_decode($attribute['text']); ?><br />
        <?php } ?>
      <?php } ?>
    <?php } ?>
  <?php } ?>
   <!-- =====================Атрибут NEW конец==================== -->

 

работает, сегодня планирую ближе к вечеру поставить фильтр, организовать структуру атрибутов и т.д. Как все это проделаю отпишусь здесь, что и как вышло в плане Вашего кода (может быть будут нюансы).

Спасибо большое!

Поделиться сообщением


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

 $this->data['products'][] = array(
....
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
...
  <table class="attribute">
      <?php foreach ($attribute_groups as $attribute_group) { ?>
   
        <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
                  
<?php if(!in_array($attribute['attribute_id'], array(19, 20, 21, 22))) { ?>

        <tr>
          <td><?php echo $attribute['name']; ?></td>
          <td><?php echo $attribute['text']; ?></td>
        </tr>
   

А как вывести в разных столбцах разные определенные атрибуты... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 07.04.2014 в 05:53, Pascha сказал:

<?php if(!in_array($attribute['attribute_id'], array(19, 20, 21, 22))) { ?>

Таким условием у меня выводятся все атрибуты, кроме указанных в массиве. Версия 1.5.6.4

Поделиться сообщением


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

смотрим сюда
 

!in

восклицательный знак считайте как исключение, отсутствие его - разрешение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 16.01.2018 в 00:24, Pascha сказал:

смотрим сюда
 


!in

восклицательный знак считайте как исключение, отсутствие его - разрешение

<?php if(in_array($attribute['attribute_id'], array(52))) { ?>

 

Может я что не так делаю, но у меня проблема с выводом атрибутов. Надо было вывести 2 атрибута.

пишу так:

<?php if(in_array($attribute['attribute_id'], array(52,16))) { ?>

Выводится все равно только один 52, 16 прям ни в какую не хочет выводится. При этом я даже ставил 16,52, все равно выводится только 52. 16 в атрибутах есть, нужный мне артибут, но прям никак не хочет он появляться. При этом если !in указать, то выводятся все атрибуты, включая и 16ый, но если убрать !, то вновь выводится только 52...

 

Почему так может быть!?) Не подскажите!?)

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.