7 use Zend\I18n\Translator\TranslatorAwareInterface;
8 use Zend\I18n\Translator\Translator;
11 abstract class AbstractForm extends Form implements TranslatorAwareInterface
14 private $_translator = null;
15 private $_textDomain = 'default';
16 private $_translator_enabled = false;
19 abstract public function initialize();
24 public function translate($k)
26 if ($this->_translator && $this->_translator_enabled) {
27 return $this->_translator->translate($k, $this->_textDomain);
36 protected function addElements(array $paramsArray)
38 foreach($paramsArray as $params) {
44 protected function addElement($name, $type='text', $label=null, array $attributes=array(), array $options=array())
47 $attributes['type'] = $type;
50 $options['label'] = $label;
52 $params = array('name' => $name);
54 $params['attributes'] = $attributes;
57 $params['options'] = $options;
65 public function setTranslator(Translator $translator = null, $textDomain = null)
67 $this->_translator = $translator;
68 $this->_textDomain = $textDomain;
71 public function getTranslator()
73 return $this->_translator;
76 public function hasTranslator()
78 return $this->_translator !== null;
81 public function setTranslatorEnabled($enabled = true)
83 $this->_translator_enabled = $enabed;
86 public function isTranslatorEnabled()
88 return $this->_translator_enabled;
91 public function setTranslatorTextDomain($textDomain = 'default')
93 $this->_textDomain = $textDomain;
96 public function getTranslatorTextDomain()
98 return $this->_textDomain;
102 protected function setMethod($method='post')
104 $this->setAttribute('method', $method);