我实际上正在使用Prestashop 1.5中的Tools class,它允许我向前端显示错误消息:
$this->errors[] = Tools::displayError( 'Fatal error!' );
是否有任何功能以相同的方式显示成功消息?
我们似乎无法在扩展l()
ModuleFrontController()
函数
非常感谢任何建议。
答案 0 :(得分:3)
您显示错误/成功消息的方式如下:
{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}
希望这会对你有所帮助。
谢谢
答案 1 :(得分:0)
找到了一个解决方案,但它可能不是最好的:
我的ModuleFrontController()
课程内部:
$this->context->smarty->assign( 'success', 'Success!' );
在我模块的模板文件顶部:
{if isset($success)}
<p class="success">{$success}</p>
{/if}
显示“成功!”如意图。
答案 2 :(得分:0)
对于成功消息,您可以使用:
$output = null;
$output .= $this->displayConfirmation('<message goes here!>');
对于错误消息,您可以使用:
$output = null;
$output .= $this->displayError('<message goes here!>');
最后:
return $output;
或类似的东西:
return $output.$this->displayForm();
答案 3 :(得分:0)
在PrestaShop 1.7中适合我
$this->errors[] = "Error message!";
$this->success[] = "Success message!";