Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Niall

Страницы: [1]
1
Добрый день,

Я не так давно работаю с umi cms.
Мне необходимо реализовать, что-то вроде дополнительного комментария к товару, который будет отправляться в корзину. (т.е. нажали добавить в корзину и возникает модальное окно, которое просит дополнительной информации).

Я нашел данный пример.
Но как я выяснил спустя недолгое время, этот пример писался для старого umi cms.
Сейчас я использую последнюю сборку umi и php7.

Я добавил свой кастом макрос, который скопировал из (/classes/сomponents/emarket/macros.php),
путь: /classes/сomponents/emarket/customMacros.php
<?php
 public function basket_custom($mode = false, $itemType = false, $itemId = false) {
  ...
   switch ($mode) {
     case 'put' : {
$module->handleBasketPutCustom($itemType, $itemId, $order);
break;
     }
  ...
}
public function handleBasketPutCustom($itemType = false, $itemId = false, $order = false){
...
  if ($itemType == 'element') {
$orderItem->custom_field = htmlspecialchars(getRequest('custom_field'));
$orderItem = $this->module->getBasketItem($itemId, false);
...
}
?>

Так же я создал файл с permissions /classes/сomponents/emarket/permissions.custom.php
<?php
  $permissions = ['purchasing' => ['basket_custom', 'handleBasketPutCustom']];
?>

custom_field - я уже добавил в административной панели.

Чтобы протестировать, что это работает я пытался перейти по ссылке:
  http://websitename.ru/udata/emarket/basket_custom/put/element/221/?custom_field="sw03"
И у меня добавился обычный товар 221, без дополнительно поля на который я расчитывал.

В итоге основной вопрос, правильно ли я адаптировал пример для новой umi? (если да, то может кто-то сталкивался уже с подобной проблемой, почему не работает)
Или может быть, есть какие-то другие способы это реализовать. Был бы благодарен за подсказку/пример/направление.
Основная проблема - это необходимо добавить новое поле поле к товару, а заполнить этот "комментарий" нужно при нажатии на "добавить в корзину".

Заранее спасибо :)

Страницы: [1]