问题
如何实现一个小部件(由数据库调用产生)出现在网站的每个页面上?
语境
我有一个带有侧边栏的传统 Web 应用程序。侧边栏包含以下数据:
- 用户名,
- 有关帐户的详细信息(上次连接和其他)
- 基于用户个人资料的个性化消息。
- 以及从数据库中提取的其他数据。
到目前为止的解决方案
如官方文档所示,可以在模板内渲染模板。这是一个有趣的功能,但还不够。因为我需要将数据库中的数据呈现在我的小部件中。
这意味着:
- 在某处获取侧边栏所需的所有数据,
- 将数据从每个控制器传递到每个视图,
- 最后在每个模板中,使用给定的数据调用一个外部模板。
我想做的是 Symfony2 框架中存在的东西。我希望能够直接调用控制器。
{% render MyController:MyActionMethod %}
如何实现这种机制?
PS:是的,我已经搜索了一下。发现了这个问题“类似的问题”:How to Avoid pass parameters anywhere in play2?