从Joomla中的另一个PHP调用PHP

时间:2014-03-03 02:55:41

标签: php joomla

我有一个主要的index.php。这个PHP上有一个href链接,我从中调用另一个PHP。第二个PHP中有一些jdoc语句。这些不会被执行。如果我在index.php中使用'include',那么它可以正常工作。如果我使用href指向同一index.php中的某个位置,它也可以工作。

index.php代码:

<a href="/joomla16/templates/zmtemplate/second.php">Trial</a> 

second.php

<jdoc:include type="modules" name="Header3"             style="none" /> 

<jdoc:include type="modules" name="Header14"            style="none" />                     

4 个答案:

答案 0 :(得分:1)

首先,您正在尝试访问不属于Joomla框架的页面。

在Joomla中,你不能只是明确地使用second.php之类的新页面。

它基于MVC,您必须根据您的要求为您的任务编写componentmodule

组件为您的需求提供了广泛的选项,例如表单提交,不同页面(布局)等。模块是它只显示内容(来自数据库或静态)的最小单元,在视图页面中的任何位置(您可以包含多个模块)在页面中。)

另一个Dirty选项是快速达到您的要求,如下所示。

不是在模板中加载second.php而是在根目录中使用它,然后将Joomla框架包含在该页面中,使用 ht-access 为该页面创建一些SEF URL,你可以使用下面的脚本来包含Joomla框架工作。

define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );//this is when we are in the root,means path to Joomla installation
define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();

希望它有意义......

或者你必须详细描述你想要实现的目标。

答案 1 :(得分:1)

确保在second.php文件中导入了Joomla!框架函数,以便您使用<jdoc:include type="modules" style="xhtml" />等函数。在second.php文件的最开头尝试这样的东西;

<?php
 defined('_JEXEC') or die;
jimport('joomla.filesystem.file');
JHtml::_('behavior.framework', true);
?>

执行此操作后,现在可以调用jdoc include语句并查看它是否有效。希望这会有所帮助。

答案 2 :(得分:0)

Joomla需要一个入口点文件来设置Joomla应用程序,并触发生成页面所涉及的所有步骤。这不是模板目录中的index.php文件。它是基础Joomla目录中的index.php文件。

在模板目录中,index.php文件只是默认模板(不是应用程序的入口点)。您可以通过在网址的查询字符串中传递tmpl=<filename>来加载不同的模板(还有一些其他好方法可以实现此目的)。但是模板系统非常通用,你根本不需要一个不同的模板文件。

答案 3 :(得分:0)

你需要学习HTML,CSS,然后PHP&amp; MYSQL。一旦你理解了所有你可以学习Joomla。

PHP&amp; MYSQL有些可选,但我强烈建议您理解它们以充分使用Joomla。

您的<jdoc>语句需要在Joomla安装中的Joomla模板中使用。您不能在任何随机的index.php文件中放置<jdoc>语句,并希望它们有效。您需要joomla模板引擎才能正确呈现这些标记。

如果你在任何普通的.php文件中使用include(),你的权利如下:

<?php include('filename.php'); ?>

没有Joomla,这将有效。所以你需要先从基础开始。

查看Lynda.com,了解所有这些科目的视频,甚至在youtube.com上查找这些科目