2011-05-02 61 views
2

我一直在想,是否有一种标准方式在银线上做基于会话的消息。Silverstripe的消息框架

例如,一个模块可以设置一个消息,如The task has been processed,然后重定向到另一个页面,并且该消息将显示在该页面上的一个小框中。

例如Django框架具​​有http://docs.djangoproject.com/en/dev/ref/contrib/messages/ Drupal有http://api.drupal.org/api/drupal/includes--bootstrap.inc/function/drupal_set_message

我用Google搜索,发现这个没有模块或内置的功能来点这个。如果所有的应用程序,即使是外部应用程序都能以相同的方式处理消息,那将会很好。这只是银线中缺少的东西吗?

回答

1

你可以使用Session :: addToArray($ key,$ value)(http://api.silverstripe.org/2.4/sapphire/control/Session.html#methodaddToArray)来做到这一点。然后Session :: get($ key)检索值。

+0

我已经结束了修补SiteTree类和CMS模板。我会将这个补丁提交给silverstripe,因为我认为应该有一个*标准*的方法来做到这一点。 – Keyo 2011-05-03 01:09:37

+0

我的解决方案与Form消息非常相似。像你所建议的那样使用'Session :: set($ name,$ var)'。谢谢。 – Keyo 2011-05-03 01:11:50