/** * Initialize the form * * @return void */ public function init() { parent::init(); $view = $this->getView(); // create new element $id = $this->createElement('hidden', 'id', array('decorators' => array('ViewHelper'))); $this->addElement($id); // create new element $name = $this->createElement('text', 'page_name', array('label' => $view->getTranslation('Page Name'), 'required' => true, 'filters' => array('StringTrim', 'StripTags'), 'validators' => array(array('NotEmpty', true), array('StringLength', true, array(4, Model_Page::PAGE_NAME_LENGTH)), array('Regex', true, array('pattern' => Model_Page::PAGE_NAME_REGEX, 'messages' => array('regexNotMatch' => Model_Page::PAGE_NAME_REGEX_NOTMATCH)))), 'attribs' => array('size' => 50), 'order' => 0)); $this->addElement($name); // add options for parent page $multiOptions = array(0 => $view->getTranslation('Site Root')); $mdlIndex = new Model_Page(); $index = $mdlIndex->getIndex(0, 'name'); if (is_array($index)) { foreach ($index as $id => $page) { $multiOptions[$id] = $page; } } // create new element $parentId = $this->createElement('select', 'parent_id', array('label' => $view->getTranslation('Parent page') . ':', 'required' => true, 'multiOptions' => $multiOptions, 'order' => 1)); $this->addElement($parentId); // add options for template $multiOptions = array(); $templateConfig = Zend_Registry::get('config')->template; $templates = Digitalus_Filesystem_Dir::getDirectories(BASE_PATH . '/' . $templateConfig->pathToTemplates . '/public'); foreach ($templates as $template) { $designs = Digitalus_Filesystem_File::getFilesByType(BASE_PATH . '/' . $templateConfig->pathToTemplates . '/public/' . $template . '/pages', 'xml'); if (is_array($designs)) { foreach ($designs as $design) { $design = Digitalus_Toolbox_Regex::stripFileExtension($design); $multiOptions[$template . '_' . $design] = $view->getTranslation($template) . ' / ' . $view->getTranslation($design); } } } // create new element $contentTemplate = $this->createElement('select', 'content_template', array('label' => $view->getTranslation('Template') . ':', 'required' => true, 'multiOptions' => $multiOptions, 'order' => 2)); $this->addElement($contentTemplate); // create new element $continue = $this->createElement('checkbox', 'continue_adding_pages', array('label' => $view->getTranslation('Continue adding pages') . '?', 'order' => 3)); $this->addElement($continue); // create new element $showOnMenu = $this->createElement('checkbox', 'show_on_menu', array('label' => $view->getTranslation('Show Page on menu') . '?', 'order' => 4)); $this->addElement($showOnMenu); // create new element $publish = $this->createElement('checkbox', 'publish_pages', array('label' => $view->getTranslation('Publish page instantly') . '?', 'order' => 5)); $this->addElement($publish); // create new element $submit = $this->createElement('submit', 'submitPageForm', array('label' => $view->getTranslation('Submit'), 'attribs' => array('class' => 'submit'), 'order' => 1000)); $this->addElement($submit); $this->addDisplayGroup(array('form_instance', 'id', 'page_name', 'parent_id', 'content_template', 'continue_adding_pages', 'show_on_menu', 'publish_pages', 'submitPageForm'), 'createPageGroup'); }
public function SelectPage($name, $value = null, $attribs = null) { $mdlIndex = new Model_Page(); $index = $mdlIndex->getIndex(0, 'name'); $pages = array(); $pages[0] = $this->view->getTranslation('Site Root'); if (is_array($index)) { foreach ($index as $id => $page) { $pages[$id] = $page; } } return $this->view->formSelect($name, $value, $attribs, $pages); }
public function init() { $id = $this->createElement('hidden', 'id'); $id->setDecorators(array('ViewHelper')); $this->addElement($id); $name = $this->createElement('text', 'page_name'); $name->addFilter('StripTags'); $name->setRequired(true); $name->setLabel('Page Name: '); $name->setAttrib('size', 50); $name->setOrder(0); $this->addElement($name); $parentId = $this->createElement('select', 'parent_id'); $parentId->setLabel($this->getView()->getTranslation('Parent page') . ':'); $mdlIndex = new Model_Page(); $index = $mdlIndex->getIndex(0, 'name'); $parentId->addMultiOption(0, $this->getView()->getTranslation('Site Root')); if (is_array($index)) { foreach ($index as $id => $page) { $parentId->addMultiOption($id, $page); } } $parentId->setOrder(1); $this->addElement($parentId); $contentTemplate = $this->createElement('select', 'content_template'); $contentTemplate->setLabel($this->getView()->getTranslation('Template') . ':'); $templateConfig = Zend_Registry::get('config')->template; $templates = Digitalus_Filesystem_Dir::getDirectories(BASE_PATH . '/' . $templateConfig->pathToTemplates . '/public'); foreach ($templates as $template) { $designs = Digitalus_Filesystem_File::getFilesByType(BASE_PATH . '/' . $templateConfig->pathToTemplates . '/public/' . $template . '/pages', 'xml'); if (is_array($designs)) { foreach ($designs as $design) { $design = Digitalus_Toolbox_Regex::stripFileExtension($design); $contentTemplate->addMultiOption($template . '_' . $design, $template . ' / ' . $design); } } } $contentTemplate->setOrder(2); $this->addElement($contentTemplate); $continue = $this->createElement('checkbox', 'continue_adding_pages'); $continue->setLabel($this->getView()->getTranslation('Continue adding pages') . '?'); $continue->setOrder(3); $this->addElement($continue); $submit = $this->createElement('submit', $this->getView()->getTranslation('Submit')); $submit->setOrder(1000); $this->addElement($submit); }
public function selectPage($name, $value = null, $attribs = null) { $mdlIndex = new Model_Page(); $index = $mdlIndex->getIndex(0, 'name'); $options = array(); $options[0] = $this->view->getTranslation('Site Root'); if (is_array($index)) { foreach ($index as $id => $page) { $options[$id] = $page; } } $form = new Digitalus_Form(); $select = $form->createElement('select', $name, array('multiOptions' => $options)); if (is_array($attribs)) { $select->setAttribs($attribs); } return $select; }