使用默认值将设置从视图传递到元素

时间:2014-06-30 03:11:05

标签: php cakephp

我试图传递这样的设置:

$mySettings = array(
    'settingOne' => 'someValue',
    'settingTwo' => 5,
    'settingThree' => true
);

从视图到像这样的元素:

echo $this->element('foobar', $mySettings);

如何在元素内设置它们的默认值?

或者将它们设置在其他地方更好吗?如果是这样,在哪里以及如何?

谢谢。

3 个答案:

答案 0 :(得分:1)

如果设置条目是动态的,您可以尝试:

function element($entry, $settings, $default = null) {
    if (isset($settings[$entry])) {
        return $settings[$entry];
    } else {
        return $default;
    }
}

如果设置条目是静态的,您最好定义一个类,每个条目都作为属性。

答案 1 :(得分:1)

appsController中编写默认代码,如下所示

$mySettings = array(
    'settingOne' => 'someValue',
    'settingTwo' => 5,
    'settingThree' => true
);
$this->set('foobar', $mySettings);

如果你想修改$mySettings,那么你必须在Controller中编写你想要改变的相同代码。

您必须在

等元素中使用foobar变量
$foobar['settingOne'];
$foobar['settingTwo'];
$foobar['settingThree'];

答案 2 :(得分:0)

您传入的密钥会转换为变量

所以就这样做

if (!isset($theConfigKey)) {
    $theConfigKey = ...
}