我试图工作的联系方式是烤到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