2013-01-08 2 views
2

J'ai créé mon champ de formulaire personnalisé pour un module.Cependant, le travail sera mais quand je reviens au module je ne sais pas quelle est la valeur précédente ou la valeur enregistrée, parce que je ne l'ai pas fait sélectionner Là.Comment obtenir la valeur enregistrée de mon type de champ de formulaire personnalisé dans joomla?

<?php 
// Check to ensure this file is included in Joomla! 
defined('_JEXEC') or die('Restricted access'); 

jimport('joomla.form.formfield'); 

class JFormFieldSlidercategory extends JFormField { 

    protected $type = 'Slidercategory'; 

    // getLabel() left out 

    public function getInput() { 

       $db = JFactory::getDBO(); 
       $query = $db->getQuery(true); 
       $query->select('id,title'); 
       $query->from('#__h2mslider_categories'); 
       $db->setQuery((string)$query); 
       $messages = $db->loadObjectList(); 
       $options =''; 


       if ($messages) 
       { 
         foreach($messages as $message) 
         { 
           $options .= '<option value="'.$message->id.'" >'.$message->title.'</option>'; 
         } 
       } 


       $options = '<select id="'.$this->id.'" name="'.$this->name.'">'. 
         '<option value="0" >--select a category--</option>'. 
         $options. 
         '</select>'; 

       return $options ; 


    } 
} 

J'ai besoin de la fonction qui me renvoie la valeur sauvegardée.

Répondre

3

Vous pouvez obtenir la valeur en utilisant this- $this->value

Ou vous pouvez essayer ce code pour sélectionnez box-

// No direct access to this file 
defined('_JEXEC') or die; 

// import the list field type 
jimport('joomla.form.helper'); 
JFormHelper::loadFieldClass('list'); 

class JFormFieldSlidercategory extends JFormFieldList 
{ 
    /** 
    * The field type. 
    * 
    * @var  string 
    */ 
    protected $type = 'Slidercategory'; 

    /** 
    * Method to get a list of options for a list input. 
    * 
    * @return array  An array of JHtml options. 
    */ 
    protected function getOptions() 
    { 
     $db = JFactory::getDBO(); 
      $query = $db->getQuery(true); 
      $query->select('id,title'); 
      $query->from('#__h2mslider_categories'); 
      $db->setQuery((string)$query); 
      $messages = $db->loadObjectList(); 

     $options = array(); 
     if ($messages) 
     { 
      foreach($messages as $message) 
      { 
       $options[] = JHtml::_('select.option', $message->id, $message->title); 
      } 
     } 

     $options = array_merge(parent::getOptions(), $options);  
     return $options; 
    } 
} 
+0

Merci '$ this-> value' travaillé avec moi la volonté. l'autre erreur d'affichage de code sur 'parent :: getOptions()', peut-être que je me suis trompé (f) – alnassre

Questions connexes