1

我在 group.group 中有一个名为 post.html 的模板。该模板包括一个安全破解器表单。我在里面有 safecracker 表单和 if/else 语句,因此如果 url 是 /group/post/title 那么 safecracker 表单会加载现有条目以进行编辑。如果没有标题段(url 只是 /group/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 时,它告诉我没有提供任何条目。

我格式化它的方式有什么问题(一种更好的方法),或者这可能是如何解析安全破解器标签的错误?

4

1 回答 1

2

以下是来自表达式引擎论坛的答案:

Safecracker 标签已经内置了解析功能,可以根据url_titleor的值处理编辑/新情况entry_id。所以我可以将我的代码重写为:

{exp:safecracker channel="trophy_gallery"
 url_title="{segment_3}" author_only="yes"}

    // edit entry form code

{/exp:safecracker}
于 2012-04-27T20:22:32.990 回答