0

我正在寻找对我来说真的很难做的事情。我真的试图在网上搜索解决方案,但我似乎找不到任何解决方案。我也尝试这样做了几个小时。


我在做什么:为 PHPBB2 制作主题,安装了一个可以在主题中包含 PHP 的 MOD。问题是什么:当我在 php 中做 {} 标签时,它无法回显这些标签。假设我有一个为我创建表的函数,如下所示:

CreateMyTable(Name,Size,Color);

我将这些字符串放入函数中:

CreateMyTable("{FORUM_NAME}",1000,red);

标题保持空白,我实际上希望它回显 {FORUM_NAME}。我怎样才能做到这一点?

PS:我不能这样做

CreateMyTable(?>{FORUM_NAME}<?php , 1000, red);

它不会起作用,因为<? = <!-- PHP --> , ?> = <!-- ENDPHP -->.

  • 谢谢你的帮助 :)
4

2 回答 2

1

如果您查看 PHPbb2 模板类,您会发现该模板只是使用 eval() 函数评估的 PHP 集。您可以在使用 eval() 解析 PHP 之前打印它的内容,然后使用模板提供的变量名称,例如 IE(这可能无法正常工作,具体取决于您的模板的设置方式):

CreateMyTable(((isset($this->_tpldata['.'][0]['FORUM_NAME'])) ? $this->_tpldata['.'][0]['FORUM_NAME'] : '' ),1000,randomcolor());

请注意,为了与上述方式类似,您实际上必须将其插入到您的模板类中。

An much better solution is to avoid using the mod that allows PHP in templates and use JavaScript in the templates to create the function, then print a call to that JavaScript function.

于 2012-07-27T15:12:25.393 回答
0

这将起作用:

CreateMyTable(FORUM_NAME,1000,red);

我还注意到red不带引号使用 - 这也是一个常数吗?如果它是一个变量,它需要$在它前面有一个。如果它是一个字符串,它应该在引号之间。

CreateMyTable(FORUM_NAME,1000,"red");
于 2012-07-27T15:05:08.730 回答