Magento сгруппировал продукты по ценам на уровне

magento.stackexchange https://magento.stackexchange.com/questions/1286

  •  16-10-2019
  •  | 
  •  

Вопрос

Я создал групповой продукт с двумя простыми продуктами. У вас простой продукт имеет уровень ценообразования. Например,

Simple product -1: tier pricing : Qty   Price
                                   2     100
                                   3      75
                                   5      60

Simple product -2: tier pricing:  Qty   Price
                                   2     110
                                   3      80


<?php if ($_hasAssociatedProducts): ?>
    <?php foreach ($_associatedProducts as $_items): ?> 
        <?php $_items->setData('tier_price',null); ?>
        <?php $_tierPrices = $this->getTierPrices($_items); ?>
            <?php foreach ($_tierPrices as $key => $value): ?>
                <th><?php echo $value['price_qty']; ?></th>
            <?php endforeach; ?>
    <?php endforeach; ?>
<?php endif; ?>

Приведенный выше код возвращает все QUTY 2 3 5 2 3. Как мне удалить повторяющиеся значения «Qty» и показать только уникальные значения?

Это было полезно?

Решение

Комментарий @Pspahn верен. array_unique() удалит дубликаты. В примере вашего кода это можно использовать так:

<?php if ($_hasAssociatedProducts): ?>
    <?php $qtys = array(); 
          foreach ($_associatedProducts as $_items): ?> 
        <?php $_items->setData('tier_price',null); ?>
        <?php $_tierPrices = $this->getTierPrices($_items); ?>
            <?php foreach ($_tierPrices as $key => $value): ?>
                <?php $qtys[] = $value['price_qty']; ?>
            <?php endforeach; ?>
    <?php endforeach;
          array_unique($qtys); ?>
    <?php for ($i=0;$i<count($qtys);$i++): ?>
        <th><?php echo $qtys[$i]; ?></th>
    <?php endfor; ?>
<?php endif; ?>

Это выведет 2 3 5 на основе вашего примера.

Вы просто хотели показать только такие количества?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top