Concrete5控制器逻辑

时间:2016-07-22 09:44:35

标签: concrete5 concrete5-5.7

我有以下用例需要从ip-api.com检索一些数据并将其放入会话中,以便稍后在我的应用程序中使用某些特定客户数据。

问题是我不知道将逻辑放在Concrete5本身的哪个位置。我现在在application/src/IpApi创建一个类,类本身不是问题。主要问题是如何确保在每个网页浏览中执行它。 第二个选项是创建一个块并将其添加到标题中,但我需要在首页处于活动状态之前解析数据,因此在模板引擎呈现之前。

我应该把它放在哪里以及如何加载它。我目前的主题是elemental主题的延伸,所以它仍然是开箱即用的。

感谢您的建议

2 个答案:

答案 0 :(得分:1)

您可以创建一个包并使用包控制器的on_start函数。我建议您在on_before_render事件中执行此操作,以确保您不会在ajax请求和其他类似的事情上执行此操作。它看起来像这样:

<svg id="mySVG" width="800px" height="600px" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: lightgrey;">
  <g>
    <path d="M 0 0 L 100 0 L 100 20 L 0 20 Z" fill="red"></path>
    <path d="M 500 500 L 600 500 L 600 520 L 500 520" fill="green"></path>
  </g>
</svg>

答案 1 :(得分:0)

我发现我应该先创建一个PageType。之后,可以在application/controllers/page_types/<mytype.php>

创建特定类型控制器

从那里on_start方法是你的朋友或你需要的任何功能

相关问题