在cakephp中包含跨布局的公共代码

时间:2015-03-09 22:10:28

标签: php cakephp-2.0

我有一个包含页面配置的代码块,如下所示。我希望在CakePHP中的视图布局中使用它。我可以使用PHP include函数,但我希望与CakePHP约定保持一致。所以我尝试将这段代码放在一个元素,一个公共文件等中,但无论我做什么,代码块(和定义的变量)似乎都没有可用于页面。有人可以告诉我做错了吗?

我也尝试将其放在布局中,但这些代码块也在布局中共享 - 那么如何在布局中包含相同的代码段?

<?php
/* Template variables */
$template = array(
    'name'          => 'Mywebsite.com',
    'boxed'         => false,
    'active_page'   => basename($_SERVER['PHP_SELF'])
);

/* Primary navigation array (the primary navigation will be created automatically based on this array) */
$primary_nav = array(
    array(
        'name'  => 'Home',
        'url'   => Router::url('/home')
    ),
    array(
        'name'  => 'Features',
        'url'   => Router::url('/features')
    ),
    array(
        'name'  => 'Pricing',
        'url'   => Router::url('/pricing')
    ),
    array(
        'name'  => 'Contact',
        'url'   => Router::url('/contact')
    ),
    array(
        'name'  => 'About',
        'url'   => Router::url('/about')
    ),
    array(
        'name'  =>  'Login',
        'url'   =>  Router::url('/login')
    )
);
?>

1 个答案:

答案 0 :(得分:0)

在配置文件中使用此功能。在阅读文件时,您可以使用它。

以下是示例: - 在Config Folder example_config.php中创建一个文件并在其中添加此代码。

 $template = array(
    'name'          => 'Mywebsite.com',
    'boxed'         => false,
    'active_page'   => basename($_SERVER['PHP_SELF'])
);

使用变量在控制器中使用此方法: -

   Configure::load('example_config','default');

   $first = Configure::read('name');
   echo  $first;

会显示

Mywebsite.com