Magento允许用户通过管理面板更改主题颜色

Magento允许用户通过管理面板更改主题颜色,magento,Magento,好的,我想让最终用户(很可能对代码一无所知)能够更改我正在创建的主题颜色。我看到您可以创建自定义变量,但将CSS作为php文件并不十分有效 那么我该怎么做呢?用户只需在导航背景或按钮背景或其他任何地方输入颜色的十六进制代码。。通过管理面板?一种方法是添加客户属性并让客户更改 添加客户属性可以通过以下方法实现: public function addCustomerAttribute($params){ try{ $setup = Mage::getModel('c

好的,我想让最终用户(很可能对代码一无所知)能够更改我正在创建的主题颜色。我看到您可以创建自定义变量,但将CSS作为php文件并不十分有效


那么我该怎么做呢?用户只需在导航背景或按钮背景或其他任何地方输入颜色的十六进制代码。。通过管理面板?

一种方法是添加客户属性并让客户更改

添加客户属性可以通过以下方法实现:

 public function addCustomerAttribute($params){

     try{

        $setup = Mage::getModel('customer/entity_setup', 'core_setup');
        $setup->addAttribute('customer', $params['code'], array(
                     'type' => $params['type'] ,
                     'input' => $params['input'],
                     'label' => $params['name'],
                     'global' => $params['scope'],
                     'visible' => 1,
                     'required' => $params['required'],
                     'user_defined' => 1,
                     'default' => $params['defaultvalue'],
                     'visible_on_front' => $params['visible_on_front'],
                     'used_in_forms', array('adminhtml_customer','customer_account_edit')
        ));

        Mage::getSingleton('eav/config')
             ->getAttribute('customer', $params['code'] )
             ->setData(
                'used_in_forms', array('adminhtml_customer','customer_account_edit')
             )
             ->save();

        return true;

     }catch(Exception $e){
        throw new Exception('Probleme de création d\'attribut client ' . $e->getMessage());
     }
 }
然后,如果您的客户已登录,只需让他更改值并保存即可

然后,您可以使用

$customerColor = Mage::getSingleton('customer/session')->getCustomer()->getAttributecode()
并使用此值在模板上设置CSS类