Задать вопрос
@nikitoshq

Как добавить свой код на страницу в Opencart?

У меня есть код который должен выполняется на странице "index.php?route=checkout/success" вот он:
foreach ($data['products'] as $product) {
					$viberText  = "";
					$bitrix24products = "";
					$prodId = $product['product_id'];
					$order_mpn = $this->db->query("SELECT `mpn` FROM `" . DB_PREFIX . "product` WHERE `product_id` =  '$prodId'");
					$order_mpn  = $order_mpn->row["mpn"];
					$bitrix24option = empty($product['option']) ? "" : "<br/><br/><b>Опции:</b>";
					$viberTextOption = empty($product['option']) ? "" : "Опции: \n";
					$bitrix24products .= 
					"<b>Название:</b> ".$product['name']." (<a target='_blank' href='http://".$_SERVER['HTTP_HOST']."/index.php?route=product/product&product_id=".$product['product_id']."'>Ссылка</a>)".
					"<br/><b>Количество:</b> ".$product['quantity']." шт.".
					"<br/><b>Цена:</b> ".$product['price']." грн.".
					"<br/><b>Сумма:</b> ".$product['total']." грн.".
					"<br/><b>Поставщик:</b> ".$order_mpn.
					$bitrix24option;
					
					$viberText .="\nНазвание:\n".$product['name'].
					"\nКоличество:".$product['quantity']." шт.".
					"\nЦена: ".$product['price']." грн.".
					"\nСумма: ".$product['total']." грн.".$viberTextOption;
					
					foreach ($product['option'] as $option) {
						if ($option['type'] == 'checkbox') {
							$bitrix24products .= "<br/>-- Выбрано: ".$option['name'];
							$viberText .= "\nВыбрано: ".$option['name'];
						} else {
							$bitrix24products .= "<br/>-- ".$option['name'].": ".$option['value'];
							$viberText .= "\n".$option['name'].": ".$option['value'];
						}
					}

					if ($product != end($data['products'])) {
						$bitrix24products .= "<br/><br/>------------------------------------------------<br/><br/>";
						$viberText .= "\n";
					} else {
						$bitrix24products .= "<br/>";
						$viberText .= "\n";
					}
					$stack[$order_mpn] .= $viberText;
					$stackBitrix[$order_mpn] .= $bitrix24products;
                }

Раньше он выполнялся на странице index.php?route=checkout/checkout, после чего я пернес этот код на нужну стараницу. После переноса появляется ошибка: "Notice: Undefined index: products in /var/www/www-root/data/www/543654654.com.ua/catalog/controller/checkout/success.php" Как мне можно это исправить?
  • Вопрос задан
  • 702 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
@sidni
Php Developer
Сложно сказать отрывычный куско кода, да и с опенкартом дела давно имел, но ошибка достаточно типичная для опенкарта и она встречается у всех пользователей.
суть в массиве $data нет ключа 'products', скорее всего вы либо не все перенесли, либо наоборот слишком перестарались, трассируйте переменную в старом варианте и новом.
Как вариант продукты возможно ранее брались из корзины когда она была доступна на этапе (checkout/checkout) а теперь возможно возможно придется брать из таблиц заказа (checkout/success)
Ответ написан
nickizdp
@nickizdp
Написать свой модуль
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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