2

Expression EngineでWordpressのショートコード機能をシミュレートする方法はありますか?

コミュニティのルールを守りたいのですが、既存の質問の「回答」セクションをクリックすると、他の回答に応答するのではなく、実際に質問に回答する必要があるという免責事項があります。

そのため、上記と同じ質問があります。私はWordPressにルーツを持つ開発者であり、ExpressionEngineでのWPショートコードの動作を模倣したいと思います。私がやりたいのは、コードのスニペットをテンプレートとして保存し、サイト全体で再利用できるようにすることです。

たとえば、複数のページでアコーディオンメニューを使用する場合は、ページの編集中にクリックするだけで、コードがプレースホルダーコンテンツとともに表示され、ユーザー/開発者はこれを実際のコンテンツに置き換えることができます)。グラフィックスライドショーが必要ですか?クリックをクリックし、画像/見出し/テキストオーバーレイを定義します。

これを投稿しているので、EEプラグインライブラリを調べようとしていますが、これまで何も見つからなかったので、最初にここに投稿したいと思いました。

4

3 に答える 3

2

以前にhttp://www.tyssendesign.com.au/articles/cms/more-stash-examples/で使用したアプローチと、Stashを使用した他のいくつかの例について説明します。

于 2012-10-23T23:24:37.737 に答える
1

簡単な答え:そのようなことはありません...まだ。ショートコードアドオンは現在ベータ版です。

今のところ長い答え:カスタムフィールドを使用してください。例:列が定義されたアコーディオンのマトリックスフィールドで、必要な数の行を追加します。次に、そのためのタグをテンプレートに追加します。

ギャラリーと同じ-ギャラリーフィールドを作成し(マトリックスはこれでもうまく機能します)、テンプレートにコードを追加してギャラリーを構築します。

これらのフィールドをオプションにすると、使用時にフロントエンドにのみ表示されます。

これらのコンテンツのチャンクをメインのコンテンツ領域に追加したい場合は、NSMTransplantを使用してこれを行うことができます。

これを実現するために1つのサイトで使用するコードの簡略化されたスニペットを次に示します。

{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}などを使用して、コンテンツ内に写真、ビデオ、およびギャラリーを埋め込みます。

確認できるもう1つのソリューションは、 Content Elementsです。これにより、エントリに単一のカスタムフィールドを入力するより自由な形式の方法が可能になります。

お役に立てば幸いです。

于 2012-10-16T21:03:12.677 に答える
0

EEテンプレート内でグローバル変数を使用することもできます。テンプレート内でEEタグを使用することはできませんが、グローバル変数は機能します。したがって、グローバル変数として保存できるもの(アドオンで作成された変数を含む可能性がありますが、私はそれを確認していません)をEEテンプレートに含めることができます。Low Variables

{global_var_name}したがって、静的HTMLや画像などが必要な場合は、グローバル変数を作成し、入力フィールド内で通常の構文を使用してそれらを呼び出すことにより、かなりのショートコード機能を完全に模倣できます。ただし、グローバル変数内のEEタグは解析されないため、これを使用して解析制限を回避するエンドランを実行することはできません。

于 2012-10-21T18:53:34.943 に答える