我实际上正在使用 Prestashop 1.5 中的Tools 类,它允许我向前端显示错误消息:
$this->errors[] = Tools::displayError( 'Fatal error!' );
是否有任何功能以相同的方式显示成功消息?似乎我们不能在l()
扩展的内部使用该函数ModuleFrontController()
任何建议将不胜感激。
我实际上正在使用 Prestashop 1.5 中的Tools 类,它允许我向前端显示错误消息:
$this->errors[] = Tools::displayError( 'Fatal error!' );
是否有任何功能以相同的方式显示成功消息?似乎我们不能在l()
扩展的内部使用该函数ModuleFrontController()
任何建议将不胜感激。
您显示错误/成功消息的方式如下:
{if isset($success)}
<p class="success">{$success}</p>
{/if}
是不错的选择。请注意
Tools::displayError('Fatal error');
没有为您提供任何类型的错误消息样式,它只是提供了一种在管理员处翻译错误的方法。
如果您希望您的成功消息也应该是可翻译的,那么在您的控制器中执行以下操作:
$this->context->smarty->assign( 'success', 1 );
然后在你的模板文件中
{if isset($success)}
{l s='This is success message'}
{/if}
如果模板文件在模块中,则将其用作
{if isset($success)}
{l s='This is success message' mod='yourmodulename'}
{/if}
希望这会帮助你。
谢谢
对于成功消息,您可以使用:
$output = null;
$output .= $this->displayConfirmation('<message goes here!>');
对于错误消息,您可以使用:
$output = null;
$output .= $this->displayError('<message goes here!>');
最后:
return $output;
或类似的东西:
return $output.$this->displayForm();
找到了一个解决方案,但它可能不是最好的:
在我的ModuleFrontController()
班级里面:
$this->context->smarty->assign( 'success', 'Success!' );
在我的模块模板文件的顶部:
{if isset($success)}
<p class="success">{$success}</p>
{/if}
它显示“成功!” 如意。
它适用于 PrestaShop 1.7
$this->errors[] = "Error message!";
$this->success[] = "Success message!";