dregore

Как подключить gdeslon к магазину?

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

dregore    2

здравствуйте.

Очень захотелось подключить товарную партнерку gdeslon на свой магазин. Там необходимо на странице route=checkout/success создать строку, с указанием купленных товаров, их цен и номера заказа. Как это можно сделать?

Я пытался вывести через print_r($products) - но система ругается, пишет, что неизвестная переменная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

Правильно ругается . Сначала $products нужно определить в catalog/controller/checkout/success.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dregore    2

Судя по коду, $products ту да не передается. Вот я и не понимаю, как туда передать этот массив?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

Судя по коду, $products ту да не передается. Вот я и не понимаю, как туда передать этот массив?

Этот массив нужно сформировать методом $this->cart->getProducts(), по аналогии как он формируется в confirm.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dregore    2

Все равно не получается :(

Я добавил в success.php:

$this->data['products'] = array();
    
            foreach ($this->cart->getProducts() as $product) {
                $option_data = array();
    
                foreach ($product['option'] as $option) {
                    if ($option['type'] != 'file') {
                        $value = $option['option_value'];    
                    } else {
                        $filename = $this->encryption->decrypt($option['option_value']);
                        
                        $value = utf8_substr($filename, 0, utf8_strrpos($filename, '.'));
                    }
                                        
                    $option_data[] = array(
                        'name'  => $option['name'],
                        'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value)
                    );
                }  
    
                $this->data['products'][] = array(
                    'product_id' => $product['product_id'],
                    'name'	   => $product['name'],
                    'model'	  => $product['model'],
                    'option'	 => $option_data,
                    'quantity'   => $product['quantity'],
                    'subtract'   => $product['subtract'],
                    'price'	  => $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax'))),
                    'total'	  => $this->currency->format($this->tax->calculate($product['total'], $product['tax_class_id'], $this->config->get('config_tax'))),
                    'href'	   => $this->url->link('product/product', 'product_id=' . $product['product_id'])
                );
            }

В success.tpl сделал:

<?php print_r($product); ?>

Выдает ошибку:

Notice: Undefined variable: product in /var/www/digitaria.ru/data/catalog/view/theme/default/template/common/success.tpl on line 14

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

Неа, $product ты так и не определил.

Нужно что-то вроде :

<?php foreach ($products as $product) { ?>

...

<?php echo $product['name']; ?> и т.д. какие тебе нужны данные выводить по продукту.

..

<?php } ?>

Пример вывода можно в product/category.tpl подсмотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dregore    2

Ну по идее print_r($products) должен выдать все содержимое массива. А там можно уже выдергивать все, что надо. Но массив то пустой.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vilija    39

Свой код добавил перед ?

if (isset($this->session->data['order_id'])) {

$this->cart->clear();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dregore    2

Все, разобрался!

В success.php вначале шел код, который стирал данные из корзины, что логично, т.к. заказ уже завершен. Поэтому order_id пропадало и никаких данных по товару не было. Я перенес код стирания под код выборки данных по заказу и все теперь работает.

О, написал, и увидел ваш ответ. :) Да, как раз перед ним теперь. Спасибо за помощь.

Изменено пользователем dregore

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу