Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento-小部件开发_Php_Magento - Fatal编程技术网

Php Magento-小部件开发

Php Magento-小部件开发,php,magento,Php,Magento,我正在尝试为magento cms开发一个小部件,但遇到了一些问题 我对Magento很陌生,所以请对我放轻松 因此,小部件由一个图像、一些文本和一个超链接组成 我在/app/etc/modules中创建了一个文件MP_All.xml/ 在/app/code/local/MP中创建了小部件文件夹结构-为小部件创建了MP文件夹 MP文件夹内是一个BP_小部件文件夹,包含块、助手、模型等目录 /etc目录中有config.xml和widget.xml 块中有一个Banners.php文件,助手目录中

我正在尝试为magento cms开发一个小部件,但遇到了一些问题

我对Magento很陌生,所以请对我放轻松

因此,小部件由一个图像、一些文本和一个超链接组成

  • 我在/app/etc/modules中创建了一个文件MP_All.xml/
  • 在/app/code/local/MP中创建了小部件文件夹结构-为小部件创建了MP文件夹
  • MP文件夹内是一个BP_小部件文件夹,包含块、助手、模型等目录
  • /etc目录中有config.xml和widget.xml
  • 块中有一个Banners.php文件,助手目录中有一个data.php文件
  • 模型目录中有一个Options.php文件
  • 下面是创建的文件的代码

    /app/etc/modules/MP_All.xml

    <?xml version="1.0"?>
    <config>
      <modules>
        <MP_BP_Widget>
            <active>true</active>
            <codePool>local</codePool>
        </MP_BP_Widget>
      </modules>
    </config>
    
    /app/code/local/MP/BP_Widget/Helper/data.php

    class MP_BP_Widget_Helper_Data extends Mage_Core_Helper_Abstract {
    
    }
    
    /app/code/local/MP/BP_Widget/Model/Options.php

    class MP_BP_Widget_Model_Options {
        public function toOptionArray () {
            return array(
                array( 'value' => 'test_option', 'label' => 'Test Option' ),
                array( 'value' => 'inquiry', 'label' => 'Inquiry' )
            );
        }
    }
    
    class MP_BPWidget_Model_Options {
        public function toOptionArray () {
            return array(
                array( 'value' => 'test_option', 'label' => 'Test Option' ),
                array( 'value' => 'inquiry', 'label' => 'Inquiry' )
            );
        }
    }
    
    我现在遵循的教程说,小部件应该是活动的并且“可以使用”。但是它仍然没有在下拉列表中显示可用的小部件。我错过了什么

    是否有关于XML模式和Magento小部件开发规则的参考资料


    正如我以前说过的,我对Magento很陌生。提前谢谢。快乐编程

    问题似乎出在模块目录BP\u小部件的名称上

    在Magento中,当自动加载程序尝试加载类时,类名中的“ux”字符将替换为“/”目录分隔符。请参见:
    lib/Varien/Autoload.php::Autoload()

    因此,您需要将模块目录重命名为BPWidget,并进行以下更改

    /app/etc/modules/MP_BPWidget.xml

    <?xml version="1.0"?>
      <config>
        <modules>
          <MP_BPWidget>
            <active>true</active>
            <codePool>local</codePool>
          </MP_BPWidget>
        </modules>
      </config>
    
    /app/code/local/MP/BPWidget/Helper/Data.php

    class MP_BPWidget_Helper_Data extends Mage_Core_Helper_Abstract {
    
    }
    
    /app/code/local/MP/BPWidget/Model/Options.php

    class MP_BP_Widget_Model_Options {
        public function toOptionArray () {
            return array(
                array( 'value' => 'test_option', 'label' => 'Test Option' ),
                array( 'value' => 'inquiry', 'label' => 'Inquiry' )
            );
        }
    }
    
    class MP_BPWidget_Model_Options {
        public function toOptionArray () {
            return array(
                array( 'value' => 'test_option', 'label' => 'Test Option' ),
                array( 'value' => 'inquiry', 'label' => 'Inquiry' )
            );
        }
    }
    
    这个链接可能是一个很好的参考


    希望有帮助:)欢迎使用Magento Development

    问题似乎出在模块目录BP_小部件的名称上

    在Magento中,当自动加载程序尝试加载类时,类名中的“ux”字符将替换为“/”目录分隔符。请参见:
    lib/Varien/Autoload.php::Autoload()

    因此,您需要将模块目录重命名为BPWidget,并进行以下更改

    /app/etc/modules/MP_BPWidget.xml

    <?xml version="1.0"?>
      <config>
        <modules>
          <MP_BPWidget>
            <active>true</active>
            <codePool>local</codePool>
          </MP_BPWidget>
        </modules>
      </config>
    
    /app/code/local/MP/BPWidget/Helper/Data.php

    class MP_BPWidget_Helper_Data extends Mage_Core_Helper_Abstract {
    
    }
    
    /app/code/local/MP/BPWidget/Model/Options.php

    class MP_BP_Widget_Model_Options {
        public function toOptionArray () {
            return array(
                array( 'value' => 'test_option', 'label' => 'Test Option' ),
                array( 'value' => 'inquiry', 'label' => 'Inquiry' )
            );
        }
    }
    
    class MP_BPWidget_Model_Options {
        public function toOptionArray () {
            return array(
                array( 'value' => 'test_option', 'label' => 'Test Option' ),
                array( 'value' => 'inquiry', 'label' => 'Inquiry' )
            );
        }
    }
    
    这个链接可能是一个很好的参考

    希望对您有所帮助:)欢迎来到Magento Development