安全破解程序和如果:否则问题


Safecracker and if:else issue

我在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_titleentry_id的值处理编辑/新情况。所以我可以将我的代码重写为:

{exp:safecracker channel="trophy_gallery"
 url_title="{segment_3}" author_only="yes"}
    // edit entry form code
{/exp:safecracker}