Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

OccStore 2.3 не могу перенести переменную из product.php в manufacturer.php


munhgauzen

Recommended Posts

OccStore 2.3 не могу перенести переменную из product.php  в manufacturer.php

Для правильного отображения цен на опции товара необходимо значение переменной $price из product.php  перенксти лтбо получить в контроллере  manufacturer.php

Вот массив из product.php

 

    $data['options'] = array();

            foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) {
                $product_option_value_data = array();

                foreach ($option['product_option_value'] as $option_value) {
                    if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) {
                        if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
                            $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);
                            //only + prefics
                            $price_calc = $this->currency->format($this->tax->calculate($option_value['price']+$product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);
                        } else {
                            $price = false;
                            $price_calc = $data['price'];
                        }

                        //only + prefics
                        $product_option_value_data[] = array(
                            'quantity'                => $option_value['quantity'],
                            'product_option_value_id' => $option_value['product_option_value_id'],
                            'option_value_id'         => $option_value['option_value_id'],
                            'name'                    => $option_value['name'],
                            'image'                   => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '',
                            'price'                   => $price,
                            'price_calc'              => $price_calc,
                            'price_prefix'            => $option_value['price_prefix']
                        );
                    }
                }

 

 

 

А вот массив из  manufacturer.php

 

 

$options = array();

                foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) {
                    $product_option_value_data = array();

                    foreach ($option['product_option_value'] as $option_value) {
                        if ($show_no_stock || !$option_value['subtract'] || ($option_value['quantity'] > 0)) {
                            if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
                                if ($option_value['price_prefix'] == '+') {
                                    $price = $this->currency->format($this->tax->calculate($option_value['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                                    $price_calc = $this->currency->format($this->tax->calculate($option_value['price']+$product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);
                                    
                                } else {
                                    $price_option = $this->currency->format($this->tax->calculate($option_value['price'], $result['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);
                                }
                            } else {
                                $price = false;
                                $price_calc = $option_value['price'];
                            }

                            $product_option_value_data[] = array(
                                'product_option_value_id' => $option_value['product_option_value_id'],
                                'option_value_id'         => $option_value['option_value_id'],
                                'name'                    => $option_value['name'],
                                'image'                   => (int)$show_image ? $this->model_tool_image->resize($option_value['image'], 50, 50) : false,
                                'price'                   => $price,
                                'price_calc'              => $price_calc,
                                'price_prefix'            => $option_value['price_prefix'],
                                'quantity'                => (int)$show_quantity ?  $option_value['quantity'] . $this->language->get('text_oc_quantity') : false
                            );
                        }
                    }

 

 

В конечном итоге значение переменной  $price разное

кто подскажет как получить значение переменной $price из product.php в manufacturer.php

 


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

Надіслати
Поділитися на інших сайтах


catalog/model/catalog/product.php гласит:

                                'price'            => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),


т.е. надо объявлять в product.php, category.php и прочих что-то типа:
'price_orig'            => ($query->row['price']),

и затем работать с этой переменной так же как и с $price во всех остальных файлах.

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.