仍然有問題想辦法解決如何一起使用Ajax和Joomla框架。我創建了我可以訪問一個Joomla組件:Joomla with Ajax:致命錯誤:未找到類'JFactory'
index.php?option=com_mycomponent
我在components/com_mycomponent/views/mycomponent/tmpl/default.php
使用jQuery使用Ajax:
<?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 2012-08-01 03:20:26
@Lodder這是script.php中唯一的代碼。不過,我已經玩過一些簡單的回聲代碼來驗證我可以讓Ajax調用工作(它的確如此)。問題是我需要用script.php來使用Joomla框架。 W.r.t html和body標籤,我不知道,我認爲這是必要的。 – Tom 2012-08-01 03:28:06