avatar

КАк в OpenCart сделать чтобы в заказе сохранялся источник покупателя HTTP_REFERER

Рейтинг 3.7 из 5. Голосов: 239
Den 6 лет назад
9
,

0


Ответы (9)

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
6 лет назад
КАк в OpenCart сделать чтобы в заказе сохранялся источник покупателя HTTP_REFERER сайт ,с которого он пришел
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
6 лет назад
в файле в catalog/controll/common/header.php в index вставить:
CODE:
if( isset($_SERVER['HTTP_REFERER']) && ( !isset($this->session->data['url_refferer']) || $this->session->data['url_refferer'] =='' )) { //во втором условии проверяем, что data['url_refferer'] не существует, т.е. юзер зашел на сайт впервые $this->session->data['url_refferer'] = $_SERVER['HTTP_REFERER']; }
в файле /catalog/controller/checkout/confirm.php indexвставить
CODE:
if (isset($this->session->data['url_refferer'] ) &&$this->session->data['url_refferer'] !='') { $data['url_refferer'] = $this->session->data['url_refferer']; $this->session->data['url_refferer']=''; } else $data['url_refferer'] ='no_info_reffer';
в файле /catalog/model/checkout/order.php function addOrderвставить"', shipping_zone = '" . $this->db->escape($data['shipping_zone']) .
CODE:
"', url_refferer = '" . $this->db->escape($data['url_refferer']) .
"', shipping_zone_id = '" . (int)$data['shipping_zone_id'] . для админки в файле /admin/view/template/common/home.tpl вставить с изменениями
CODE:
<td class="right"><?php echo $column_order; ?></td> <td class="left"><?php echo $column_customer; ?></td> <td class="left"><?php echo $column_status; ?></td> <td class="left"><?php echo $column_date_added; ?></td> <td class="right"><?php echo $column_total; ?></td> <td class="right">Источник</td> <td class="right"><?php echo $column_action; ?></td> </tr> </thead> <tbody> <?php if ($orders) { ?> <?php foreach ($orders as $order) { ?> <tr> <td class="right"><?php echo $order['order_id']; ?></td> <td class="left"><?php echo $order['customer']; ?></td> <td class="left"><?php echo $order['status']; ?></td> <td class="left"><?php echo $order['date_added']; ?></td> <td class="right"><?php echo $order['total']; ?></td> <td class="right"><a target="_blank" href="<?php echo $order['url_refferer']; ?>"><?php echo $order['url_refferer']; ?></a></td> <td class="right"><?php foreach ($order['action'] as $action) { ?> [ <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a> ] <?php } ?></td>в файле
(Добавление)/admin/controller/common/home.php вставить
CODE:
$this->data['orders'][] = array( 'order_id' => $result['order_id'], 'customer' => $result['customer'], 'status' => $result['status'], 'url_refferer' => $result['url_refferer'], 'date_added' => date('j.m.Y G:i',strtotime($result['date_added']) ), 'total' => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']), 'action' => $action );
в файле /admin/model/sale/order.phpвставить с изменениями public function getOrders($data = array()) { $sql = "SE LECT o.order_id,
CODE:
o.url_refferer,
CO NCAT(o.firstname,....
отправить
+ 0

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
6 лет назад
спасибо
отправить
+ 0

Actork
Russia,Vladivostok
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме
4 Oct 14
5 лет назад
Добрый день, сделал по аналогии сохранение очков товара, добавил в БД order_products столбец points, но при изменении заказа через админку очки сбрасываются на 0, как поправить?
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
5 лет назад
в каких файлах делали изменения , и делали ли вы тестовый var_dump() именно перед самым моментом сохрания ? чтобы видить что вооще в базу пишите?
отправить
+ 0

Actork
Russia,Vladivostok
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме
4 Oct 14
5 лет назад
var_dump() не делал, проблема возникает раньше, чтобы баллы засунуть в базу их надо откуда-то взять, я не пойму логику добавления товара в заказ через админку, добавляешь товар он берет его Модель, Опции и Цену, но как заставить его брать Бонусные баллы это товара? Ковырял order_form.tpl, controller->order.php P.S. в php только начинаю вникать, клиентскую часть заставил работать нормально, т.е. брем баллы товара и суем их в базу в order_product в новуй столбец points. К движку прикручен Simple кстати
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
5 лет назад
https://my-city.ml/forum/kak-v-opencart-dobavit-novyj-priznak-tovara-chto-eto-novinka/1044 здесь я подробно написал как я когда то добавлял в админке новое поле к товару в оперкарте
отправить
+ 0

Actork
Russia,Vladivostok
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме
4 Oct 14
5 лет назад
Поле товара не новое, оно уже есть называется points (бонусные баллы), объясню подробнее:- Я добавил в заказ в таблицу order_product дополнительное поле points, т.е. когда человек делает заказ туда пишутся бонусные баллы, все прекрасно.При редактировании заказа через админку (например человек забыл что-то заказать, позвонил и попросил добавить в заказ что-то), при добавлении товара в существующий заказ я хочу чтобы бонусные баллы добавляемого товара тоже сохранялись. Затуп произошел на моменте добавления товара, т.е. я не понял как вытащить из продукта кроме модели и цены еще и бонусные баллы points (не путать с reward points)Что я менял:1. Добавил в базу в oc_order_product столбец points2. catalog/controller/checkout/simplecheckout.phpДобавил:
CODE:
'points' => $product['points']
3. catalog/model/checkout/order.phpДобавил:
CODE:
"', points = '" . $this->db->escape($product['points'])
отправить
+ 0

Actork
Russia,Vladivostok
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме
4 Oct 14
5 лет назад
упростим задачу, нужно чтобы при редактировании и добавлении заказа через админку при добавлении товара в этот заказ отображались его бонусные баллы (admin/view/template/sale/order_form.tpl)
отправить
+ 0


Чтобы оставить комментарий войдите или зарегистрируйтесь