【问题标题】:Kohana Template navigation, header or footerKohana 模板导航、页眉或页脚
【发布时间】:2014-09-29 00:41:52
【问题描述】:

我正在尝试导航到我的模板。

控制器:

class Controller_Admin_Topnav extends Controller_Template {

    public $template = 'admin/template';

    public function action_index()
    {       
        $topnav = 566;
        $this->template->content = View::factory('admin/topnav')
            ->bind('topnav', $topnav);
    }

}

模板

    <?=View::factory('admin/topnav')?>
    <?= $content; ?>

查看

    <?=$topnav?>

错误: 如果我打电话给 domain/admin/topnav 它就不行。我收到此错误。

ErrorException [ Notice ]: Undefined variable: topnav

我做错了什么?

谢谢!

【问题讨论】:

  • 您的控制器类为 Controller_Admin_Topnav,因此它适用于 'domain/admin/topnav'。
  • 没错,只是我想在我的模板中包含这个
  • 这是解决方案的一部分。 stackoverflow.com/questions/8158017/…

标签: php templates kohana


【解决方案1】:

如果您使用来自控制器的路径:domain/admin/topnav 它可以工作,因为您在此处绑定 $topnav 变量

$this->template->content = View::factory('admin/topnav')
        ->bind('topnav', $topnav);

当您在模板中渲染它时,没有绑定 $topnav 变量,因此您的 topnav.php 视图在渲染时会抛出错误。

在这里也绑定 $topnav 变量,例如。

<?=View::factory('admin/topnav')
    ->bind('topnav', $topnav)?>
<?= $content; ?>

当然要先声明$topnav。

【讨论】:

    【解决方案2】:

    您需要做的就是将一些视图绑定到主模板的变量。

    例子:

    主模板

    <?php echo $navigation; ?>
    <?php echo $content; ?>
    

    导航模板

    <p>This is the navigation</p>
    

    内容模板

    <p>This is the content of my website</p>
    

    在控制器中

    $this->template = View::factory('mainTemplate')
           ->bind('navigation', View::factory('navigationTemplate'))
           ->bind('content', View::factory('contentTemplate'));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-16
      相关资源
      最近更新 更多