更改default.ctp中的特定类

时间:2015-05-15 15:59:09

标签: cakephp layout

以下是我的default.ctp文件。我的问题是如何改变   来自其他视图或页面的class="post-content"

   <main class="main-content">
          <div class="post-content"> 
            <?php echo $this->Session->flash(); ?>
            <?php echo $this->fetch('content'); ?>  
          </div>            
   </main>

1 个答案:

答案 0 :(得分:2)

在您的布局中,您可以更改静态类以包含如下所示的简单if / else语句:

<main class="main-content">
    <div class="<?php echo (isset($layout_class_var)) ? $layout_class_var : 'post-content'; ?>"> 
        <?php echo $this->Session->flash(); ?>
        <?php echo $this->fetch('content'); ?>  
    </div>            
</main>

然后,每次您想要设置新的类名来代替默认类 post-content 时,只需将所需的类名设置为 $ layout_class_var 变量中的你的控制器动作:

public function someAction() {
    //set layout class to 'new-layout-class'
    $this->set('layout_class_var', 'new-layout-class');
}