Добавление нового поля в карзину

Автор piter, 27 сентября 2015, 15:52:16

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

piter

Добрый день.
Новое поле razdel
Добавил новое поле в  ps_ cart_product 
Добавил новое поле в  класс Cart.php
Добавил новое поле ввода в шаблон product.tpl.
Вывел в shopping-cart-product-line.tpl
Вот только вопрос как вводное поле из product.tpl записать в поле базы ps_ cart_product   при записи в корзину
Что нужно поставить в CartController.php для записи.
Добавленное поле текстовое имя razdel.
Спасибо!

coder

1. Нужно добавить поле в таблицу в бд.
2. Добавить новую переменную в класс
3. Добавить переменную в шаблон.
При вызове класса переменная будет сохранена в базе данных.

coder

Все также как и в этой теме
http://prestashop-forum.ru/index.php/topic,2835.0.html
Только названия класса и таблицы другие.

piter

Спасибо большое за ответ! Пробую проверяю..

piter

#4
Да все это конечно хорошо для поля в продукт, все правельно..
Но здесь задача другая. Все проще.Если количество заказа товара >0 то вместе сданными записывается и поле.
Поле вводное в карточке товара product.tpl
Поле текстовое.
В Chart.php прописан также как и в вашем примере по ссылке
public $razdel;
public static $definition = array(
'table' => 'cart',
'primary' => 'id_cart',
'fields' => array(
......
.......
' razdel ' => array('type' => self::TYPE_STRING, 'size' => 200),
),
);

Проверка в CartController.php  этого поля не нужна.
В Chart.php есть запись
/* Add product to the cart */
$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,
'razdel ' => .............,
'date_add' => date('Y-m-d H:i:s')
));

Вот здесь нужно записать значение в поле razdel из карточки товара product.tpl  где имя поля vrazdel

piter

Может кто то подскажет как зделать?
Спасибо!

DarinSr

#6
Что вы хотите сделать? Сохранить значение из поля "razdel" на странице товара в таблицу ps_cart при нажатии на кнопку в корзину?

coder

Проверка как раз и нужна. У карточки товара контроллер и класс Product, а не Cart. Поэтому в CartController.php в
public function init()
{
.....
    $this->razdel = Tools::getValue('razdel');

piter

Да вы правы.. Хочу сохранить значение введенное в поле карточки товара  product.tpl при записи в корзину в поле razdel в ps_cart_product

piter