这个问题可能看起来有点愚蠢,但我是Joomla新手!如何使文件成为Joomla的一部分?
而我正在编辑一个当前的组件,我想在某些时候调用一个输出数据的小型php 文件。 现在在那个文件中,我想使用joomla类和数据库功能 像setQuery等
我想要它读取joomla前缀(#__)。 和文件是由我创建的,所以我想知道我需要包含什么以及如何。
谁能告诉我该怎么做?
由于提前, 埃里克
这个问题可能看起来有点愚蠢,但我是Joomla新手!如何使文件成为Joomla的一部分?
而我正在编辑一个当前的组件,我想在某些时候调用一个输出数据的小型php 文件。 现在在那个文件中,我想使用joomla类和数据库功能 像setQuery等
我想要它读取joomla前缀(#__)。 和文件是由我创建的,所以我想知道我需要包含什么以及如何。
谁能告诉我该怎么做?
由于提前, 埃里克
好alghimo答案引我到写这篇:
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__));
define('DS', DIRECTORY_SEPARATOR);
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php');
/* Create the Application */
$mainframe =& JFactory::getApplication('site');
但作为mentoined。不建议这样做。
倒不如不包括“外部” PHP文件,我的意思是文件出的Joomla结构。但是如果你仍然想这样做,你可以在任何你需要的地方包含这个php文件,并且只要你从另一个Joomla文件夹中包含这个文件就可以使用所有的Joomla类和函数(也许你的组件入口点,控制器,模型,视图等)。 此外,如果您的文件输出数据,则包含它的最佳位置将来自组件中的模板。如果你在任何其他地方使用它,你应该得到该文件的输出(例如,使用ob_start(),ob_get_contents()方法),并将它们保存为某种变量以从模板输出。 我猜你可能已经知道如何将其纳入该文件,但如果例如你的文件里面的Joomla根中的文件夹“mylibs”,你应该包括这样的:
include JPATH_ROOT . DS . 'mylibs' . DS . 'myfile.php';
为什么是你的原因需要包含该文件,并且无法将其作为模板呈现?
我希望它有帮助。
最好的办法是你写的“真实”的Joomla安装组件,模块,插件等之前,使用等扩展获取程序或JUMI
http://extensions.joomla.org/extensions/edition/custom-code-in-content
适合入门...
嗨idea34,我不需要把代码放在内容中。我有一个组件,我只是想添加一个由XmlHttpRequest调用的小php文件。 –
我认为最好的办法是输出覆盖。 Take a look at the documentation。这样你就不需要编辑一个核心joomla扩展(当然,现在我看起来更接近你不要说编辑核心扩展)。无论如何,输出覆盖非常酷,使用扩展的功能,但你可以做最后的修改。
在您当前的模板文件夹中创建一个名为'html'的文件夹,然后查看链接(或另一个模板,如beez)以确定您要覆盖的特定扩展名的文件夹结构。然后,您可以在该覆盖范围内使用所有joomla功能调用脚本,并且不会破坏核心。
我不想包含它,我想用XmlHtppRequest调用它叫 –