在Joomla中包含PHP函数以在文章中使用的正确方法是什么?

时间:2015-07-08 18:58:20

标签: php joomla2.5

我正在使用Joomla 2.5和DirectPHP。我可以在文章中运行PHP代码就好了。我想包含一个PHP函数库,可以在所有文章中使用。包含函数库的最佳方法是什么?

我尝试从模板的index.php中包含(带有require),甚至将函数直接放在index.php中,如建议的here。本文中未定义任何功能。使用变量和全局变量的测试也会在文章中找到它们未定义。

然后我创建了一个自定义HTML模块,其中包含我在模板中使用的PHP函数,但它们在文章中仍未定义。奇怪的是,如果我尝试在文章中再次声明该功能,我会得到"无法重新声明..."。该函数如何既未定义又无法重新定义?

我还尝试使用命名空间来定义和使用我的函数。结果相同。 我的自定义html模块中的代码:

<?php
namespace c6;
function testit5()
    {
    echo "hello world 5";
    }
?>

我的文章中的代码:

<?php

namespace c6;

testit5();
?>

结果:

致命错误:在/home/testsite/www/www/c6test/plugins/content/DirectPHP/DirectPHP.php(58)中调用未定义的函数c6 \ testit5():eval()&#39; d code on第5行

2 个答案:

答案 0 :(得分:0)

转到,

Login to admin -> Extensions Menu -> Module Manager -> Create New Module -> Choose Custom HTML

创建自己的模块并添加php函数。

答案 1 :(得分:0)

我明白了!我的问题是订单 Joomla处理事情。显然首先处理文章,然后是模板。所以我的代码使用了在定义函数的模块之前执行的函数。 (当我收到“无法重新声明”错误时,它来自模板,而不是文章。)我将我的装载位置从模板移到了文章中,然后就可以了。