Разделение атрибутов

Тема в разделе "OpenCart", создана пользователем cherkas, 21 апр 2014.

  1. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    451
    Симпатии:
    57
    Здравствуйте, существует задача разделить вывод атрибутов у товара в разные места в карточке товара. Существуют ли какие то готовые решения. Или может у кого то какие то мысли есть по этому поводу?
     
  2. nikfakel

    nikfakel

    Регистрация:
    24 июл 2013
    Сообщения:
    150
    Симпатии:
    33
    Код:
    <?php if ($attribute_groups) { ?>
    <?php foreach ($attribute_groups as $attribute_group) { ?>
    <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
    <?php if ($attribute_group['name'] == "Technical") {; ?>
    <?php echo $attribute['text']; ?>
    Проверяю на соответствие заданному имени атрибута. Если имя атрибута Technical, то выводится текст атрибута technical. Можно засунуть в любое место на сайте.
     
    cherkas нравится это.
  3. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    451
    Симпатии:
    57

    А как сделать, что бы не выводилось дублей? т.е. предположим у меня дефолтный шаблон, есть карточка товара в которой выведены все характеристики, часть характеристик мне нужно перенести в блок №1 там где модель товара, производитель... при этом они не должны повторно выводиться в стандартном блоке атрибутов.


    Был вариант в блоке №1 выводить
    UPC:
    EAN:
    JAN:
    ...
    но так не получается потому, что должны быть именно атрибуты, так как они участвуют в фильтрах.
     
  4. nikfakel

    nikfakel

    Регистрация:
    24 июл 2013
    Сообщения:
    150
    Симпатии:
    33
    а, забыл добавить, что там, где обычно выводятся атрибуты 9в Характеристиках), делаю проверку на то же самое, но, наоборот, не вывожу ненужные атрибуты:
    Код:
      <div id="tab-description" class="tab-content"><?php echo $description; ?></div>
      <?php if ($attribute_groups) { ?>
      <div id="tab-attribute" class="tab-content">
        <table class="attribute">
          <?php foreach ($attribute_groups as $attribute_group) { if ($attribute_group['name'] != "Technical") { if ($attribute_group['name'] != "Служебные") {?>
          <thead>
            <tr>
              <td colspan="2"><?php echo $attribute_group['name']; ?></td>
            </tr>
          </thead>
          <tbody>
            <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
            <tr>
              <td><?php echo $attribute['name']; ?></td>
              <td><?php echo $attribute['text']; ?></td>
            </tr>
         
            <?php } ?>
          </tbody>
        <?php } ?>
        <?php } ?>
        <?php } ?>
        </table>
      </div>
    Знаю, что условия как-то можно сгруппировать в ПХП, но не умею.
     
    cherkas нравится это.
  5. Luxy

    Luxy

    Регистрация:
    24 янв 2013
    Сообщения:
    176
    Симпатии:
    92
    сгруппировать можно оператором switch case смотрите ман