0

joomla 3.0 html.php ファイルにツールバーを追加しました。addNew ボタンをクリックすると表示されます

エラーが発生しました。0 無効なコントローラ: name='Comboscategories', format=''

html.php ファイルは次のようになります。

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

class ComboscategoriesViewsStatisticsHtml extends JViewHtml
{
  function render()
  {
    $app = JFactory::getApplication();

    //retrieve task list from model
    $model = new ComboscategoriesModelsStatistics();
    $this->stats = $model->getStats();

    $this->addToolbar();
    /*$this->displayComboslist();*/
    //display
    return parent::render();
  } 


    protected function addToolbar()
    {
        $canDo  = ComboscategoriesHelpersLendr::getActions();

        // Get the toolbar object instance
        $bar = JToolBar::getInstance('toolbar');

        JToolbarHelper::title(JText::_('Combos Category'));


             JToolBarHelper::addNew('Comboscategories.add');
           /* JToolbarHelper::preferences('com_comboscategories');*/
            JToolBarHelper::save();
            JToolBarHelper::cancel();
            JToolBarHelper::deleteList();
            JToolBarHelper::publishList();
            JToolBarHelper::unpublishList();

    }
}

controller.php(ディスプレイ.php)

<?php 

defined( '_JEXEC' ) or die( 'Restricted access' ); 

class ComboscategoriesControllersDisplay extends JControllerBase
{

  public function execute()
  {

    // Get the application
    $app = $this->getApplication();

    // Get the document object.
    $document     = JFactory::getDocument();

    $viewName     = $app->input->getWord('view', 'statistics');
    $viewFormat   = $document->getType();
    $layoutName   = $app->input->getWord('layout', 'default');

    $app->input->set('view', $viewName);

    // Register the layout paths for the view
    $paths = new SplPriorityQueue;

    $paths->insert(JPATH_COMPONENT . '/views/' . $viewName . '/tmpl', 'normal');

    $viewClass  = 'ComboscategoriesViews' . ucfirst($viewName) . ucfirst($viewFormat);
    $modelClass = 'ComboscategoriesModels' . ucfirst($viewName);

    $view = new $viewClass(new $modelClass, $paths);

    $view->setLayout($layoutName);

    // Render our view.
    echo $view->render();

    return true;
  }

}

これに関連して検索しましたが、解決策が見つかりません。これを整理するのを手伝ってください

4

2 に答える 2

0

モデルの名前を使用する必要があります。ComboscategoriesControllersDisplay というコントローラーがある場合、呼び出しは JToolBarHelper::addNew('display.add') にする必要があります。

これを読むのが一番: http://docs.joomla.org/J3.x:Developing_a_MVC_Component/Adding_backend_actions

于 2014-08-06T15:15:10.197 に答える