从Joomla中的另一个PHP调用PHP



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

索引.php代码:

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

第二.php

<jdoc:include type="modules" name="Header3"             style="none" /> 
<jdoc:include type="modules" name="Header14"            style="none" />                     
首先,

您正在尝试访问不属于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();

希望它有意义..

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

确保在第二个.php文件中,您已经导入了Joomla! 框架函数,以便您使用<jdoc:include type="modules" style="xhtml" />等函数和其他函数。 在第二个文件的开头尝试这样的事情.php;

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

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

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

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

你需要

学习HTML,CSS,然后是PHP和MYSQL。一旦你了解了所有的东西,你就可以学习Joomla。

PHP和MYSQL在某种程度上是可选的,但我强烈建议理解它们以充分利用Joomla。

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

如果您在任何像这样的纯.php文件中使用 include() 时,您的权利:

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

这将在没有Joomla的情况下起作用。因此,您需要首先从基础知识开始。

查看 Lynda.com 以获取有关所有这些主题的培训视频,甚至可以在 youtube.com 上查找这些主题

最新更新