在 cakephp 中包含跨布局的通用代码

Including common code across layouts in cakephp

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

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

<?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')
    )
);
?>

在配置文件中使用这个。您可以在阅读文件时使用它。

示例如下:- 在配置文件夹 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