zoukankan      html  css  js  c++  java
  • 10、UmbracoNewsSite:首页新闻聚合


      目前为止已经实现了基本的新闻展示和新闻内容添加管理的功能演示,这一篇是Umbraco入门的最后一篇教程,我们看看怎么在首页拿到其他页面的数据的。

      要在首页拿到几个新闻板块的节点,然后分别读取最新的新闻数据显示在首页中。
      我们需要在Home模板中进行编写代码,具体的代码如下:
      其中比较关键的一个方法就是AncestorOrSelf(),这个方法能够拿到指定层级的节点数据。

    @inherits Umbraco.Web.Mvc.UmbracoTemplatePage
    @{
        Layout = "Master.cshtml";
        var selectClass = Model.Content.AncestorOrSelf(1).Children().ToList();  //拿到第一级节点(根节点)下的几个几点,也就是几个新闻板块。
        List<IPublishedContent> list = new List<IPublishedContent>();  //存储每个板块拿出来的最新的新闻。
        foreach (var item in selectClass)
        {
            //因为要展示最新的10条数据,所以每次个节点(新闻页总共有三个)取出最新的10个,存储起来(30条分别是三个板块最新的新闻,每个取10条为了避免只有一个板块更新新闻时,也显示其他板块新闻的问题)
            list.AddRange(item.Children().OrderByDescending(o => o.CreateDate).Take(10).ToList());
        }
    }
    <div class="jumbotron">
        <h1>@CurrentPage.GetPropertyValue("content")</h1>
    </div>
    <div class="container">
        <div class="row">
            <div class="col-lg-12">
                @foreach (var post in list.OrderByDescending(o => o.CreateDate).Take(10))
                {
                    <div class="row" style="margin-top:10px">
                        <a href="@post.Url">
                            <div class="col-lg-4 col-sm-6">
                                <img src="@post.GetCropUrl("newsImage", "newsImage")" class="img-responsive img-thumbnail" />
                            </div>
                            <div class="col-lg-8 col-sm-6" style="color:#000000">
                                <h4 style="font-family:'Microsoft YaHei'">@post.GetPropertyValue("title")</h4><b>@post.CreateDate.ToLongDateString()</b>
                                <p>@Umbraco.Truncate((post.GetPropertyValue("introduction")).ToString(), 100, true)</p>
                            </div>
                        </a>
                    </div>
                    <hr />
                }
            </div>
        </div>
    </div>
    

      我已经给其他几个新闻板块添加了新闻,现在可以看看效果了:

  • 相关阅读:
    yii2中的url美化
    一级域名301重定向到www二级域名
    使用meta来控制浏览器的渲染方式
    同一页面不同编码的提交处理
    Yii2.0 UrlManager
    sqlsever连接两个不同服务器上的数据库进行查询
    php 实现传入参数的传出
    xcode如何修改项目名称
    ios如何实现应用之间的跳转
    ios程序如何实现系统自带的分享
  • 原文地址:https://www.cnblogs.com/haijd/p/Umbraco-Getting-Started-10.html
Copyright © 2011-2022 走看看