返回介绍

13 UI 组件 ContentDecorator 示例

发布于 2025-02-21 12:35:50 字数 2070 浏览 0 评论 0 收藏 0

和 Java Yii Framework 中的 Layout 也允许嵌套,这是通过 CContentDecorator 来实现的,不过代码中并不需要直接使用 CContentDecorator ,而是在定义 layout 使用

    $this->beginContent('path/to/view');
    // ... content to be decorated
    $this->endContent();

其中 view 为另外一个布局。

本例定义四个 Layout,一个嵌套一个:

picture13.1

图片 13.1 picture13.1

    ///main.php
 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title><?php echo  Yii::app()->name;?></title>
    </head>
 
    <body>
    <h1>Widget Demo</h1>
 
    <?php echo $content; ?>
 
    </body>
    </html>
 
    ///row1.php
    <?php $this->beginContent('/layouts/row2'); ?>
    <div>
            <?php echo $content; ?>
    </div>
    <p />
    <div>
            <?php echo 'row1 part'; ?>
    </div>
    <?php $this->endContent(); ?>
 
    //row2.php
    <?php $this->beginContent('/layouts/row3'); ?>
    <div>
            <?php echo $content; ?>
    </div>
    <p />
    <div>
            <?php echo 'row2 part'; ?>
    </div>
    <?php $this->endContent(); ?>
 
    ///row3.php
    <?php $this->beginContent('/layouts/main'); ?>
    <div>
            <?php echo $content; ?>
    </div>
    <p />
    <div>
            <?php echo 'row3 part'; ?>
    </div>
    <?php $this->endContent(); ?>

显示结果如下:

picture13.2

图片 13.2 picture13.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文