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)
68 $this->_translator = $translator;
69 $this->_translator_enabled = true;
72 $this->_textDomain = $textDomain;
76 public function getTranslator()
78 return $this->_translator;
81 public function hasTranslator()
83 return $this->_translator !== null;
86 public function setTranslatorEnabled($enabled = true)
88 $this->_translator_enabled = $enabled;
91 public function isTranslatorEnabled()
93 return $this->_translator_enabled;
96 public function setTranslatorTextDomain($textDomain = 'default')
98 $this->_textDomain = $textDomain;
101 public function getTranslatorTextDomain()
103 return $this->_textDomain;
107 protected function setMethod($method='post')
109 $this->setAttribute('method', $method);