Bonjour à tous,
Je suis nouveau sur Joomla, et je suis en train de développer un composant (pour apprendre )
J'ai donc suivi les tutoriels sur http://docs.joomla.org/.
Cependant, je cherche quelque chose de précis qui reste sans réponse dans la doc.
Le but de mon composant (très simpliste) est d'allé chercher des données dans une table et les afficher. ça, j'y arrive:
http://localhost/Joomla/index.php?option=com_event&id=1 va bien m'afficher la liste de mes données dont l'id = 1 dans la table.
Ce que je souhaite faire, c'est afficher l'ensemble des lignes de ma table lorsque l'id n'est pas spécifié. Classiquement, un select * suivi d'un foreach fonctionnerait à merveille. Mais voilà avec Joomla, je trouve pas comment faire.
Voici mon fichier site/views/event/view.html.php:
Mon fichier site/models/event.php:
et enfin mon site/views/event/tmpl/default.php:
Merci d'avance pour vos futurs explications.
Je suis nouveau sur Joomla, et je suis en train de développer un composant (pour apprendre )
J'ai donc suivi les tutoriels sur http://docs.joomla.org/.
Cependant, je cherche quelque chose de précis qui reste sans réponse dans la doc.
Le but de mon composant (très simpliste) est d'allé chercher des données dans une table et les afficher. ça, j'y arrive:
http://localhost/Joomla/index.php?option=com_event&id=1 va bien m'afficher la liste de mes données dont l'id = 1 dans la table.
Ce que je souhaite faire, c'est afficher l'ensemble des lignes de ma table lorsque l'id n'est pas spécifié. Classiquement, un select * suivi d'un foreach fonctionnerait à merveille. Mais voilà avec Joomla, je trouve pas comment faire.
Voici mon fichier site/views/event/view.html.php:
Code PHP:
class EventViewEvent extends JView
{
function display($tpl = null)
{
$this->description = $this->get('Description');
$this->nom_evenement = $this->get('NomEvenement');
$this->nom_lieu = $this->get('NomLieu');
$this->adresse_rue = $this->get('AdresseRue');
$this->adresse_ville = $this->get('AdresseVille');
$this->adresse_cp = $this->get('AdresseCP');
$this->date_debut = $this->get('DateDebut');
$this->date_fin = $this->get('DateFin');
$this->heure_debut = $this->get('HeureDebut');
$this->heure_fin = $this->get('HeureFin');
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
parent::display($tpl);
}
}
Mon fichier site/models/event.php:
Code PHP:
class EventModelEvent extends JModelItem
{
protected $id;
protected $nom_evenement;
protected $nom_lieu;
protected $adresse_rue;
protected $adresse_ville;
protected $adresse_cp;
protected $date_debut;
protected $date_fin;
protected $heure_debut;
protected $heure_fin;
protected $description;
public function getTable($type = 'Event', $prefix = 'EventTable', $config = array())
{
return JTable::getInstance($type, $prefix, $config);
}
public function getDescription()
{
if (!isset($this->description))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->description = $table->description;
}
return $this->description;
}
public function getNomEvenement()
{
if (!isset($this->nom_evenement))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->nom_evenement = $table->nom_evenement;
}
return $this->nom_evenement;
}
public function getNomLieu()
{
if (!isset($this->nom_lieu))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->nom_lieu = $table->nom_lieu;
}
return $this->nom_lieu;
}
public function getAdresseRue()
{
if (!isset($this->adresse_rue))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->adresse_rue = $table->adresse_rue;
}
return $this->adresse_rue;
}
public function getAdresseVille()
{
if (!isset($this->adresse_ville))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->adresse_ville = $table->adresse_ville;
}
return $this->adresse_ville;
}
public function getAdresseCP()
{
if (!isset($this->adresse_cp))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->adresse_cp = $table->adresse_cp;
}
return $this->adresse_cp;
}
public function getDateDebut()
{
if (!isset($this->date_debut))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->date_debut = $table->date_debut;
}
return $this->date_debut;
}
public function getDateFin()
{
if (!isset($this->date_fin))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->date_fin = $table->date_fin;
}
return $this->date_fin;
}
public function getHeureDebut()
{
if (!isset($this->heure_debut))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->heure_debut = $table->heure_debut;
}
return $this->heure_debut;
}
public function getHeureFin()
{
if (!isset($this->heure_fin))
{
$id = JRequest::getInt('id');
$table = $this->getTable();
$table->load($id);
$this->heure_fin = $table->heure_fin;
}
return $this->heure_fin;
}
}
et enfin mon site/views/event/tmpl/default.php:
Code PHP:
<h1><?php echo $this->nom_evenement; ?></h1>
<p>Lieu: <?php echo $this->nom_lieu; ?></p>
<p>Du: <?php echo $this->date_debut; ?> au <?php echo $this->date_fin; ?></p>
<p>De: <?php echo $this->heure_debut; ?> a <?php echo $this->heure_fin; ?></p>
<p>Adresse: <?php echo $this->adresse_rue; ?></p>
<p>Ville: <?php echo $this->adresse_ville; ?></p>
<p>Code Postal: <?php echo $this->adresse_cp; ?></p>
<p>Description: <?php echo $this->description; ?></p>
Merci d'avance pour vos futurs explications.
Commentaire