在MyBB论坛中将php变量传递给模板

时间:2016-05-31 20:15:20

标签: php templates eval mybb

我的问题我的MyBB forum 将php变量传递给MyBB模板,我希望我无法通过$ width y $高度

我可以使用插件在模板中有效地使用PHP,所以这应该有效:

<div style="float:right; display:inline-block; width: <?php echo $width; ?>px; height: <?php echo $height; ?>px; padding-left:10px; padding-right:10px; margin-left:10px; margin-right:10px; none repeat scroll 0% 0%;" > 

但不是! echo工作但没有打印!

从控制器方面来看,这是:

$height = 240;
$width = 120;
// ...
eval("\$width = \"\$width\";");
eval("\$height = \"\$height\";"); 

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

这是因为MyBB要求您将变量设置为全局变量,以使其对模板可见。据我所知,没有其他方法可以传递它。

在定义变量的函数顶部添加以下内容:

global $width, $height;

这使它们可以在功能范围之外访问。有关其工作原理的更多信息,请参见Variable Scope in the PHP documentation

您还应该仔细检查以确保挂钩在模板传递给eval()之前已运行。