Joomla组件中的致命错误

时间:2009-07-28 10:27:20

标签: joomla

我是Joomla的新手,我开始创建数据库和创建组件的教程。我创建了一个名为com_joomlabook的文件夹。在该文件夹中有2个文件。

joomlabook.php:

<?php

defined( '_JEXEC' ) or die( 'Restricted access' );
require_once (JApplicationHelper::getPath('joomlabook_html'));

$document=&JFactory::getDocument();
$document->setTitle('Example component Joomla! book');//set the page title 

switch(JRequest::getCmd('task'))
{          
    case 'free':
      // more display possibilities
       break;
    default:
       JoomlabookController::listJoomlabook();
       break;
}


class JoomlabookController
{
   function listJoomlaBook()
   {
      $db =& JFactory::getDBO();
      $db->setQuery('SELECT * from #_joomla_book');
      $rows = $db->loadObjectList();//get the results from the table
      Joomlabookdetails::view($rows);

   }
}

我将该文件放在与joomlabook.html.php相同的目录中。在这个文件中,我有一个包含方法的类来查看我从joomlabook.php文件中检索到的结果。

如:

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


  class Joomlabookdetails
  {
    function view($rows)
    {
       foreach ($rows as $row) 
       {
         echo $row->text;
       }
    }
  }

但是当我在浏览器中使用:

运行它时
http://localhost/joomla/Joomla_1.5.7-Stable-Full_Package/administrator/index.php?option=com_joomlabook

我收到错误:

Fatal error: require_once() [function.require]: Failed opening required '' (include_path='.:/usr/share/php:/usr/share/pear') 
in /home/ntdg/public_html/joomla/Joomla_1.5.7-Stable-Full_Package/administrator/components/com_joomlabook/joomlabook.php 
on line 6

这发生在getPath()调用上。谁能告诉我为什么?

2 个答案:

答案 0 :(得分:0)

您只需将'html'传递给JApplicationHelper::getPath,例如:

JApplicationHelper::getPath('html')

供参考,您可以在此处查看:JApplicationHelper::getPath

答案 1 :(得分:-1)

JApplicationHelper现已在J3.0中弃用

require_once(JApplicationHelper::getPath('admin_html'));

似乎可以使用:

适用于管理员

require_once(JPATH_COMPONENT.DIRECTORY_SEPARATOR.'admin'.DIRECTORY_SEPARATOR.'admin.html.php');

为前端

      require_once(JPATH_COMPONENT.DIRECTORY_SEPARATOR.'admin.html.php');

将您的文件admin.componentname.php重命名为componentname.php

以上步骤使非MVC组件在J3.x中运行