'- please choose -', 'y' => 'Yes', 'n' => 'No', ); public function getValue() { $value = $this->getUnfilteredValue(); if ($value === 'y' || $value === true) { return true; } elseif ($value === 'n' || $value === false) { return false; } return null; } public function isValid($value, $context = null) { return $value === 'y' || $value === 'n' || $value === null || $value === '' || $value === true || $value === false; } public function setValue($value) { if ($value === true) { $value = 'y'; } elseif ($value === false) { $value = 'n'; } elseif ($value === '') { $value = null; } return parent::setValue($value); } /** * @codingStandardsIgnoreStart */ protected function _translateOption($option, $value) { // @codingStandardsIgnoreEnd if (!isset($this->_translated[$option]) && !empty($value)) { $this->options[$option] = mt('director', $value); if ($this->options[$option] === $value) { return false; } $this->_translated[$option] = true; return true; } return false; } }