Перейти к содержимому


Фотография
- - - - -

Как сделать "комментарий к заказу" на странице товара

комментарий к заказу

Сообщений в теме: 7

#1 TomTom

TomTom

Отправлено 22 April 2016 - 14:27

https://yadi.sk/i/3jdhsI4rrD4Xe

Как сделать , и в следствии получить значения в письме корзины вот такое

 

Прикрепленные изображения

  • 2016-04-22_18-22-44.png

  • 1

#2 DMTR3000S

DMTR3000S

Отправлено 23 April 2016 - 06:44

Здравствуйте. Вы можете зайти в настройки коммерции и добавить текстовое поле в шаблоне формы. После этого, поле появится для заполнения на странице заказа и будет приходить на почту - вообще никакой проблемы не вижу. Или я неправильно понял?


  • 0

#3 TomTom

TomTom

Отправлено 23 April 2016 - 08:45

Это в корзине, надо в товаре


  • 0

#4 SmetDenis

SmetDenis

Отправлено 25 April 2016 - 12:35

К сожалению, у нас нет возможности делать проивзвольны комментарий к каждому товару в корзине.

Только общий с помощью полей заказа.

 

Либо это можно реализовать через касмотное расширение. Но его необходимо писать. Понадобятся знания PHP.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 TomTom

TomTom

Отправлено 25 April 2016 - 12:36

Подскажите пример и куда смотреть. А мы напишем


  • 0

#6 Cheren-dow

Cheren-dow

Отправлено 05 May 2016 - 08:46

здравствуйте TomTom, извините за долгий ответ. Сделал скелет элемента для цены, можете его взять за основу и вносить уже нужные для себя правки.

Прикрепленный файл  comment.zip   1.86К   60 Количество загрузок:

Т.к работа элемента влияет на цену при выборе вариации,а в нашем случае необходимо добавлять только комментарий, необходимо сделать хак - для того что бы наш новый элемент не мешал работать другим элементам при выборе вариации.

Для этого откройте файл:

\media\zoo\applications\jbuniversal\elements\jbpriceplain\jbpriceplain.php

Найдите метод getVariantByValues() и замените его на этот:

    /**
     * Get variant from $this->data() by values
     * MODE: DEFAULT
     * @param  array $values values from front end
     * @return array
     */
    public function getVariantByValues($values = array())
    {
        foreach ($values as $key => $val) {
            $element = $this->getElement($key);

            if ($element->getElementType() == 'comment') {
                unset($values[$key]);
            }

        }

        $data = array_filter((array)$this->get('values', array()));

        if (empty($values) || empty($data)) {
            return (array)$values;
        }
        asort($values);

        $needle    = md5(serialize($values));
        $hashTable = array_map(function ($array) {
            asort($array);

            return md5(serialize($array));
        }, $data);

        return array_search($needle, $hashTable, true);
    }

Добавьте этот элемент и сделайте вывод в материале. В итоге должно получится:

7mfd_200x0.jpg


  • 4
Изображение
 

#7 kadet

kadet

Отправлено 09 May 2016 - 13:43


 
Есть возможность сделать элемент для заполнения обязательным?
  • 0

#8 SmetDenis

SmetDenis

Отправлено 13 May 2016 - 14:02

Есть возможность сделать элемент для заполнения обязательным?


Сделать проверку c помощью JS на клик по кнопке по "в корзину".
Подобных встроенных возможностей мы не предусматривали.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!