将工作电话联系人表单放入main_template.pt中



我试图工作的联系方式是烤到plone到我的网站的main_template。我这样做是为了使这个网站上的"获得联系"导航按钮的功能在手机设置中工作。我这样做的方法是稍微修改一下联系方式。将其变为宏,并在main_template.pt中使用该宏。当我试图查看我的网站上的任何页面时,我得到一个LocationError,除非我从contact-info.cpt中删除tal:define="errors options/state/getErrors"行。

这是我在代码中的那一行得到的错误。如果我删除这一行,页面将呈现,实际上看起来正是我想要的方式,但会在提交表单时出错。这是这种情况下的误差。在这两种情况下,我基本上都被难住了,如果有任何建议,我将不胜感激。

UPDATE(我使用的解决方案):

只是想发布一个更新,我实际上是如何得到这个工作的。马丁·彼得斯提供的信息对我理解为什么它不起作用很有帮助,但我真的无法从那里着手。我最终依靠jQuery在site_actions和我的自定义下拉菜单中实现了这一点。我用一个div包装了<metal:main>标签之间的表单内容,我给了简单的id"contact-info"。然后在主模板中,我还输入了一个简单id为"load-area"的通用div。最后一个难题是将我的contact.js文件更改为contact.js.pt,并输入以下3行:

  <tal:block define="portal_url context/@@plone_portal_state/portal_url">
  jq('#load-area').load('<span tal:replace="portal_url"></span>/contact-info #contact-info');
  </tal:block>

我想我应该把这篇文章贴出来,以防以后对别人有帮助。

不能使用Controller Page Template (.cpt)作为宏。

首先,控制器Python脚本期望在它的"环境"中有几个参数(options/state结构是其中之一),当重用它的TAL语句时,您不存在这些参数。你必须重新编写模板,以避免依赖这些部分。

其次,这是一个HTML表单,表单需要一个目标来发送它的数据。在控制器页面模板中,这是由.metadata文件控制的,你必须明确地设置它的目标。

try

http://svn.quintagroup.com/products/quintagroup.portlet.pfg/trunk/

似乎不支持

与PloneFormGen结合使用,您可以创建一个联系人表单并将其显示为portlet

最新更新