1
Custom макросы / Расширение функционала метода emarket basket
« : 29 Января 2019, 19:52:24 »
Добрый день,
Я не так давно работаю с umi cms.
Мне необходимо реализовать, что-то вроде дополнительного комментария к товару, который будет отправляться в корзину. (т.е. нажали добавить в корзину и возникает модальное окно, которое просит дополнительной информации).
Я нашел данный пример.
Но как я выяснил спустя недолгое время, этот пример писался для старого umi cms.
Сейчас я использую последнюю сборку umi и php7.
Я добавил свой кастом макрос, который скопировал из (/classes/сomponents/emarket/macros.php),
путь: /classes/сomponents/emarket/customMacros.php
Так же я создал файл с permissions /classes/сomponents/emarket/permissions.custom.php
custom_field - я уже добавил в административной панели.
Чтобы протестировать, что это работает я пытался перейти по ссылке:
http://websitename.ru/udata/emarket/basket_custom/put/element/221/?custom_field="sw03"
И у меня добавился обычный товар 221, без дополнительно поля на который я расчитывал.
В итоге основной вопрос, правильно ли я адаптировал пример для новой umi? (если да, то может кто-то сталкивался уже с подобной проблемой, почему не работает)
Или может быть, есть какие-то другие способы это реализовать. Был бы благодарен за подсказку/пример/направление.
Основная проблема - это необходимо добавить новое поле поле к товару, а заполнить этот "комментарий" нужно при нажатии на "добавить в корзину".
Заранее спасибо
Я не так давно работаю с 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? (если да, то может кто-то сталкивался уже с подобной проблемой, почему не работает)
Или может быть, есть какие-то другие способы это реализовать. Был бы благодарен за подсказку/пример/направление.
Основная проблема - это необходимо добавить новое поле поле к товару, а заполнить этот "комментарий" нужно при нажатии на "добавить в корзину".
Заранее спасибо