2

表达式引擎中有什么方法可以模拟 Wordpress 的简码功能?

我想遵守社区规则,并且在单击现有问题的“答案”部分时有一个免责声明,说我实际上应该回答这个问题,而不是回应其他答案。

因此,我有与上述相同的问题。我是一名扎根于 WordPress 的开发人员,我想模仿 WP 短代码在 Expression Engine 中的行为。我想要做的就是将一段代码保存为模板,可以在我的网站上重复使用。

例如,如果我想在多个页面上使用手风琴菜单,我可以在编辑页面时单击单击,代码会显示占位符内容,然后用户/开发人员可以将其替换为真实内容)。我需要图形幻灯片吗?单击 click,定义图像/标题/文本覆盖。

在我发这个的时候,我正准备搜索 EE 插件库,但是因为我之前没有找到任何东西,所以我想先在这里发帖。

4

3 回答 3

2

我介绍了我之前在http://www.tyssendesign.com.au/articles/cms/more-stash-examples/中使用的一种方法,以及其他一些使用 Stash 的示例。

于 2012-10-23T23:24:37.737 回答
1

简短的回答:没有这样的事情......还没有。Shortcode 插件目前处于 beta 阶段

现在长答案:使用自定义字段。示例:手风琴的矩阵字段,定义了列,并添加任意数量的行。然后在您的模板中添加标签。

与画廊相同 - 创建一个画廊字段(Matrix 再次适用于此),然后将代码添加到您的模板以构建画廊。

如果这些字段是可选的,那么它们只会在使用时出现在前端。

如果您想花哨并将这些内容块注入您的主要内容区域,您可以使用NSM Transplant来做到这一点。

这是我在一个站点上使用的简化代码片段来实现这一点:

{exp:nsm_transplant:body}

    {inline_media}
    {exp:nsm_transplant:content id="media_{row_count}"}
    <figure class="{alignment}">
    {exp:ifelse parse="inward"}
        {if image}
            {if "{alignment}" == "aligncenter"}
                {exp:ce_img:make src="{image:resized}" width="860" quality="80" output='<img src="{made_url}" alt="" />'}
            {if:else}
                {exp:ce_img:make src="{image:resized}" width="430" quality="80" output='<img src="{made_url}" alt="" />'}       
            {/if}
        {if:elseif video}
            {if "{alignment}" == "aligncenter"}
                {exp:antenna url="{video}" max_width="860"}
            {if:else}
                {exp:antenna url="{video}" max_width="430"}
            {/if}
        {if:elseif gallery}
            {gallery}{embed="galleries/_embed" entry_id="{entry_id}"}{/gallery}
        {/if}
        {if caption}<figcaption>{caption}</figcaption>{/if}
        {/exp:ifelse}
    </figure>
    {/exp:nsm_transplant:content}
    {/inline_media}

    {content}

{/exp:nsm_transplant:body}

在这种情况下,作者使用{media_1}{media_2},在内容中嵌入照片、视频和画廊。

您可以查看的另一个解决方案是Content Elements,它允许使用更自由的方法来使用单个自定义字段填充条目。

希望有帮助!

于 2012-10-16T21:03:12.677 回答
0

您还可以在 EE 模板中使用全局变量。您不能在模板中使用EE 标记,但全局变量确实有效。因此,您可以保存为全局变量的任何内容(可能包括使用插件制作的变量Low Variables,但我尚未验证)都可以包含在 EE 模板中。

因此,如果您需要静态 HTML、图像或其他任何内容,您完全可以通过创建全局变量并使用{global_var_name}输入字段中的普通语法调用它们来模仿相当多的短代码功能。请注意,全局变量中的 EE 标记不会被解析,因此您不能使用它来绕过解析限制!

于 2012-10-21T18:53:34.943 回答