Ситуация: Мне нужно было добавить форму с методом POST на страницу CMS. Я создал пользовательский крючок и модуль, отображающий форму успешно. Тогда мне нужно реагировать на ошибки ввода пользователя, например. когда пользователь не вводит адрес электронной почты, мне нужно его обнаружить, отобразить всю страницу снова вместе с формой и с «ошибками» в пользовательском вводе четко указано.PrestaShop - Страница обновления CMS с дополнительными параметрами
Задача: Проблема заключается в том, чтобы снова отобразить страницу WHOLE с помощью связанной информации (например, об ошибках и т. Д.). В PHP файл модуля, когда я добавляю этот вид кода,
return $this->display(__FILE__, 'modulename.tpl');
он (естественно) отображает только форму, а не всю CMS страницу с формой.
В случае этого кода,
Tools::redirectLink('cms.php?id_cms=7');
Я не могу передать какую-либо информацию по GET ни метод POST.
$_POST['test'] = 1;
Tools::redirectLink('cms.php?id_cms=7&test');
Я попытался назначить Smarty переменных слишком
$smarty->assign('test', '1');
(мне нужно использовать его в .tpl файл, в котором сама форма создается), но никоим образом, чтобы получить его работу.
{if isset($test)}...,
{if isset($smarty.post.test)}...,
{if isset($_POST['test'])}... {* neither of these conditionals end up as true *}
Даже назначая параметр GET для URL не имеет никакого влияния, потому что есть ссылка переписывания в какой-то дружественный URL я думаю, независимо от того, я включил другой аргумент или нет. ([SHOPNAME]/cms.php?id_cms=7&test
->[SHOPNAME]/content/7-cmspage-name
)
Мой вопрос: есть ли способ, чтобы «перенаправить» или «перезагрузить» текущую страницу (или, возможно, какие-либо страницы в целом) в PrestaShop вместе с включенными моими данными?
Я объяснил весь случай, поэтому я открыт, чтобы услышать лучшее общее решение, чем мое (может быть, я вообще думаю о случае неправильно). Это был бы другой возможный ответ.