模块前端控制器中的成功消息

时间:2013-05-27 11:20:49

标签: module prestashop

我实际上正在使用Prestashop 1.5中的Tools class,它允许我向前端显示错误消息:

$this->errors[] = Tools::displayError( 'Fatal error!' );

是否有任何功能以相同的方式显示成功消息? 我们似乎无法在扩展l()

中使用ModuleFrontController()函数

非常感谢任何建议。

4 个答案:

答案 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!";