我正在尝试制作一个简单的面板模块。我有一个带有文本字段的表单,可以输入值,然后该值通过呈现功能(例如:
)打印到.tpl文件。function my_module_panel_render($subtype, $conf, $args, $contexts) {
$block = new stdClass();
$block->content = [
'#theme' => 'my_tpl',
'#config' => $conf,
];
return $block;
}
然后在.tpl上:
<?php print $config['name_field']; ?>
这很好。
但是我想稍微改变一下值。我了解到我需要添加一个hook_preprocess_theme()
函数。
但是,实际上我该如何更改这些值?然后如何将更改后的值返回到$ conf?
做类似的事情
$conf['name_field'] = $conf['name_field'] . $some_other_stuff;
似乎没有用。
有人知道我能做什么吗?
答案 0 :(得分:0)
好的,我没想到的是$conf
是$variables
数组的子数组,hook_preprocess_theme()
作为参数,如我的{{1 }}:
hook_theme
因此,我的function my_module_theme() {
return [
'my_module' => [
'template' => 'theme/my_theme',
'render element' => 'element',
'variables' => [
'config' => NULL,
],
],
];
}
函数现在看起来像:
hook_preprocess_theme()