我是joomla的新手。我根据这个docs创建了一个组件,在joomla 3上成功地安装了.this组件。我通过在我网站的url末尾添加这个部分来访问这个组件。
index.php?option=com_testup但是我收到了一个404错误。这是我的文件结构
com_testup.php
com_testup.xml
controller.php我从上面的文件创建了一个压缩文件,并将这个压缩文件的名称设置为com_testup。我的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();
?>我的controller.php的内容是:
<?php
defined ('_JEXT') or die ('Restericted access');
jimport ('joomla.application.component.controller');
class testupControler extents JcontrolerLagecy
{
function display()
{
echo 'displaying';
}
}
?>我的com_content.xml的内容是:
<?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。
404 Component not found对我来说。请帮帮我。
发布于 2013-12-24 16:48:16
,
404,因为你还没有真正做好一个组件。这是因为你引用的文章是关于组件如何工作的,这是一个非常轻量级的描述,这就是为什么它被称为" of How a Component Functions".404,并且当Joomla尝试render组件时会生成误导性的消息。在2.5版本中,如果将调试系统设置为Yes,并将Error Reporting设置为Development,您将看到call stack和消息,并且如下所示:例如:
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“介绍开始工作。
发布于 2013-12-27 00:06:42
你还没看过呢。并不是所有的组件都需要视图,也不是所有的视图都需要是html的(例如,它们可以是xml或者json ),但是如果你想浏览一个页面并渲染它,你需要创建一个html文档(看看核心扩展,它们都有view.html.php)。
https://stackoverflow.com/questions/20756799
复制相似问题