2009-07-28 61 views
0

我對Joomla非常陌生,我從創建數據庫和創建組件的教程開始。我創建了一個名爲com_joomlabook的文件夾。在該文件夾中有2個文件。Joomla組件中的致命錯誤

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()呼叫。有人可以告訴我爲什麼嗎?

回答

0

你只需要通過 'HTML',以JApplicationHelper::getPath,例如:

JApplicationHelper::getPath('html')

僅供參考,你可以看看這裏:JApplicationHelper::getPath

-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