【发布时间】:2012-07-29 22:11:59
【问题描述】:
在弄清楚如何同时使用 Ajax 和 Joomla 框架方面仍然存在问题。我创建了一个可以访问的 Joomla 组件:
index.php?option=com_mycomponent
我在components/com_mycomponent/views/mycomponent/tmpl/default.php 中使用带有 Ajax 的 Jquery:
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<html>
<head>
<title>Ajax with jQuery Example</title>
<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/JavaScript">
$(document).ready(function(){
$("#generate").click(function(){
$("#quote p").load("components/com_mycomponent/views/mycomponent/tmpl/script.php");
});
});
</script>
</head>
<body>
<div id="wrapper">
<div id="quote"><p> </p></div>
<input type="submit" id="generate" value="Generate!">
</div>
</body>
</html>
然后在 script.php 文件中我有这个:
<?php
$user =& JFactory::getUser();
echo "This is the user: ".$user;
?>
如果我不将任何 Joomla 框架代码放在 script.php 中,它就可以正常工作。但这样做的目的是我需要使用 Joomla 框架,因此是创建组件的重点。但是我仍然不明白我需要如何构造 Joomla 组件,所以我没有收到 Class 'JFactory' not found 错误?
【问题讨论】:
-
是您在 script.php 中的唯一代码吗?您可以删除
language="javascript",因为它不需要。为什么在 default.php 中使用html和body标签? -
@Lodder 这是script.php中唯一的代码。但是,我尝试使用一些简单的回显代码来验证我是否可以让 Ajax 调用正常工作(确实如此)。问题是我需要将 Joomla 框架与 script.php 一起使用。 W.r.t html 和 body 标签,我不知道,我认为这是必要的。
标签: jquery ajax joomla joomla2.5