2012-07-01 3 views
0

Я пытаюсь добавить colorpicker в backend Magento. До сих пор я сомневаюсь в классе. (Смотри ниже). Но я не знаю, как должен выглядеть файл Data.php. кому-нибудь помочь или дать мне пример?Magento backend: Как добавить jscolor?

Greets

class Namespace_Module_Block_System_Config_Form_Field_Colorpicker extends Mage_Adminhtml_Block_System_Config_Form_Field 
{ 
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) 
{ 
    $url = Mage::getBaseUrl('js'); 
    $element->addClass("color"); 
    $output = ""; 
    if(!defined("_LOADED_JSCOLOR_")){ 
     $jspath = $url.'jscolor/jscolor.js'; 
     $output .= '<script type="text/javascript" src="'.$jspath.'"></script>'; 
     define("_LOADED_JSCOLOR_",1); 
    } 
    $output .= $element->getElementHtml(); 
    return $output; 
} 

}

+0

Не очень уверен в этом, вы можете включить '' непосредственно в phtml-файлы afaik –

ответ

1

Вы можете добавить JS файл для обновления макета:

<action method="addJs"><file>%folder%/%file%.js</file></action> 
+0

спасибо Сив, это сработало – user1491856

1

Модуль Я строю было бы здорово, если бы я мог иметь администратора поля конфигурации использовать JSColor , Я столкнулся с этим сообщением, посмотрел на простую настройку для ОАО «АНОЛОР», и, как известно, это уже уже встроено в Magento (по крайней мере, с версии 1.7.0.2).

Если у вас есть файл обновления макета администратора, просто включают в себя:

<adminhtml_system_config_edit> 
    <reference name="head"> 
     <action method="addJs"><file>jscolor/jscolor.js</file></action> 
    </reference> 
</adminhtml_system_config_edit> 

В тестировании это, я обнаружил, что сценарий JSColor уже включен в 1.7.0.2 пакет. /js/jscolor/jscolor.js.

Оттуда это так же просто, как присвоение класса color в поле формы ввода. Я не уверен, что это предназначено или нет, но это так же просто, как добавление узла <validate> в ваш файл system.xml.

<fields> 
    <bg> 
     <label>Background Color</label> 
     <frontend_type>text</frontend_type> 
     <validate>color</validate> 
     <sort_order>1</sort_order> 
     <show_in_default>1</show_in_default> 
     <show_in_website>1</show_in_website> 
     <show_in_store>1</show_in_store> 
    </bg> 
</fields> 

Horray! Больше ничего не нужно настраивать ... нет пользовательских <frontend_type> необходимо ... ничего ... Включите скрипт, дайте ему класс color через узел <validate>, и все готово!

Смежные вопросы