状況:POSTメソッドを含むフォームをCMSページに追加する必要がありました。カスタムフックとフォームを正常に表示するモジュールを作成しました。それから私はユーザーの入力エラーに反応する必要があります。ユーザーが電子メールアドレスを入力していないときには、それを検出する必要があります。フォーム全体と共にページ全体を表示し、ユーザー入力の「エラー」を明示します。PrestaShop - 追加のパラメータを使用してCMSページをリロード
問題:問題は、接続された情報(たとえばエラーなどについて)で再び全ページを表示することです。モジュールのPHPファイルで、この種のコードを追加すると、フォームのCMSページ全体ではなく、フォームのみが表示されます。このコードの場合
、
Tools::redirectLink('cms.php?id_cms=7');
私がGETどちらのPOSTメソッドによる任意の情報を転送することができません。
$_POST['test'] = 1;
Tools::redirectLink('cms.php?id_cms=7&test');
私も
$smarty->assign('test', '1');
(私はフォーム自体が作成されたの.tplファイルにそれを使用する必要があります)が、それは仕事を取得する方法はありませんSmartyの変数に代入しようとしました。私が推測するに優しいURLのいくつかの種類、私は他の引数を含めるかどうかにかかわらずに書き換えたリンクがあるのででもURLにGETパラメータを割り当てる
{if isset($test)}...,
{if isset($smarty.post.test)}...,
{if isset($_POST['test'])}... {* neither of these conditionals end up as true *}
は、影響を与えることはありません。 ([SHOPNAME]/cms.php?id_cms=7&test
- >[SHOPNAME]/content/7-cmspage-name
)
私の質問はです:「リダイレクト」または自分のデータが含まれるとともに、PrestaShopの中で、現在のページ(または一般的に可能性の任意のページ)を「リロード」する方法はありますか?
私は一種の事を説明しましたので、私は私よりも全体的なソリューションが良いと聞いています(多分、間違った方法でケースについて考えているかもしれません)。これは他の可能な答えでしょう。