0

おかしなことに聞こえるかもしれませんが、エクスプレッション エンジン チャネル モジュールのループの外側に投稿情報を表示する必要があります。これは可能ですか?

4

4 に答える 4

1

EEのSQLクエリテンプレートタグを使用できます(データベーステーブル名を知っているか、データベーステーブル名にアクセスでき、データベースで何を探すべきかを知っている場合)。

http://expressionengine.com/user_guide/modules/query/index.html

基本的には、必要なものだけを出力します。チャネルや特定のものに属している必要はありません。1つのキッカーは、SQL構文の基本を知っている必要があるということですが、SQL構文についての実用的な知識が少しあれば、それを使ってさらに多くのことを行うことができます。

于 2011-02-21T03:47:27.840 に答える
0

Stashも参照することをお勧めします。

于 2012-10-24T19:30:28.470 に答える
0

MX Jumper というアドオンがあり、エントリ ループ内から変数を「設定」してから、テンプレートの別の場所で「取得」できます (後で解析されるため、HTML ループの前後は関係ありません)。

または、現在大流行しているアプローチは、アドオンの Stash を使用して、明確に使用する必要があるすべての要素を、設定してから取得する stash 変数として保存することです。それらを取得するには、後の解析段階で行う必要があります。このアプローチの優れた点は、stash がユーザーまたはサイト レベルで再利用できるように「設定された」変数を格納し、有効期限を決定できることです。これにより、パフォーマンスが向上します。「テンプレート部分」の考え方を使用してこれを広く適用すると、すべてを stash に格納してから、それらを少数のラッパー テンプレートに呼び出すことができます。これにより、stash を使用して、たとえば、エントリのタイトル、

于 2012-10-24T19:15:30.990 に答える
0

SQL に興味がない場合は、作業中のテンプレート内にテンプレートを埋め込むだけで済みます。と呼ばれるテンプレート グループ内のindexおよびテンプレートを編集していると仮定した簡単な例を次に示します。meta'news'

indexテンプレートの内容:

{exp:channel:entries channel="news"}
  <div class="entry">
    <h1>{title}</h1>
    <div class="content">{body}</div>
    {embed="news/meta" this_entry_id="{entry_id}"}
  </div>
{/exp:channel:entries}

metaテンプレートの内容:

{exp:channel:entries channel="news" dynamic="no" limit="1" entry_id="{embed:this_entry_id}"}
  <div class="meta">
    <p>{entry_date}</p>
    <p>{author}</p>
  </div>
{/exp:channel:entries}

ご覧のとおり、indexテンプレートはテンプレートを埋め込んでいmetaます。テンプレートにパラメーターを渡して、meta情報を出力するエントリ ID を認識していることに注意してください。EE のテンプレート埋め込み機能に慣れていない場合は、EE docsで詳細を読むことができます。テンプレートを他のテンプレートに埋め込むことは、{exp:channel:entries}ループに複数回アクセスするための優れた方法です。

于 2011-02-22T01:11:38.033 に答える