2013-10-16 84 views
1

我第一次创建了一个新组件。其后端功能都运行良好。现在我想在前台展示。我创建了一个新的菜单项并选择了这个新组件,但是在前端,当我点击我的菜单Error 500与View not found [name, type, prefix]: tenders, html, tendersView。 我的网站的文件夹结构是:如何在joomla 2.5前端发布新创建的组件2.5

joomla 
    |components 
    |com_tenders 
     |controller.php 
     |tenders.php 
     |models 
      |tenders.php 
     |views 
      |tenders 
       |view.html.php 
       |tmpl 
        |default.php 

com_tenders/Controller.php这样

<?php 
defined('_JEXEC') or die('Restricted access'); 

jimport('joomla.application.component.controller'); 

class TendersController extends JController { 

     public function display() { 

     $input = JFactory::getApplication()->input; 
     $input->set('view', $input->getCmd('view', 'Tenders')); 
     parent::display(); 
     } 
} 
?> 

的意见/标段/ view.html.php

<?php 
defined('_JEXEC') or die('Restricted access'); 

jimport('joomla.application.component.view'); 

class TendersViewTenders extends JView { 

    function display($tpl = null) { 

    $model =& $this->getModel(); 
    $msg = $model->getMsg(); 
    $this->assignRef('msg',$msg); 

    parent::display($tpl); 

    } 
} 
?> 

型号/标段.php

<?php 
defined('_JEXEC') or die('Restricted access'); 
jimport('joomla.application.component.modelitem'); 

class TendersModelTenders extends JModelItem { 

    public function getMsg() { 
      $db =& JFactory::getDBO(); 
      $query = "SELECT * FROM #__tenders"; 
      $db->setQuery($query); 
      $msg = $db->loadResult(); 

      return $msg; 
    } 
} 
?> 

请让我知道是否需要任何澄清。

回答

1

的意见/标段/ view.html.php重命名类从TendersViewTenderTendersViewTenders

你需要有tenders.php文件过你com_tenders文件夹。这应该看起来像这样:

defined('_JEXEC') or die('Restricted access'); 
require_once (JPATH_COMPONENT.DS.'controller.php'); 

$controller = new TendersController(); 

$controller->execute(JRequest::getCmd('task')); 
$controller->redirect(); 
+0

我更新为你说的,但仍然发生相同的错误 – user007

+0

也重命名你的模型。到TendersModelTenders – di3sel

+0

我也这样做了..但是没用先生......同样的错误.... :( – user007