Помещение товара в корзину и заказ из таблицы

Автор sus, 09 октября 2015, 15:22:34

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

sus

Есть такая интересная тема:
Для штучной продаже вопросов с престой нет.
Но вот для оптовой продаже, здесь конечно клиентам не удобно, приходиться каждый товар помещать в корзину  несколько раз.
В итоге ели нужны одни параметры но разные размеры а их 15 – то приходиться 15 раз записывать в корзину.
Простой вариант – это запись из таблицы.
Вопрос можно решить с помощью кастомизации, пример на выкладке.
Но хотелось - без использования кастомизации.
Каким-то образом может прописать сразу в описание строку из таблици
Размеры:  (092)-2 (098)-1 и т,д,
Ну и конечно это потом в заказ должно пойти.
У кого какие соображения есть по данному вопросу.
Может, кто уже делал подобное.
Спасибо!

DarinSr

Создайте атрибуты, измените шаблон вывода атрибутов в product.tpl.
Или установите модуль Attribut Wizard Pro. С этим модулем можно создавать шаблоны вывода атрибутов в админке.

sus

Спасибо за ответ. Но все что вы предложили уже сделано.
Атрибуты, и в  product.tpl.
Осталось только записать.
Есть обсуждение
http://prestashop-forum.ru/index.php/topic,5188.0.html
Вообще если подумать то оно подходит.
Буду пробовать.. Должно все встать.
Результат напишу, может кому надо.

DarinSr

http://prestashop-forum.ru/index.php/topic,5188.0.html
Вам не нужно долбавлять новую переменную. Так как есть атрибуты.
Сделать нужно только одно, несколько полей для добавления количества. У каждого атрибута свое поле количества.

sus

#4
Все правильно. Это сейчас так на выкладке. Но это как раз и переделываю.
Но так как преста записытает товар по всем параметрам выбранным, то происходит
Непомерное увеличения базы.
Это хорошо при штучной продаже.
Тогда да, размер, цвет, полнота, количество, выбирать для каждой из позиций.
При оптовой – по размерам товар гнать нет смысла.
Остается только так как на новой вкладке – Полнота, цвет и таблица.
Товар заносится только по полноте и цвету.
А таблица записывается в переменную.
Почти сделал , только вот тут что-то:

Записал данные из таблицы, в переменную  в product.tpl  записал данные сюда
<input type="text" name="mytext" id="id_ mytext " class="text"   value=" ">
Прописал в CartController.php
public function init()
{.........
$this-> mytext = Tools::getValue(' mytext ');


При сравнении  в
protected function processChangeProductInCart()
{..........
elseif (! $this-> mytext)
$this->errors[] = Tools::displayError('Null', !Tools::getValue('ajax'));

Почему-то  $this-> mytext пустая.
Подскажите, что не так?

DarinSr


sus

Нет в controllers\front\CartController.php
Нужно было в /override?
Тогда как подскажите..

sus

Что прописать в /override/controllers/front/CartController.php

DarinSr

Тоже самое но в файлы
/override/controllers/front/CartController.php
/override/classes/Cart.php

sus

По подробнее если можно.
Я еще не пользовался папкой /override для изменения, еще только учусь...
Что туда копии сделать
CartController.php
Cart.php
из classes и controllers\front\
основной или как?

DarinSr

Кагда вы уставливаете модуль корзины, то он переопределяет базовые контроллер CartController.php и класс Cart.php.
http://doc.prestashop.com/display/PS16/Overriding+default+behaviors

Смортите в папке /override/controllers/front/ и /override/classes/ там уже есть эти файлы.
В них вы меняете базовые методы, такие как init и updateQty.

sus

Нет.. Корзину я не ставил. Это все типовое из шаблона.
override\ Пустая там нет ни чего..

DarinSr

Тогда создайте эти файлы. Как их создать и для чего это нужно на сайте - http://doc.prestashop.com/display/PS16/Overriding+default+behaviors
Можете не создавать эти файлы, но тогда не сможете обновлять prestashop.

sus

#13
Ну, опять по кругу...
Я прошу подсказать простое решение..
Шаблон был когда-то стандартный. Свои модули и свои хуки были поставлены. Весь дизайн и все прочее свое, все изменено. Корзина оставалась без изменений, все что к ней относится. Простой вопрос,  как использовать переопределение, когда я еще не пробовал. Могли бы так-же подсказать..
У меня нет ничего в  override\
В   controllers\front\CartController.php
class CartControllerCore extends FrontController
{.........

и тд
Но тогда по вашей ссылке я что должен ставить..

sus

#14
Просто, как в CartController.php
В этой строке
public function init()
{.........
$this-> mytext = Tools::getValue(' mytext ');


Получить это значение

Tools::getValue(' mytext ');

Спасибо!!