web-dev-qa-db-fra.com

Comment obtenir la valeur JformFieldList par ID

J'ai créé un champ personnalisé comme ci-dessous

class JFormFieldPaddyStatus extends JFormFieldList {

  protected $type = 'paddystatus';

  public function getOptions($id='') {
    $options = array();

    $options[0] = 'Raw';
    $options[1] = 'Dried';
    $options[2] = 'Grind';
    $options[3] = 'Ready';

    return $options;
  }
}

Dans la base de données, il stocke les valeurs sous la forme 0, 1, etc.

Au moment où je montre le statut comme ci-dessous

<td><?php echo $row->status; ?></td>
2
Malaiselvan

Vous devez créer une nouvelle instance de votre classe de champs et obtenir des options. Alors echo statut par key de $optionsarray.

Les 10 premières lignes ne sont nécessaires que si les classes ne sont pas encore chargées.

<?php
// Import JFormHelper if not exist
jimport('joomla.form.helper');

// Add your field path
JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');

// Load JFormFieldPaddyStatus class
JFormHelper::loadFieldClass('PaddyStatus');

// Classes loaded
// New instance
$PaddyStatus = new JFormFieldPaddyStatus();

// Get options
$options = $PaddyStatus->getOptions();

// Show status
<td><?php echo $options[$row->status]; ?></td>
2
Rene Korss