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

一个问题是您在 channel:entries 循环之外使用{count}and{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。
  • 请记住,此代码假定每个项目在该类别组中仅分配一个类别。

我上面使用的嵌套{if}语句应该可以工作 - 使用它比使用更新原始帖子的高级语句更好,因为它会导致查询语句每次都运行。

于 2011-07-29T13:52:23.417 回答