2009-07-28 5 views
0

Je suis très nouveau sur Joomla et j'ai commencé avec un tutoriel dans la création d'une base de données et la création d'un componenet. J'ai créé un dossier nommé com_joomlabook. Dans ce dossier sont 2 fichiers.Erreur fatale dans les composants 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); 

    } 
} 

J'ai le fichier dans le même répertoire que joomlabook.html.php. Dans ce fichier, j'ai la classe contenant la méthode pour voir les résultats que j'ai récupérés à partir du fichier joomlabook.php.

Tels que:

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


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

Mais quand je le lance dans le navigateur en utilisant:

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

Je reçois l'erreur:

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 

Cela se produit sur la getPath() appel. Quelqu'un peut-il me dire pourquoi?

Répondre

0

Il vous suffit de passer 'html' à JApplicationHelper::getPath, par exemple:

JApplicationHelper::getPath('html')

Pour référence, vous pouvez regarder ici: JApplicationHelper::getPath

-1

JApplicationHelper est maintenant dépréciée dans J3.0

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

Semble travailler avec:

pour l'administrateur

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

pour frontend

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

Renommez votre admin.componentname.php de fichier à componentname.php

étapes ci-dessus font des composants non MVC pour exécuter en J3 .x

Questions connexes