繁体   English   中英

得到控制器Joomla的实例

[英]getting the instance of controllers Joomla

所以我试图创建我的第一个组件,为此我创建了以下控制器:

    <?php
defined('_JEXEC') or die ('Access denied!');
/**
 * Created by JetBrains PhpStorm.
 * User: Marc
 * Date: 18-08-13
 * Time: 02:18
 * To change this template use File | Settings | File Templates.
 */
jimport( 'joomla.application.component.controller' );
class MyCompController implements  JController{

    function create(){
        echo "Welcome to create";
    }

    function delete (){
        $id =JRequest::getVar('id');
        echo "you want to delete "-$id;
    }

}

现在我对joomla不是很熟悉,只能找到2.5的文档

$controller = JController::getInstance('MyComp');

获取控制器实例的相关方法。

我看了接口和JController接口不提供getInstance方法,因为我试过:

$controller = JController::getApplication('MyComp');

但没有运气。

那你怎么得到控制器?

您的组件具有与组件同名的引导脚本。 在你的情况下,那将是mycomp.php 只要发生带有option=mycomp的请求,Joomla就会包含该文件。 在那里你设置并调用你的控制器:

$controller = new MyCompController;
$controller->execute(JFactory::getApplication()->input->getCmd('task'));
$controller->redirect();

我不确定你想要完成什么。 但我认为你需要的是Joomla 2.5 教程

您需要有一个名为MyComp.php的文件,就像它们在上面的链接中定义HelloWorld.php一样。

而已。 然后,当您使用某些代码创建视图时,请说出一个表单:

<form action='index.php?option=com_MyComp&task=delete'>
....
</form>

这将访问控制器的删除功能代码。

另外,使用Component Creator创建组件所需的模板可能更容易。 很好的免费在线工具,构建模板,所有孩子都使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM