Bonjour,
je tiens tout d'abord à m'excuser si je ne suis pas dans la bonne catégorie... Je suis tout nouveau
J'ai acheté le livre de Christophe Demko et ai suivi son tuto "Développer un composant".
Tout ça m'a permis de bien avancer. Par contre, je bloque sur la partie de gestion de paramètres.
Voila, je vous expose mon problème.
Je veux créer un petit composant qui permet d'enregistrer des catégories.
Chaque catégorie contiendra un ou plusieurs services.
Dans l'affichage de mon composant, je souhaite afficher le contenu de une ou plusieurs catégories qui seront sélectionnées dans les paramètres grâce à des checkboxes.
Voici le fichier xml pour les parametres :
Dans ces paramètres, je vais donc chercher le fichier "checkboxes" dans mon dossier "fields"
checkboxes.php
A ce niveau, je génère bien une liste de chekboxes en fonction de ma BDD. Mais je me pose à un problème, comment récupérer ces données afin de les afficher?
Je vous remercie par avance du peu de temps que vous pourrez m'accorder.
Julien
je tiens tout d'abord à m'excuser si je ne suis pas dans la bonne catégorie... Je suis tout nouveau
J'ai acheté le livre de Christophe Demko et ai suivi son tuto "Développer un composant".
Tout ça m'a permis de bien avancer. Par contre, je bloque sur la partie de gestion de paramètres.
Voila, je vous expose mon problème.
Je veux créer un petit composant qui permet d'enregistrer des catégories.
Chaque catégorie contiendra un ou plusieurs services.
Dans l'affichage de mon composant, je souhaite afficher le contenu de une ou plusieurs catégories qui seront sélectionnées dans les paramètres grâce à des checkboxes.
Voici le fichier xml pour les parametres :
Code PHP:
<fields name="request" addfieldpath="/administrator/components/com_service/models/fields">
<fieldset name="request">
<field
name="selection"
type="checkboxes"
label="COM_SERVICE_SERVICE_FIELD_LABEL"
description="COM_SERVICE_SERVICE_FIELD_DESC"
/>
</fieldset>
</fields>
checkboxes.php
Code PHP:
<?php
defined('JPATH_BASE') or die;
jimport('joomla.html.html');
jimport('joomla.form.formfield');
class JFormFieldCheckboxes extends JFormField
{
protected $type = 'Checkboxes';
protected $forceMultiple = true;
protected function getInput()
{
$html = array();
$class = $this->element['class'] ? ' class="checkboxes '.(string) $this->element['class'].'"' : ' class="checkboxes"';
$html[] = '<fieldset id="'.$this->id.'"'.$class.'>';
$options = $this->getOptions();
//die(print_r($options));
$html[] = '<ul>';
foreach ($options as $option) {
$checked = (in_array((string)$option->value,(array)$this->value) ? ' checked="checked"' : '');
$class = !empty($option->class) ? ' class="'.$option->class.'"' : '';
$disabled = !empty($option->disable) ? ' disabled="disabled"' : '';
$onclick = !empty($option->onclick) ? ' onclick="'.$option->onclick.'"' : '';
$html[] = '<li>';
$html[] = '<input type="checkbox" id="'.$this->id.'" name="'.$this->name.'"' .
' value="'.htmlspecialchars($option->title, ENT_COMPAT, 'UTF-8').'"'
.$checked.$class.$onclick.$disabled.'/>';
$html[] = '<label >'.JText::_($option->title).'</label>';
$html[] = '</li>';
}
$html[] = '</ul>';
$html[] = '</fieldset>';
return implode($html);
}
protected function getOptions()
{
// Initialize variables.
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('id, title');
$query->from('#__categories');
$query->where("extension='com_service'");
$db->setQuery((string)$query);
$options = $db->loadObjectList();
return $options;
}
}
Je vous remercie par avance du peu de temps que vous pourrez m'accorder.
Julien
Commentaire