我正在研究Plone模板。目前我正在模板上实施搜索。模板上有一个表单,提交到同一个模板,即同一页面。
我需要启用页面的某些部分才能查看,即结果DIV,只有在页面中的表单已提交时才需要。我不确定如何检查页面是否已提交并显示页面的某些部分。
我查看了使用form.submitted
的{{3}}链接,但实际上并没有帮助。我猜我要做的事情将在tal:condition
标签中完成。
任何帮助将不胜感激。
答案 0 :(得分:3)
你可以添加一个隐藏字段,例如名称为“submitedform”的名称,其值为“1”,然后创建一个条件:
request.get('submitedform', 0)
答案 1 :(得分:0)
我找到了一种方法让它发挥作用。
我使用了tal:condition
并在表单提交时检查了请求对象内的数据。
要检查请求对象中的内容,只需在页面上放置以下内容:
<div tal:replace="structure request" />
注意:调用请求对象时,它会呈现可读的HTML数据版本。我们使用“结构”来防止转义HTML。
现在,就我而言,我需要检查我的搜索表单是否已提交。所以在DIV标签内部,我检查了查询字符串是否为空。以下是代码示例:
<!-- Form has been submitted -->
<div tal:condition="python:request.environ.get('QUERY_STRING') != ''"></div>
<!-- Form has not been submitted -->
<div tal:condition="python:request.environ.get('QUERY_STRING') == ''"></div>
请注意,您可以使用所需的任何变量。我只是选择使用请求对象中的QUERY_STRING
。
这可能不完美,但我希望它会给别人指明。