我应该在哪里放置表单处理程序?

时间:2016-10-19 18:06:20

标签: octobercms

以下代码摘自octobercms文档..

{{ form_open({ request: 'onHandleForm' }) }}
    Please enter a string: <input type="text" name="value"/>
    <input type="submit" value="Submit me!"/>
{{ form_close() }}
<p>Last submitted value: {{ lastValue }}</p>

我想知道的是: 'onHandleForm()'的功能应该放在哪里?

1 个答案:

答案 0 :(得分:1)

  

以下代码来自octobercms   文件..

在这种情况下,提供一个链接以显示其中的链接可能会有所帮助,以获得一些上下文。

The documentation page in question实际上给出了一个非常明确的解释:

  

onHandleForm函数可以在页面或布局PHP section中定义   以下方式:

function onHandleForm()
{
    $this['lastValue'] = post('value');
}

关于PHP部分的链接文档片段然后解释了PHP代码的去向。

从给定的例子中可以看出:

url = "/blog"
layout = "default"
==
<?
function onStart()
{
    $this['posts'] = ...;
}
?>
==
<h3>Blog archive</h3>
{% for post in posts %}
    <h4>{{ post.title }}</h4>
    {{ post.content }}
{% endfor %}

这是CMS页面模板的示例。 PHP部分介于两者之间

==

lines - 在配置部分之后,以及twig标记部分之前。部分和布局模板也大致相同。

由于PHP部分是可选的,模板也可能如下所示:

url = "/blog"
layout = "default"
==
<h3>Blog archive</h3>
{% for post in posts %}
    <h4>{{ post.title }}</h4>
    {{ post.content }}
{% endfor %}

在这种情况下,只有一个

==

行,将配置部分与树枝标记部分分开。 10月将以某种方式自动尝试通过给定的结构来理解它。

如果您没有直接使用这些文件,而是通过浏览器中的October Web后端,您可以通过代码编辑器上方的选项卡在twig标记部分和PHP代码部分之间切换,使用标签 Markup < / em>和代码。请参阅下面的screnshots(由于代表不够,不能包含更多实际链接):

  • i.stack.imgur.com/D8AET.png
  • i.stack.imgur.com/bNBN2.png

(如果你想为OctoberCMS建立一个专用的stackechange社区,请在area51.stackexchange.com/proposals/97119/octobercms下支持octobercms.stackexchange提案。我将删除这个消息传递,一旦实现了目标 - 承诺:))