/** * Get image preview url * * @return string */ protected function _getUrl() { $url = false; if ($this->getValue()) { $url = Mage_Core_Model_Theme::getPreviewImageDirectoryUrl() . $this->getValue(); } return $url; }
/** * Add theme fieldset * * @param Varien_Data_Form $form * @param array $formData * @return Mage_Theme_Block_Adminhtml_System_Design_Theme_Edit_Tab_General */ protected function _addThemeFieldset($form, $formData) { $themeFieldset = $form->addFieldset('theme', array('legend' => $this->__('Theme Settings'))); $this->_addElementTypes($themeFieldset); if (isset($formData['theme_id'])) { $themeFieldset->addField('theme_id', 'hidden', array('name' => 'theme_id')); } /** @var $themesCollections Mage_Core_Model_Theme_Collection */ $themesCollections = Mage::getResourceModel('Mage_Core_Model_Theme_Collection'); /** @var $helper Mage_Core_Helper_Data */ $helper = Mage::helper('Mage_Core_Helper_Data'); $onChangeScript = sprintf('parentThemeOnChange(this.value, %s)', str_replace('"', '\'', $helper->jsonEncode($this->_getDefaultsInherited($themesCollections->addDefaultPattern())))); /** @var $parentTheme Mage_Core_Model_Theme */ $parentTheme = Mage::getModel('Mage_Core_Model_Theme'); if (!empty($formData['parent_id'])) { $parentTheme->load($formData['parent_id']); } if ($this->_isThemeEditable) { $themeFieldset->addField('parent_id', 'select', array('label' => $this->__('Parent theme'), 'title' => $this->__('Parent theme'), 'name' => 'parent_id', 'values' => $themesCollections->toOptionArray(!$parentTheme->getId()), 'required' => true, 'class' => 'no-changes', 'onchange' => $onChangeScript)); } else { if (!empty($formData['parent_id'])) { $themeFieldset->addField('parent_title', 'note', array('label' => $this->__('Parent theme'), 'title' => $this->__('Parent theme'), 'name' => 'parent_title', 'text' => $parentTheme->getId() ? $parentTheme->getThemeTitle() : '')); } } if (!empty($formData['theme_path'])) { $themeFieldset->addField('theme_path', 'label', array('label' => $this->__('Theme Path'), 'title' => $this->__('Theme Path'), 'name' => 'theme_code')); } $themeFieldset->addField('theme_version', $this->_getFieldTextType(), array('label' => $this->__('Theme Version'), 'title' => $this->__('Theme Version'), 'name' => 'theme_version', 'required' => $this->_getFieldAttrRequired(), 'note' => $this->_filterFieldNote($this->__('Example: 0.0.0.1 or 123.1.0.25-alpha1')))); $themeFieldset->addField('theme_title', $this->_getFieldTextType(), array('label' => $this->__('Theme Title'), 'title' => $this->__('Theme Title'), 'name' => 'theme_title', 'required' => $this->_getFieldAttrRequired())); if ($this->_isThemeEditable) { $maxImageSize = Mage::helper('Mage_Core_Helper_File_Storage')->getMaxFileSizeInMb(); if ($maxImageSize) { $previewImageNote = $this->__('Max image size %sM', $maxImageSize); } else { $previewImageNote = $this->__('System doesn\'t allow to get file upload settings'); } $themeFieldset->addField('preview_image', 'image', array('label' => $this->__('Theme Preview Image'), 'title' => $this->__('Theme Preview Image'), 'name' => 'preview_image', 'required' => false, 'note' => $previewImageNote)); } else { if (!empty($formData['preview_image'])) { $themeFieldset->addField('preview_image', 'note', array('label' => $this->__('Theme Preview Image'), 'title' => $this->__('Theme Preview Image'), 'name' => 'preview_image', 'after_element_html' => '<img width="50" src="' . Mage_Core_Model_Theme::getPreviewImageDirectoryUrl() . $formData['preview_image'] . '" />')); } } return $this; }