Example #1
0
 /**
  * 2016-01-29
  * @override
  * @see \Magento\Framework\Data\Form\Element\Select::getValues()
  * https://github.com/magento/magento2/blob/720667e/lib/internal/Magento/Framework/Data/Form/Element/Select.php#L62
  * https://github.com/magento/magento2/blob/720667e/lib/internal/Magento/Framework/Data/Form/Element/Select.php#L124
  * @return array(array(string => string))
  */
 public function getValues()
 {
     if (!isset($this->{__METHOD__})) {
         $this->{__METHOD__} = df_a_to_options(range(df_fe_fc_i($this, 'dfMin'), df_fe_fc_i($this, 'dfMax')));
     }
     return $this->{__METHOD__};
 }
Example #2
0
 /**
 * 2015-11-30
 * 2015-12-13
 * Обратите внимание, что $label может быть как пустой строкой, так и null,
 * и система будет вести себя по-разному в этих случаях.
 * Если $label равно null, то подпись у элемента будет отсутствовать.
 * Если $label равно пустой строке, то у элемента будет пустая подпись:
 * пустые теги <label><span></span></label>
 * Пустая подпись позволяет нам задействовать в качестве подписи FontAwesome:
 * мы цепляем к пустому тегу label правила типа:
 			> label:not(.addafter) {
 				display: inline-block;
 				font-family: FontAwesome;
 				// http://fortawesome.github.io/Font-Awesome/icon/text-width/
 				&:before {content: "\f035";}
 			}
 *
 * 2015-12-28
 * Добавил возможность передачи в качестве $values простого одномерного массива,
 * например: $this->select('decimalSeparator', 'Decimal Separator', ['.', ',']);
 *
 * @used-by \Df\Framework\Form\Element\Fieldset::yesNo()
 * @param string $name
 * @param string|null|Phrase $label
 * @param array(array(string => string|int))|string[]|string|OptionSourceInterface $values
 * @param array(string => mixed)|string $data [optional]
 * @param string|null $type [optional]
 * @return \Magento\Framework\Data\Form\Element\Select|E
 */
 protected function select($name, $label, $values, $data = [], $type = 'select')
 {
     if (!is_array($values)) {
         if (!$values instanceof OptionSourceInterface) {
             $values = df_o($values);
         }
         df_assert($values instanceof OptionSourceInterface);
         $values = $values->toOptionArray();
     }
     if (!is_array($data)) {
         $data = ['note' => $data];
     }
     return $this->field($name, $type, $label, $data + ['values' => df_a_to_options($values)]);
 }