Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Joomla模板中包含PHP函数文件_Php_Function_Joomla_Include_Joomla2.5 - Fatal编程技术网

如何在Joomla模板中包含PHP函数文件

如何在Joomla模板中包含PHP函数文件,php,function,joomla,include,joomla2.5,Php,Function,Joomla,Include,Joomla2.5,我一直试图在我的模板中包含一个文件,其中包含一些我打算用于验证成员访问级别的功能,以便在Joomla 2.5中为不同类型的用户定制内容。问题是,尽管我使用了标准的PHP include语句,但在模板中似乎没有一个函数是可用的。相反,调用函数会导致任何使用模板的页面崩溃。我可以在正在工作的模板顶部硬编码函数,但我也计划在web应用程序的其他地方使用一些函数,因此将它们存储在include文件中是有意义的。有人知道为什么函数不能从include中工作,但在添加到模板顶部时却可以工作吗?以下是包含in

我一直试图在我的模板中包含一个文件,其中包含一些我打算用于验证成员访问级别的功能,以便在Joomla 2.5中为不同类型的用户定制内容。问题是,尽管我使用了标准的PHP include语句,但在模板中似乎没有一个函数是可用的。相反,调用函数会导致任何使用模板的页面崩溃。我可以在正在工作的模板顶部硬编码函数,但我也计划在web应用程序的其他地方使用一些函数,因此将它们存储在include文件中是有意义的。有人知道为什么函数不能从include中工作,但在添加到模板顶部时却可以工作吗?以下是包含include语句的模板的前几行:

<?php 
defined( '_JEXEC' ) or die( 'Restricted access' );
JHtml::_('behavior.framework', true);

include ("/includes/checkAccess.php");

您可以在Joomla文件中包含函数,该文件已在每个页面上处于活动状态,而不是通常读取某些内容并排除其他内容的模板


Joomla是否已经使用了一个函数文件?你可以把它放在最下面。还要确保您的变量或全局变量都不会与Joomla冲突,确保它们都非常独特

我已经弄明白了。我上面的include路径是不正确的,即使它没有抛出错误(除非我从include调用了一个函数)。以下是正确的,并成功地将函数拉入模板:

include ("./includes/checkAccess.php");

对于访问检查,我将使用内置ACL(访问控制列表)


阅读更多信息。

如果文件夹“includes”位于同一目录中,这当然有效

include(dirname(__FILE__)."/includes/checkAccess.php");

include正在工作,它只是没有通过的成员函数。如果Joomla阻止函数进入模板,那么我更希望知道为什么以及我必须遵循哪些规则才能使它们工作。如果有人有解释或能给我指一份解释它的文档,我将不胜感激。如果它是必需的文件,您应该使用
require
,而不是
include
。您失败的include语句发出了警告,您可能没有显示这些警告。相反,Require会创建一个致命错误。除此之外,他们做同样的事情。