2

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

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

是否有任何功能以相同的方式显示成功消息?似乎我们不能在l()扩展的内部使用该函数ModuleFrontController()

任何建议将不胜感激。

4

4 回答 4

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}

希望这会帮助你。

谢谢

于 2013-05-27T13:25:28.870 回答
1

对于成功消息,您可以使用:

$output = null;
$output .= $this->displayConfirmation('<message goes here!>');

对于错误消息,您可以使用:

$output = null;  
$output .= $this->displayError('<message goes here!>');

最后:

return $output;

或类似的东西:

return $output.$this->displayForm();
于 2014-02-18T11:50:02.297 回答
0

找到了一个解决方案,但它可能不是最好的:

在我的ModuleFrontController()班级里面:

$this->context->smarty->assign( 'success', 'Success!' );

在我的模块模板文件的顶部:

{if isset($success)}
    <p class="success">{$success}</p>
{/if}

它显示“成功!” 如意。

于 2013-05-27T11:53:26.863 回答
0

它适用于 PrestaShop 1.7

$this->errors[] = "Error message!";
$this->success[] = "Success message!";
于 2020-03-22T11:42:13.913 回答