Accès à une base de donnée (fonctionnement de Jmodel->getTable) site sous composanJEA

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

  • [Problème] Accès à une base de donnée (fonctionnement de Jmodel->getTable) site sous composanJEA

    Bonjour à tous,

    Tout nouveau sur Joomla et sur ce forum, je suis bloqué à ce jour sur une chose pourtant assez simple : accéder à une table et en extraire les informations.
    J'attaque également la programmation objet et vue l'architecture actuelle je n’arrête pas de rebondir de fonctions en fonctions et me retrouve bloqué.

    Mon site Joomla 2.5 répertorie des agences immobilières ainsi que leurs biens. Il tourne avec un composant nommé JEA estate agency, qui s'occupe de tout cela.

    Voici le principe, je souhaite afficher le nom de l'agence précédemment sélectionné dans un formulaire sur une page précédente, sous la forme : parametre de recherche : "nom de l'agence : Agence blablabla".

    mon soucis est que lorsque je tente de copier le code déja présent pour l'adapter (par exemple celui qui affiche : Departement : Aquitaine)

    Code PHP:
    if( $department_id JRequest::getInt('department_id'0) ) {
        
    $department =& $model->getFeature('departments');
        
    $department->load($department_id);
        
    $html .= '<strong>' Jtext::_('Department') . ' : </strong>'
        
    $department->value '<br />' PHP_EOL;

    Je tente alors :
    Code PHP:
    if( $id_agence JRequest::getInt('mon_agence'0) ) {
        
    $agence =& $model->getFeature('jos_jea_agence');
        
    $agence->load($id_agence);        
        
    $html .= '<strong>' Jtext::_('Agence') . ' : </strong>'
            
    $agence->nom_agence '<br />' PHP_EOL;


    Seulement cela me met l'erreur : "0 - Table jos_jea_agence not supported. File not found."
    Et en debug :
    "
    12JeaViewProperties->getSearchparameters() C:\---\components\com_jea\views\properties\tmpl\default. php:83
    13JeaModelProperties->getFeature() C:\---\\components\com_jea\views\properties\view.html.ph p:325
    14JModel->getTable() C:\---\components\com_jea\models\properties.php:307
    15JError->raiseError() C:\---\libraries\joomla\application\component\model.php: 230
    16JError->raise() C:\---\libraries\joomla\error\error.php:171
    17JException->__construct() C:\---\libraries\joomla\error\error.php:136
    "

    Voici le code de GetFeature() :
    Code PHP:
        function &getFeature$tableName )
        {
            
    $table =& $this->getTable$tableName );
            return 
    $table;
        } 
    Voici le code de GetTable() :
    Code PHP:
    function &getTable()
        {
            static 
    $tables = array();
            
            
    $tableName $this->getTableName() ;
            
            if (!isset(
    $tables[$tableName])) {
                
    $tables[$tableName] =& parent::getTableucfirst$tableName ) );
            }

            return 
    $tables[$tableName]  ;
        }

    function 
    getTableName()
        {
            if ( empty(
    $this->_currentTableName) ) {
            
                
    $mainframe = &JFactory::getApplication();        
                
    $tableName $mainframe->getUserStateFromRequest'com_jea.feature''table''types''word' );
                
    $this->setTableName$tableName );
            }
            
            return 
    $this->_currentTableName ;
        }
    function 
    setTableName$tableName )
        {
            
    $tables = array(
                    
    'types'
                    
    'conditions'
                    
    'departments'
                    
    'slogans'
                    
    'towns'
                    
    'areas'
                    
    'advantages',
                    
    'advantages2',
                    
    'heatingtypes',
                
    'hotwatertypes',
                    
    'const',
                    
    'forme',
                    
    'types_plan_pro',
                    
    'types_plan_perso',
            
    'jos_jea_agence'
                
    );
                
            if( !
    in_array$tableName$tables ) ){
                    
                    
    JError::raiseWarning200'table name : ' $tableName 'doesn\'t exists' );
                    return 
    false;
            }
            
            
    $this->_currentTableName =  $tableName ;
            
            
            return 
    $this->_currentTableName ;
        } 
    S'auriez-vous m'aider a comprendre le principe de ce getTable? D'après ce que je vois, si la table que je demande est dans le tableau, il est censer creer un objet table à partir duquel je pourrais faire des requetes par la suite.

    Seulement ca me leve une erreur comme vous avez pu le voir plus haut.

    Merci d'avance, n'hesitez pas à me dire si vous souhaitez des éclaircissements.

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X