我有一个主索引.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,您必须根据您的要求为您的任务编写component
或module
。
组件为您的要求提供了广泛的选择,如表单提交,不同的页面(布局)等。 模块是最小的单位,它只是在视图页面中的任何位置显示内容(来自数据库或静态)(您可以在页面中包含多个模块。
另一个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 上查找这些主题