0

最後の li の問題をソートすることはできましたが、最後のリスト アイテムを特定のカテゴリの最新のエントリにリンクすることができないようです。何か案は?

{exp:channel:entries channel="project" limit="6" category_group="1" stop_before="{embed:stop_before}" related_categories_mode="yes" custom_fields="yes"}
{if count == "1"}<ul id="filmStrip">{/if}
<li>
{exp:imgsizer:size src="{project_image}" height="68px" width="137px"}
<a href="{title_permalink='projects-test/view'}"><img src="{sized}" height="{height}" width="{width}" alt=""/></a>
{/exp:imgsizer:size}
<a href="{title_permalink='projects-test/view'}"><p class="thumbTitle">{title}</p></a>
</li>
{if total_results <= '5' AND total_results == count}
    <li>
        <a href="{path='projects-test/view'}/{first_entry_id}"><img src="../../../images/backtostart.jpg" height="68px" width="137px" alt=""/></a>
        <a href="{path='projects-test/view'}/{first_entry_id}"><p class="thumbTitle">Back to start</p></a>
    </li>
{/if}
{if count == total_results}</ul>{/if}
{/exp:channel:entries}
4

1 に答える 1

0

1つの問題は、channel:entriesループの外部で変数{count}{total_results}変数を使用していることです。これは機能しません。

この方法で「戻る」リンクの表示を制限し、そのカテゴリの最初のエントリにリンクする方法は次のとおりです(「最初の」とは「最新」を意味すると思います)。

{exp:channel:entries channel="project" limit="6" category_group="1" stop_before="{embed:stop_before}" related_categories_mode="yes" custom_fields="yes"}
{if count == "1"}<ul id="filmStrip">{/if}
<li>
    {exp:imgsizer:size src="{project_image}" height="68px" width="137px"}
    <a href="{title_permalink='projects-test/view'}"><img src="{sized}" height="{height}"   width="{width}" alt=""/></a>
    {/exp:imgsizer:size}
    <a href="{title_permalink='projects-test/view'}"><p class="thumbTitle">{title}</p></a>
</li>
{if count == total_results}
    {if count == "5"}
    {categories show_group="1" limit="1"}
    {exp:query sql="SELECT t.entry_id as first_entry_id FROM exp_channel_titles t LEFT JOIN exp_category_posts c ON t.entry_id = c.entry_id WHERE c.cat_id = {category_id} AND t.status = 'open' ORDER BY t.entry_date DESC LIMIT 1"}
    <li>
        <a href="{path='projects-test/view'}/{first_entry_id}"><img src="../../../images/backtostart.jpg" height="68px" width="137px" alt=""/></a>
        <a href="{path='projects-test/view'}/{first_entry_id}"><p class="thumbTitle">Back to start</p></a>
    </li>
    {/exp:query}
    {/categories}
    {/if}
</ul>{/if}
{/exp:channel:entries}

私はこれをテストしていませんので、それがうまくいくかどうか私に知らせてください。

更新:「最初のエントリ」クエリを機能させるために試みること:

  • parse="inward"exp:queryタグに追加します。
  • EEコントロールパネル内のSQLマネージャーを介してSQLクエリを直接実行してみて({category_id}変数の代わりにcategory_idを使用)、正しいentry_idが返されるかどうかを確認してください。
  • このコードは、各プロジェクトにそのカテゴリグループ内のカテゴリが1つだけ割り当てられることを前提としていることに注意してください。

上で使用したネストされた{if}ステートメントは機能するはずです。元の投稿を更新した高度なステートメントよりも、クエリステートメントが毎回実行されるため、これを使用することをお勧めします。

于 2011-07-29T13:52:23.417 に答える