Я использую PrestaShop 1.7 и хочу добиться следующего:
Я добавляю причину возврата средств при возврате товара, которая по умолчанию в PrestaShop не предусмотрена.
На данный момент я хотел бы получить значение из файла TPL моего модуля. Я создал раскрывающийся список, который позволяет пользователю выбирать свой вариант. Затем я хотел бы передать это значение в AdminOrdersController, поскольку кнопка cancelProduct запускает контроллер.
Модель:
public function hookDisplayAdminOrder($params)
{
return $this->display(__FILE__, 'views/templates/admin/refund_reason.tpl');
}
TPL:
<div class="panel">
<div class="panel-heading">
<i class="icon-money"></i>
Pick A Reason For Refunding
</div>
<select name="refund_reason" style="width: 300px;">
<option value="0"></option>
<option value="1">Out of stock</option>
<option value="2">Incorrect product sent to user</option>
<option value="3">Defective/faulty product</option>
<option value="4">Poor quality on receipt (dirty, poor stitching etc)</option>
<option value="5">Looks different from image on website</option>
<option value="6">Size does not fit user</option>
<option value="7">Change of mind</option>
<option value="8">No indication/Others</option>
</select>
Once administrator clicked the product refund button, it will initiate the following :
elseif (Tools::isSubmit('cancelProduct') && isset($order)) {
// retrieve user input here
}
Я создал модуль, который использует крючок hookActionProductCancel для добавления дополнительной функции, когда кнопка также вызывается, она отправляет суммы возврата в соответствующий банк через API.
Итак, может ли кто-нибудь указать, как я могу получить ввод пользователя, поскольку я не понимаю, как отправить форму, поскольку кнопка cancelProduct вызывается с другого контроллера.
Для других модулей, которые я создал, форма будет применена к контроллеру модуля, и я возьму с помощью getValue. Но в этом случае он использует существующую кнопку, и я понятия не имею, как нажать ее на AdminOrdersController.