Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


munhgauzen
 Поделиться

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

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 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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