2009-07-28 11 views
0

Ich bin sehr neu in Joomla und ich begann mit einem Tutorial beim Erstellen einer Datenbank und beim Erstellen einer Komponente. Ich habe einen Ordner namens com_joomlabook erstellt. In diesem Ordner befinden sich 2 Dateien.Schwerwiegender Fehler in Joomla Komponenten

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); 

    } 
} 

Ich habe die Datei im selben Verzeichnis wie joomlabook.html.php. In dieser Datei habe ich die Klasse, die die Methode enthält, um die Ergebnisse anzuzeigen, die ich aus der Datei joomlabook.php abgerufen habe.

wie:

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


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

Aber wenn ich es im Browser ausgeführt werden:

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

bekomme ich den Fehler:

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 

Dieses auf dem getPath auftritt() Anruf. Kann mir jemand sagen warum?

Antwort

0

Sie müssen nur 'html' passieren zu JApplicationHelper::getPath, Beispiel:

JApplicationHelper::getPath('html')

Als Referenz können Sie hier sehen: JApplicationHelper::getPath

-1

JApplicationHelper ist jetzt in J3.0 veraltet

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

Scheint zu arbeiten mit:

für Administrator

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

für Frontend

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

Dateien umbenennen admin.componentname.php

obigen Schritte machen nicht MVC Komponenten in J3 laufen componentname.php .x

Verwandte Themen