@andizura

Почему скрипт PHP выполняется один раз?

Здравствуйте! Почему скрипт срабатывает только один раз?
На каждый товар должна передаваться акционный тип цены, если акция есть.
Передаётся только на первый товар.
$date = date('Y-m-d');
            $always = '0000-00-00';
            $specials = $this->productsRepository->getProductSpecials($product['product_id']);

            if (!empty($specials)) {
                $customer = $this->customerRepository->getCustomer($this->order_data['customer_id']);

                foreach ($specials as $special) {
                    if (($special['date_start'] == $always && $special['date_end'] == $always)
                        || ($special['date_start'] <= $date && $special['date_end'] >= $date)
                    ) {
                        if ((isset($priority) && $priority > $special['priority'])
                            || !isset($priority)) {
                            if (empty($customer['customer_group_id'])) {
                                continue;
                            }

                            $specialSetting = $this->settingsManager->getSetting('special_' . $customer['customer_group_id']);
                            if ($special['customer_group_id'] == $customer['customer_group_id'] && !empty($specialSetting)) {
                                $item['priceType']['code'] = $specialSetting;
                                $priority = $special['priority'];
                            }
                        }
                    }
                }
            }

            if (isset($properties)) $item['properties'] = $properties;

            $this->data['items'][] = $item;


Вот полный файл - https://github.com/retailcrm/opencart-module/blob/...
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Если $item это товар, то во первых у вас не первый товар с ценой будет, а последний, и во вторых по тому что вы делаете присвоение после цикла, а не внутри.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы