所以,我有这个壮观的Joomla组件,完成后,将带来世界和平,并解决世界饥饿.我所要做的就是合并通过jquery .ajax调用调用的代码.我目前将它们放在外部位置,以便AJAX调用可以访问它们,但不清楚如何正确地将它们放在Joomla组件结构中.
我完成了研究,相信我,但只发现了很多关于"你可以尝试这个或那个"的讨论.据推测,这是因为Joomla依赖于mootools,所以Jquery通常不参与讨论,但我们在内部拥有这个很棒的jQuery例程库,我想利用正确的方法.
在我看来,必须为每个调用创建一个视图,这似乎是完成它的许多不必要的工作/开销.(比如要求飞行员与乘客一起办理登机手续).在我看来,它应该不是那么困难,所以我对我所缺少的东西感到困惑,或者为什么似乎没有一个直接的答案.
更新解决方案 接受Soren的回答,因为它直接回答了问题,虽然我没有指定Joomla 1.5,但我能够快速调整他的工作答案.
值得一提的是Greg P--他的回答开启了一个其他可能性的世界,我没有考虑过快速解决其他项目/挑战.
下面是我能够成功地调用网址从我的组件来使用AJAX我加入,使其工作有什么我的组件和.
index.php?option=com_mycomponent&format=raw&controller=ajax.raw&task=myfunction
Run Code Online (Sandbox Code Playgroud)
部件\ com_mycomponent \控制器\ ajaxraw.php
<?php
defined('_JEXEC') or die( 'Restricted access' );
jimport('joomla.application.component.controller');
class MycomponentControllerAjaxraw extends JController
{
function myfunction()
{
echo json_encode("SomethingOrOther");
}
}
?>
Run Code Online (Sandbox Code Playgroud)
你应该进行Ajax调用
index.php?option=com_yourcomponent&task=ajax.function_name&format=raw
Run Code Online (Sandbox Code Playgroud)
然后,您需要创建一个名为ajax.raw.php的新控制器,并在其中编写名称与URL中的"function_name"匹配的函数,并在调用URL时执行它们.
从那些你可以使用模型$ this-> getModel(); 和需要时的视图等,甚至是懒惰的,并将你的逻辑直接放在控制器中.
如果您没有组件,请尝试使用Joomla Component Creator
| 归档时间: |
|
| 查看次数: |
3724 次 |
| 最近记录: |