question recupération de données cote administrator $this->eventList as $event

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

  • question recupération de données cote administrator $this->eventList as $event

    Bonjour, je cherche à modifier légèrement un composant cote administrator. Je n'arrive pas à retrouver certains éléments ajoutés dans mon query :
    Cote helper.php, j'ai un
    "// Get Orders
    public static function getCourses() {
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query->select('COUNT(id)');
    $query->from($db->quoteName('#__splms_courses'));
    $query->where($db->quoteName('published')." = 1");
    $query->order('ordering DESC');
    $db->setQuery($query);
    $results = $db->loadResult();

    return $results;
    }
    "
    qui fonctionne auquel j'ai ajouté un
    "
    # ADD ON GET EVENTS
    public static function getEvents() {
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query->select('title');
    $query->from($db->quoteName('#__splms_events'));
    $query->order('ordering DESC');
    $query->setLimit('10');
    $db->setQuery($query);
    $results = $db->loadResult();

    return $results;
    }
    "
    pour retrouver les évenements - si je trace tout bien, ma requete comprend maintenant les cours ainsi que les évenements de la base de données. Seulement, je ne les retrouve pas du cote de mon affichage default qui affiche entre autre les cours de la premiere partie de requete :

    foreach ($this->courseList as $course) {
    echo '<li><a href="index.php?option=com_splms&view=course&layou t=edit&id='. $course->id .'">' . $course->title . '</a><small class="created">'. JHtml::_('date', $course->created, JText::_('DATE_FORMAT_LC3')) .'</small></li>';
    }
    Bref, il faut que je trouve sous quelle entité sont enregistrées mes évenements. a savoir ($this->eventList as $event) mais mon eventList, en fait n'existe pas ou je ne l'appelle pas correctement...
    Vraissemblablement, il me manque une connexion quelque part

  • #2
    Bonjour, personne?
    j'ai du mal m'exprimer... En fait ce qu'il me manque est de savoir sous quelle dénomination je peux récupérer mon eventList dans mes parametres... Pas trop familier avec l'object de php... ou à défault, savoir ce qui appel la fonction getCourses, qui me permettrait de savoir comment appeler une fonction getEvents et du coup controler l'appelation de la chose...
    Merci

    Commentaire


    • #3
      Au vu du code, ton composant ne respecte pas la "logique" de Joomla.
      Normalement on utilise getItems du model et
      Code PHP:
      $this->items         $this->get('Items'); 
      dans le vue.

      Le foreach tu l'as certainement trouvé dans ton template de vue dans un dossier type /components/com_toncomposant/views/ta_vue/tmpl/default.php

      Il doit être initialisé dans /components/com_toncomposant/views/ta_vue/view.html.php par un truc du genre

      Code PHP:
      $this->courseList         $this->get('Courses'); 
      Alors soit :

      Tu rajoutes ta requête dans la requête de la méthode getCourses du model par exemple avec une liaison,
      et tu récupères le tout dans $this->courseList (cela peut être une table dans le this->coursesList à récupérer avec un 2ème foreach)

      soit il n'y a aucune logique de liaison entre tes 2 requêtes et tu appelles ta 2ème requête séparément dans la vue par un
      Code PHP:
      $this->eventList         $this->get('Events'); 
      et tu fais le foreach dans le template de la vue à la suite ou avant le 1er.

      PS : si c'est dans l'admin il faut rajouter /administrator devant tous les chemins
      Dernière édition par roland_d_alsace à 02/04/2019, 16h20
      A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
      Rejoignez le Joomla Users Groupe Alsace...
      roland_d_alsace va-t-il devenir roland_du_grand_est ?

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X