Автор Тема: Помещение товара в корзину и заказ из таблицы  (Прочитано 243 раз)

09 Октября 2015, 15:22:34
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Есть такая интересная тема:
Для штучной продаже вопросов с престой нет.
Но вот для оптовой продаже, здесь конечно клиентам не удобно, приходиться каждый товар помещать в корзину  несколько раз.
В итоге ели нужны одни параметры но разные размеры а их 15 – то приходиться 15 раз записывать в корзину.
Простой вариант – это запись из таблицы.
Вопрос можно решить с помощью кастомизации, пример на выкладке.
Но хотелось - без использования кастомизации.
Каким-то образом может прописать сразу в описание строку из таблици
Размеры:  (092)-2 (098)-1 и т,д,
Ну и конечно это потом в заказ должно пойти.
У кого какие соображения есть по данному вопросу.
Может, кто уже делал подобное.
Спасибо!
10 Октября 2015, 11:20:49
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Создайте атрибуты, измените шаблон вывода атрибутов в product.tpl.
Или установите модуль Attribut Wizard Pro. С этим модулем можно создавать шаблоны вывода атрибутов в админке.
10 Октября 2015, 12:21:27
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ. Но все что вы предложили уже сделано.
Атрибуты, и в  product.tpl.
Осталось только записать.
Есть обсуждение
http://prestashop-forum.ru/index.php/topic,5188.0.html
Вообще если подумать то оно подходит.
Буду пробовать.. Должно все встать.
Результат напишу, может кому надо.
10 Октября 2015, 13:05:04
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
http://prestashop-forum.ru/index.php/topic,5188.0.html
Вам не нужно долбавлять новую переменную. Так как есть атрибуты.
Сделать нужно только одно, несколько полей для добавления количества. У каждого атрибута свое поле количества.
10 Октября 2015, 13:27:40
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Все правильно. Это сейчас так на выкладке. Но это как раз и переделываю.
Но так как преста записытает товар по всем параметрам выбранным, то происходит
Непомерное увеличения базы.
Это хорошо при штучной продаже.
Тогда да, размер, цвет, полнота, количество, выбирать для каждой из позиций.
При оптовой – по размерам товар гнать нет смысла.
Остается только так как на новой вкладке – Полнота, цвет и таблица.
Товар заносится только по полноте и цвету.
А таблица записывается в переменную.
Почти сделал , только вот тут что-то:

Записал данные из таблицы, в переменную  в 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 пустая.
Подскажите, что не так?
10 Октября 2015, 14:14:03
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
10 Октября 2015, 14:23:11
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нет в controllers\front\CartController.php
Нужно было в /override?
Тогда как подскажите..
10 Октября 2015, 14:25:02
Ответ #7
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Что прописать в /override/controllers/front/CartController.php
10 Октября 2015, 14:27:59
Ответ #8
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тоже самое но в файлы
/override/controllers/front/CartController.php
/override/classes/Cart.php
10 Октября 2015, 14:37:47
Ответ #9
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
По подробнее если можно.
Я еще не пользовался папкой /override для изменения, еще только учусь...
Что туда копии сделать
CartController.php
Cart.php
из classes и controllers\front\
основной или как?
10 Октября 2015, 14:44:45
Ответ #10
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Кагда вы уставливаете модуль корзины, то он переопределяет базовые контроллер CartController.php и класс Cart.php.
http://doc.prestashop.com/display/PS16/Overriding+default+behaviors

Смортите в папке /override/controllers/front/ и /override/classes/ там уже есть эти файлы.
В них вы меняете базовые методы, такие как init и updateQty.
10 Октября 2015, 15:05:43
Ответ #11
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нет.. Корзину я не ставил. Это все типовое из шаблона.
override\ Пустая там нет ни чего..
10 Октября 2015, 16:40:05
Ответ #12
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тогда создайте эти файлы. Как их создать и для чего это нужно на сайте - http://doc.prestashop.com/display/PS16/Overriding+default+behaviors
Можете не создавать эти файлы, но тогда не сможете обновлять prestashop.
10 Октября 2015, 17:15:19
Ответ #13
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ну, опять по кругу…
Я прошу подсказать простое решение..
Шаблон был когда-то стандартный. Свои модули и свои хуки были поставлены. Весь дизайн и все прочее свое, все изменено. Корзина оставалась без изменений, все что к ней относится. Простой вопрос,  как использовать переопределение, когда я еще не пробовал. Могли бы так-же подсказать..
У меня нет ничего в  override\
В   controllers\front\CartController.php
class CartControllerCore extends FrontController
{………
и тд
Но тогда по вашей ссылке я что должен ставить..
10 Октября 2015, 17:30:59
Ответ #14
  • Фрилансер
  • *
  • Сообщений: 164
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Просто, как в CartController.php
В этой строке
public function init()
{………
$this-> mytext = Tools::getValue(' mytext ');

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

Tools::getValue(' mytext ');
Спасибо!!