YII项目实现迭代二:使用嵌套布局渲染“新闻中心”列表页_优品建站

YII项目实现迭代二:使用嵌套布局渲染“新闻中心”列表页

  在前面的内容中,我们完成了首页视图的渲染和“新闻中心”列表页视图的渲染,接下来使用嵌套布局重新渲染列表页。“新闻中心”列表页和内容页效果图如图3-4所示。

图3-4 “新闻中心”列表页和内容页效果图
  比较“新闻中心”列表页和内容页效果图,发现除了头部导航栏和底部版权信息栏相同之外,右侧部分也相同。头部导航栏和底部版权信息栏的内容我们放到了布局文件headerfooter.php文件中,右侧部分我们放在新的布局文件article.php文件中,比如渲染“新闻中心”列表页执行流程。渲染执行流程如图3-5所示。
图3-5 嵌套布局实现“新闻中心”列表页渲染执行流程图
具体实现步骤如下。
  步骤1:修改“新闻中心”列表页控制器protected/controllers/ArticleController.php文件,代码如下。

    /**
      * ArticleController控制器主要实现新闻中心等栏目的设计与呈现
      *
      * @author刘琨
      */
    class ArticleController extends Controller{
          //Article控制器中的所有动作方法都要用到article布局文件,
          //所以重写成员属性$layout在所有动作方法外部
          public $layout='article';
          //实现新闻中心栏目列表页视图渲染
          public function actionNews(){
              $this->render("news"); //栏目新闻中心
          }
    }
  控制器修改好后,接下来创建控制器中render()方法渲染的“新闻中心”内容页视图文件news.php。
  步骤2:创建“新闻中心”内容视图。在protected/views/article目录下创建视图文件news.php,其中部分代码如下。

    <div class="indexLeft">
          <div class="location marginbtm10">
              <h1>新闻中心</h1>
              <span>您的位置:网站首页>新闻中心</span>
          </div>
          <div class="listPanle marginbtm15">
              <div class="listItem">
                    <div class="">
                        <div class="title"><span>2011-08-23</span><h3 class="Blue
bold">我国商用洗碗机普及率低市场发展空间大</h3></div>
                        <div class="pvcontent">
                              <p>近日,中国家用电器研究院和国家家... <span class="more1">
[阅读全文]</span></p>
                        </div>
                    </div>
              </div>
              ......
              <! --pages start-->
              <div class="pages"></div>
              <! --pages end-->
          </div>
    </div>
  这部分的代码是栏目列表内容,也就是和内容页不同的中部左侧部分。列表页和内容页相同的中部右侧部分,我们放到布局文件article.php中。
  步骤3:创建布局文件article.php。在protected/views/layouts目录下的article.php文件中的代码如下:

    <? php $this->beginContent('//layouts/headerfooter); ? >
    <div id="main" class="marginbtm20">
          <div class="indexMain">
          <? php echo $content; ? >
              <! --右侧-->
              <div class="indexRight">
                    <div  class="title2  indextt4"><span><a  href="#">行业百科
</a></span></div>
                    ……
                    <div  class="title2  indextt4"><span><a  href="#">行业新闻
</a></span></div>
                    ……
              </div>
          </div>
    </div>
    <? php $this->endContent(); ? >
  在布局文件article.php中调用了之前创建的headerfooter.php文件。headerfooter.php文件中包含了头部导航栏和底部版权信息栏的内容,这里不再展示其源码。
  由嵌套布局实现“新闻中心”列表页渲染的执行流程如下。
  · 首先渲染视图文件news.php的内容,存储至布局文件article.php的$content中。
  · 因为在布局文件article.php中使用了另外一个布局文件headerfooter.php,所以又把news.php和article.php两个文件中的内容存储至headerfooter.php文件的$content中。
  · 最后,渲染headerfooter.php布局文件,并将结果返回至用户。
  提示:嵌套布局经常应用在类似前台开发这种场合,如首页和内容页相同的部分可能只是网页的头部、导航和尾部,这几部分可以创建一个布局文件。因为每一个内容页右侧又都相同,所以内容页又有自己的布局文件。
  “新闻中心”内容页的渲染请读者自行完成。

  • YII框架CController类的render()方法执行流程
    CController类的render()方法用于渲染带布局的视图,为了了解render()方法的执行流程,需查看framework/web/CController.php文件中render()方法源代码。
  • 网站制作:Yii框架中的控制器
    Yii框架中的控制器是CController或其子类的实例,它在用户请求时由应用创建。当一个控制器运行时,它执行所请求的动作,动作通常会引入所必要的模型并渲染相应的视图。动作的最简形式,就是一个名字以action开头的控制器类方法。
  • 网站制作的基础:版面设计与内容的有效结合
    随着互联网的发展,网站制作的版面设计变得越来越重要。访问者不想再看到只提供内容的网站。虽然内容很重要,但是只有把网站做好了,把网站的内容与版面设计有效结合起来,这种网站和站点才容易被人接受。
  • javascript实践案例:网页计算器
    网页计算器在Web开发中是很常见的功能。下面利用JavaScript中的函数,完成整数加、减、乘、除的运算,实现一个简易版的计算器。
  • 网站设计制作关键环节就是确定网站界面
    界面就是网站给浏览者的第一印象,往往决定着网站的可看性,在确定网站的界面时要注意以下三点:1.栏目与板块编排,2.目录结构与链接结构,3.进行形象设计。
  • 集成基于Promise的工具及Promise的用法
    我们要解释一下最后一条规则“如果一个工具会返回Promise,那么你就不需要这个工具的插件”,以免你还没听说过Promise。总体而言,Promise是一种用同步的方法来处理异步结果的方法。听起来很难懂?好吧,也许是有点。先剧透一下:Promise可以非常好地集成到Gulp task系统中
  • 网站建设如何选择和优化网站域名
    网站建设的第一步就是要注册域名,域名就相当于是实体店的地址,选址非常的重要。那么如何去选择域名更有利于网站优化和推广呢?本文就向大家详细介绍选择域名需要注意那些事项。
  • 网站制作具体流程及六大步骤是什么?
    网站制作是一个综合性极强的工作,涉及到商业策划、平面设计、人机界面、程序语言和数据库等,本文介绍网站制作六大步骤。
  • uniapp实现多端开发, PHP写api接口的一些注意事项与安全策略
    市面上很多关于多端开发的框架,比较常用,流行的框架 uni-app,Chameleon(变色龙),taro这些,都可以支持多端,一套代码,8个平台支持。
  • 房地产类网站制作报价内容明细
    本文主要介绍房地产类网站制作报价的内容和模板,包括移动端和pc端页面的设计和功能的开发。
  • 网站制作 服务

    免费网站制作报价,免费优化,1对1服务,个性化定制服务

    pc和wap网站制作

    多年建站经验,上千个成功案例,
    为您提供一站式服务

    网站维护改版

    大厂经验工程师对现有网站进行
    改版,修复,维护。

    小程序制作

    微信小程序,支付宝小程序,
    百度小程序

    响应式网页设计

    响应式网页设计可以与多种设备兼容,
    如智能手机,平板电脑和PC