在Silverstripe中的导航菜单上显示最新新闻页面
我有一个在Silverstripe中的导航菜单上显示最新新闻页面,silverstripe,Silverstripe,我有一个NewsPage类型,我想在导航中显示一个名为Latest News的条目,该条目将呈现最新的新闻页面(根据创建的字段)。这是可能的吗?根据您的导航模板,您应该能够将指向最新新闻页面的链接插入ul中用于导航的列表项中 要获取最新的新闻页面,您需要在页面控制器中编写一个函数,返回最新的新闻页面。这里有一个例子 function GetLatestNews() { return DataObject::get_one('NewsPage', '', '', 'Created DES
NewsPage
类型,我想在导航中显示一个名为Latest News
的条目,该条目将呈现最新的新闻页面
(根据创建的
字段)。这是可能的吗?根据您的导航模板,您应该能够将指向最新新闻页面的链接插入ul中用于导航的列表项中
要获取最新的新闻页面,您需要在页面控制器中编写一个函数,返回最新的新闻页面。这里有一个例子
function GetLatestNews()
{
return DataObject::get_one('NewsPage', '', '', 'Created DESC');
}
然后在导航模板中,您应该执行以下操作
<ul id="navigation">
<% control Menu(1) %>
<li class="$LinkingMode"><a href="$Link">$MenuTitle.XML</a></li>
<% end_control %>
<li class="$LinkingMode"><a href="$GetLatestNews.Link">Latest News</a></li>
</ul>
这将在导航的末尾插入链接。如果要将链接插入特定位置,可以使用控件内的$Pos检查链接所在的位置。这里有一个例子:谢谢你的详细回答!
<ul id="navigation">
<% control Menu(1) %>
<% if Pos = 2 %>
<li class="$LinkingMode"><a href="$GetLatestNews.Link">Latest News</a></li>
<% end_if %>
<li class="$LinkingMode"><a href="$Link">$MenuTitle.XML</a></li>
<% end_control %>
</ul>