Php 为joomla 3创建一个组件

Php 为joomla 3创建一个组件,php,joomla,Php,Joomla,我是乔姆拉的新手。 我根据docs.joomla创建了一个组件。这个组件在joomla 3上安装成功。我通过在我的网站url的末尾添加此部分来访问此组件 index.php?option=com_testup 但我收到一个404错误。 这是我的文件结构 com_testup.php com_testup.xml controller.php 我从上面的文件创建了一个zip文件,并为这个zip文件的名称设置了com_testup。 my com_testup.php的内容是: <?php

我是乔姆拉的新手。 我根据docs.joomla创建了一个组件。这个组件在joomla 3上安装成功。我通过在我的网站url的末尾添加此部分来访问此组件

index.php?option=com_testup
但我收到一个404错误。 这是我的文件结构

com_testup.php
com_testup.xml
controller.php
我从上面的文件创建了一个zip文件,并为这个zip文件的名称设置了com_testup。 my com_testup.php的内容是:

<?php
defined('_JEXEC') or die('Restricted access');
require_once(JPATH_COMPONENT .'/controller.php');
// Get an instance of the controller prefixed by <name>
$controller = JControllerLegacy::getInstance('testup');

// Perform the Request task
$controller->execute(JFactory::getApplication()->input->getCmd('task'));

// Redirect if set by the controller
$controller->redirect();
?>
对我来说。 请帮帮我

  • 您得到了一个
    404
    ,因为您还没有真正制作一个组件。这是因为您引用的文章是关于组件如何工作的,它是一个非常轻量级的描述,这就是为什么它被称为“”
  • 当Joomla试图渲染组件时,会生成
    404
    和误导性消息。在2.5中,如果将调试系统设置为
    ,并将错误报告设置为
    开发
    ,您将看到
    调用堆栈以及消息,它将如下所示:
  • e、 g

    要制作一个完整的组件,您需要查看Joomla的每个部分(实际上是两个应用程序,一个用于/administrator,另一个用于前端),以及大量其他位


    Joomla有你自己需要学习的东西,通过“”介绍开始工作。

    你还没有发表看法。并非所有组件都需要视图,也并非所有视图都需要是html(例如,它们可以是xml或json),但如果您想浏览到一个页面并进行渲染,则需要创建一个html文档(查看所有具有view.html.php的核心扩展)。

    您不认为com_tesup.php的名称应该是testup.php。并尝试在netbeans或ecllipse中使用xdebug来查找代码导致问题的地方。
    <?php
    defined ('_JEXT') or die ('Restericted access');
    jimport ('joomla.application.component.controller');
    class testupControler extents JcontrolerLagecy 
    {
    function display()
      {
        echo 'displaying';
      }
    }
    ?>
    
    <?xml version="1.0" encoding="utf-8"?>
    <extension type="component" version="3.1.0">
     <name>testup</name>
     <version>1.01</version>
     <description>test upload</description>
    
     <filename>com_testup.xml</filename>
     <filename>com_testup.php</filename>
      <filename>controller.php</filename>
    
     <administration>
      <menu>testup</menu>
     </administration>
    </extension>
    
    404 Component not found
    
    Call stack
    # Function  Location
    1 JAdministrator->dispatch() /jdev/administrator/index.php:46
    2 JComponentHelper::renderComponent() /jdev/administrator/includes/application.php:153
    3 JError::raiseError() /jdev/libraries/joomla/application/component/helper.php:337
    4 JError::raise()   /jdev/libraries/joomla/error/error.php:251