Creation d'un ouveau composant et erreur : Call to a member function on a non-object

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Creation d'un ouveau composant et erreur : Call to a member function on a non-object

    Bonjour,

    J'essaye de créer mon premier composant sur Joomla 1.5.
    Je travaille sur une plateforme Windows + apache 2.2.17 + PHP 5.3.6 et joomla 1.5.22

    Lorsque j'accède à mon composant par l'adresse http://localhost/index.php?option=com_theatrebooking, j'obtiens le message d'erreur suivant :

    Fatal error: Call to a member function getSeancesList() on a non-object in C:\www\htdocs\jomla1.5\components\com_theatrebooki ng\views\theatrebooking\view.html.php on line 12


    voici mon fichier components\com_theatrebooking\views\theatrebooking \view.html.php :
    Code PHP:
    <?php
    jimport
    'joomla.application.component.view');

    class 
    TheatrebookingViewTheatrebooking extends JView
    {
        function 
    display($tpl null)
        {        
            
    $greeting "Bonjour tout le monde!";
            
    $this->assignRef'greeting',$greeting );
            
    $model = &$this->getModel();
            
    $rows $model;
            
    $rows $model->getSeancesList();
            
    $this->assignRef('rows'$rows);
            
    parent::display($tpl);
        }
    }
    ?>
    et mon fichier components\com_theatrebooking\models\theatrebookin g.php :

    Code PHP:
    <?php
    defined
    ('_JEXEC') or die();
    jimport('joomla.application.component.model'); 
    class 
    AutoModelAuto extends JModel {
      function 
    _getSeancesQuery( &$options )
        {
            
    $db JFactory::getDBO();
            
    $id = @$options['id'];
            
    $select 'dates';
            
    $from '#__akreservations_categories';
            
    $wheres[] = 'category = spectacle2011 OR category = premiere2011 ';
            
    $query "SELECT " $select .
            
    "\n FROM " $from .
            
    "\n WHERE " implode"\n AND "$wheres );
            echo 
    $query;
            return 
    $query;
        }
        
        function 
    getSeancesList$options=array() )
        {
            
    $query $this->_getSeancesQuery$options );
            
    $result $this->_getList$query );
            return @
    $result;
        }
    }
    ?>
    Merci de votre aide pour résoudre ce problème.

  • #2
    Re : Creation d'un ouveau composant et erreur : Call to a member function on a non-ob

    Bonjour

    Ne devrais-tu pas spécifier autre chose sur ton querystring ?

    Par défaut, le seul ?option=com_monComposant n'est pas suffisant. Il faut généralement un ?option=com_monComposant&task=MaTache&view=UneVue& layout=unLayout.

    option = nom du composant que Joomla doit appeler
    task = nom de la tâche; située dans le controlleur, à exécuter

    au besoin,
    view = nom de la vue à afficher
    layout = type de layout (default, form, ...)
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : Creation d'un ouveau composant et erreur : Call to a member function on a non-ob

      Merci de ton aide.

      J'ai essayé en utilisant l'URL http://localhost/index.php?option=co...theatrebooking
      Mais j'ai le même message.

      Pour info, voici mon fichier components\com_theatrebooking\controller.php :
      Code PHP:
      <?php
      jimport
      ('joomla.application.component.controller');

      class 
      TheatrebookingController extends JController
      {
          function 
      display()
          {
              
      parent::display();
          }
      }
      ?>
      et mon fichier components\com_theatrebooking\theatrebooking.php :

      Code PHP:
      <?php
      // Accès direct interdit
      defined('_JEXEC') or die('Restricted access');
      // Lecture du contrôleur primaire
      require_once (JPATH_COMPONENT.DS.'controller.php');
      // Définition d’un autre contrôleur
      if($controller JRequest::getWord('controller')) {
          
      $path JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
          if (
      file_exists($path)) {
              require_once 
      $path;
          } else {
              
      $controller '';
          }
      }
      // Générer son propre contrôleur
      $classname    'TheatrebookingController'.$controller;
      $controller = new $classname( );
      // Chercher si des paramètres sont fournis (Requests)
      $controller->executeJRequest::getVar('task'));
      // Redirection dans le contrôleur
      $controller->redirect();
      ?>

      Commentaire


      • #4
        Re : Creation d'un ouveau composant et erreur : Call to a member function on a non-ob

        salut
        je crois que tu as un souci de nommage de classe, un résidu du com_auto que tu utilises comme base
        class AutoModelAuto extends JModel {
        devrait être
        class TheatrebookingModelTheatrebooking extends JModel {
        ça ira p'tet mieux comme cela
        Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
        http://www.template-creator.com Outil de création de templates
        Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

        Commentaire


        • #5
          Re : Creation d'un ouveau composant et erreur : Call to a member function on a non-ob

          Je n'avais pas vu ce reliquat du composant modèle

          Merci

          Commentaire


          • #6
            Re : Creation d'un ouveau composant et erreur : Call to a member function on a non-ob

            si c'était bien ça le souci tu peux passer ton sujet en Réglé, merci
            Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
            http://www.template-creator.com Outil de création de templates
            Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X