Backend\Core\Engine\Meta::loadForm PHP Method

loadForm() protected method

Add all element into the form
protected loadForm ( )
    protected function loadForm()
    {
        // is the form submitted?
        if ($this->frm->isSubmitted()) {
            /**
             * If the fields are disabled we don't have any values in the post.
             * When an error occurs in the other fields of the form the meta-fields would be cleared
             * therefore we alter the POST so it contains the initial values.
             */
            if (!isset($_POST['page_title'])) {
                $_POST['page_title'] = isset($this->data['title']) ? $this->data['title'] : null;
            }
            if (!isset($_POST['meta_description'])) {
                $_POST['meta_description'] = isset($this->data['description']) ? $this->data['description'] : null;
            }
            if (!isset($_POST['meta_keywords'])) {
                $_POST['meta_keywords'] = isset($this->data['keywords']) ? $this->data['keywords'] : null;
            }
            if (!isset($_POST['url'])) {
                $_POST['url'] = isset($this->data['url']) ? $this->data['url'] : null;
            }
            if ($this->custom && !isset($_POST['meta_custom'])) {
                $_POST['meta_custom'] = isset($this->data['custom']) ? $this->data['custom'] : null;
            }
            if (!isset($_POST['seo_index'])) {
                $_POST['seo_index'] = isset($this->data['data']['seo_index']) ? $this->data['data']['seo_index'] : 'none';
            }
            if (!isset($_POST['seo_follow'])) {
                $_POST['seo_follow'] = isset($this->data['data']['seo_follow']) ? $this->data['data']['seo_follow'] : 'none';
            }
        }
        // add page title elements into the form
        $this->frm->addCheckbox('page_title_overwrite', isset($this->data['title_overwrite']) && $this->data['title_overwrite'] == 'Y');
        $this->frm->addText('page_title', isset($this->data['title']) ? $this->data['title'] : null);
        // add meta description elements into the form
        $this->frm->addCheckbox('meta_description_overwrite', isset($this->data['description_overwrite']) && $this->data['description_overwrite'] == 'Y');
        $this->frm->addText('meta_description', isset($this->data['description']) ? $this->data['description'] : null);
        // add meta keywords elements into the form
        $this->frm->addCheckbox('meta_keywords_overwrite', isset($this->data['keywords_overwrite']) && $this->data['keywords_overwrite'] == 'Y');
        $this->frm->addText('meta_keywords', isset($this->data['keywords']) ? $this->data['keywords'] : null);
        // add URL elements into the form
        $this->frm->addCheckbox('url_overwrite', isset($this->data['url_overwrite']) && $this->data['url_overwrite'] == 'Y');
        $this->frm->addText('url', isset($this->data['url']) ? urldecode($this->data['url']) : null);
        // advanced SEO
        $indexValues = array(array('value' => 'none', 'label' => BackendLanguage::getLabel('None')), array('value' => 'index', 'label' => 'index'), array('value' => 'noindex', 'label' => 'noindex'));
        $this->frm->addRadiobutton('seo_index', $indexValues, isset($this->data['data']['seo_index']) ? $this->data['data']['seo_index'] : 'none');
        $followValues = array(array('value' => 'none', 'label' => BackendLanguage::getLabel('None')), array('value' => 'follow', 'label' => 'follow'), array('value' => 'nofollow', 'label' => 'nofollow'));
        $this->frm->addRadiobutton('seo_follow', $followValues, isset($this->data['data']['seo_follow']) ? $this->data['data']['seo_follow'] : 'none');
        // should we add the meta-custom field
        if ($this->custom) {
            // add meta custom element into the form
            $this->frm->addTextarea('meta_custom', isset($this->data['custom']) ? $this->data['custom'] : null);
        }
        $this->frm->addHidden('meta_id', $this->id);
        $this->frm->addHidden('base_field_name', $this->baseFieldName);
        $this->frm->addHidden('custom', $this->custom);
        $this->frm->addHidden('class_name', $this->callback['class']);
        $this->frm->addHidden('method_name', $this->callback['method']);
        $this->frm->addHidden('parameters', \SpoonFilter::htmlspecialchars(serialize($this->callback['parameters'])));
    }