我在group.group中有一个名为post.html的模板。该模板包含一个安全盗窃者表单。我把safecracker表单和if/else语句放在里面,这样如果url是/group/post/title,那么safecracker表单就会加载一个现有的条目进行编辑。如果没有标题段(url只是/group/ post ),那么它会加载一个空的safecracker表单来创建一个新的post。下面是我的代码:
{if segment_3 != ""}
{exp:safecracker channel="trophy_gallery"
require_entry="yes" url_title="{segment_3}" author_only="yes"}
// edit entry form code
{/exp:safecracker}
{if:else}
{exp:safecracker channel="trophy_gallery"}
// create entry form code
{/exp:safecracker}
{/if} 由于某些原因,诸如require_entry、url_title和author_only的安全黑客设置正在影响代码的“else”块中的安全黑客设置。因此,当我加载一个没有第三个段的url时,它告诉我没有提供任何条目。
我格式化代码的方式是否有问题(更好的方法是这样做),或者这可能是safecracker标签被解析的一个bug?
发布于 2012-04-28 04:22:33
下面是来自表达式引擎论坛的answer:
Safecracker标签已经内置了解析功能,可以根据url_title或entry_id的值处理编辑/新情况。因此,我可以将代码重写为:
{exp:safecracker channel="trophy_gallery"
url_title="{segment_3}" author_only="yes"}
// edit entry form code
{/exp:safecracker}https://stackoverflow.com/questions/10340457
复制相似问题