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


What is the correct way to include PHP functions in Joomla for use in articles?

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

我尝试从模板的index.php中包括(使用require),甚至将函数直接放在index.php中,正如这里建议的那样。本文中没有定义任何函数。对变量和全局变量的测试也发现它们在本文中未定义。

然后,我用PHP函数创建了一个自定义HTML模块,然后在我的模板中使用这些函数,但是在本文中它们仍然没有定义。奇怪的是,如果我尝试在文章中再次声明函数,我会得到"不能重新声明…"。函数如何既未定义,又不能重新定义?

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

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

我的文章中的代码:

<?php
namespace c6;
testit5();
?>
结果:

致命错误:调用未定义函数c6' testt5()在/home/testsite/www/www/c6test/plugins/content/directphp/directphp .php(58): eval()'d代码在第5行

go to,

Login to admin -> Extensions Menu -> Module Manager -> Create New Module -> Choose Custom HTML
创建自己的模块并添加PHP函数。

我明白了!我的问题是顺序 Joomla处理事情。显然,首先处理文章,然后是模板。所以我使用函数的代码在定义函数的模块执行之前执行。(当我收到"不能重新声明"错误时,它来自模板,而不是文章。)我把加载位置从模板移到了文章中,它工作了