我在group.group中有一个名为post.html的模板。该模板包括一个安全饼干表单。我里面有safecracker表单和if/else语句,因此如果URL是/group/post/title,那么safecracker表单会加载现有条目进行编辑。如果没有标题段(url 只有/group/post),那么它会加载一个空白的 safecracker 表单来创建新帖子。这是我的代码:
{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 标签的错误?
以下是表达式引擎论坛的答案:
Safecracker标签已经内置了解析功能,可以根据url_title
或entry_id
的值处理编辑/新情况。所以我可以将我的代码重写为:
{exp:safecracker channel="trophy_gallery"
url_title="{segment_3}" author_only="yes"}
// edit entry form code
{/exp:safecracker}