Получение произвольной переменной из product.tpl в cart.php

Автор piter, 07 октября 2015, 12:53:40

« назад - далее »

Виталий

Объявление переменных в классе
/override/classes/Cart.php
public $textklient;
...
if ($this->textklient)
{
/* ,,,чтото делаем,,, */


Все действия над переменными в контроллере
/override/controllers/front/CartController.php
$this->context->cart->textklient;

Если нужно сохранять информацию из объекта Cart в зависмости от полученной переменной textklient в контроллере CartController, то добавьте метод сhangeInCart($textklient) в класс Cart, как вам советывали выше, и передайте в него переменную textklient.
$this->context->cart->сhangeInCart($textklient);
Cоздание интернет сайтов Webstudio UwK

piter

Спасибо!
Как говорят, одна голова хорошо - а две лучше.
Я что-то затупил что надо в override...  объявлять.. делал на прямую...
Еще раз спасибо, буду пробовать.. Если что вернусь.

piter

#17
Дело вот в чем, и чего я хочу добиться.
В  Cart.php  есть блог
if ((int)$quantity < $minimal_quantity)
return -1;
$result_add = Db::getInstance()->insert('cart_product', array(
'id_product' => (int)$id_product,
'id_product_attribute' => (int)$id_product_attribute,
'id_cart' => (int)$this->id,
'id_address_delivery' => (int)$id_address_delivery,
'id_shop' => $shop->id,
'quantity' => (int)$quantity,
'date_add' => date('Y-m-d H:i:s'),
'cod' => некие данные

Cod-это мой.   Все ... блог работает и все хорошо. Проблем нет записывается в поля базы.

Теперь что хотелось-бы.....
После
if ((int)$quantity < $minimal_quantity)
return -1;

Как пример ставим
if ($textklient=='')
$result_add = Db::getInstance()->insert('cart_product', array(
'id_product' => (int)$id_product,
'id_product_attribute' => (int)$id_product_attribute,
'id_cart' => (int)$this->id,
'id_address_delivery' => (int)$id_address_delivery,
'id_shop' => $shop->id,
'quantity' => (int)$quantity,
'date_add' => date('Y-m-d H:i:s'),
'cod' => тут другие данные
Иначе как есть
$result_add = Db::getInstance()->insert('cart_product', array(
'id_product' => (int)$id_product,
'id_product_attribute' => (int)$id_product_attribute,
'id_cart' => (int)$this->id,
'id_address_delivery' => (int)$id_address_delivery,
'id_shop' => $shop->id,
'quantity' => (int)$quantity,
'date_add' => date('Y-m-d H:i:s'),
'cod' => некие данные

Вот и эту
if ($textklient=='')
Мне нужно получить из  product.tpl
<input type="text" name="textklient" id="textklient" class="text"  value="" >

Виталий

Все тоже самое что и в предыдущей теме
http://prestashop-forum.ru/index.php/topic,5151.0.html
Цитата: Mr.Sen от 02 октября 2015, 21:22:05
Нужно передать эту переменную в
function updateQty (.... $textrez)
{


Ничего не изменилось. Получили переменную и передали ее в метод updateQty.
В классе Cart изменили метод updateQty добавили новую переменную.
Перед выполнением запроса
$result_add = Db::getInstance()->insert
добавили сравнение (если нужно, то можете вторую перменную также передать в этот метод).
Cоздание интернет сайтов Webstudio UwK