首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为joomla 3创建组件

为joomla 3创建组件
EN

Stack Overflow用户
提问于 2013-12-24 15:33:19
回答 2查看 727关注 0票数 0

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

代码语言:javascript
复制
index.php?option=com_testup

但是我收到了一个404错误。这是我的文件结构

代码语言:javascript
复制
com_testup.php
com_testup.xml
controller.php

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

代码语言:javascript
复制
<?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();
?>

我的controller.php的内容是:

代码语言:javascript
复制
<?php
defined ('_JEXT') or die ('Restericted access');
jimport ('joomla.application.component.controller');
class testupControler extents JcontrolerLagecy 
{
function display()
  {
    echo 'displaying';
  }
}
?>

我的com_content.xml的内容是:

代码语言:javascript
复制
<?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>

但我无法从后端访问此组件,并且从前端.under joomla administrator中的组件菜单中,当我单击它时,会看到"testup“菜单.but。

代码语言:javascript
复制
404 Component not found

对我来说。请帮帮我。

EN

回答 2

Stack Overflow用户

发布于 2013-12-24 16:48:16

  1. ,你会得到一个404,因为你还没有真正做好一个组件。这是因为你引用的文章是关于组件如何工作的,这是一个非常轻量级的描述,这就是为什么它被称为" of How a Component Functions".
  2. The 404,并且当Joomla尝试render组件时会生成误导性的消息。在2.5版本中,如果将调试系统设置为Yes,并将Error Reporting设置为Development,您将看到call stack和消息,并且如下所示:

例如:

代码语言:javascript
复制
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

要制作一个完整的组件,对于Joomla的每个部分(实际上是两个应用程序,一个用于/administrator,另一个用于前端),您需要Views和许多其他位。

Joomla有它自己的MVC,你需要学习它,通过"Developing a MVC Component“介绍开始工作。

票数 2
EN

Stack Overflow用户

发布于 2013-12-27 00:06:42

你还没看过呢。并不是所有的组件都需要视图,也不是所有的视图都需要是html的(例如,它们可以是xml或者json ),但是如果你想浏览一个页面并渲染它,你需要创建一个html文档(看看核心扩展,它们都有view.html.php)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20756799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档