`
yanggaojiao
  • 浏览: 81729 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Generated Magento Model Code

PHP 
阅读更多

这一节内容,适合Magento Advance User(哎,可惜我不在之列,我还不明白原作者的具体意图).

一些封装良好的系统(当然包括Magento)供开发者在Coding时有多种不同的选择。把下面的代码[方法]放在Controller 的任意一个Action中 (PHP允许定义Inner方法)

function someAction()
{
        header('Content-Type: text/plain');
        $coupon = Mage::getModel('salesrule/rule')->load(1);        

        function outputValue($value)
        {
            switch(gettype($value))
            {
                case 'string':
                    echo "'".str_replace("'","\\'",$value)."'";
                    break;
                case 'array':
                    echo "array(";
                    foreach($value as $v)
                    {
                        outputValue($v);
                        echo ",";
                    }
                    echo ")";
                    break;
                case 'NULL':
                    echo 'NULL';
                    break;
                default:
                    echo "'can\'t handle ".gettype($value)."'";
            }

        }       

        echo '$model';
        foreach($coupon->getData() as $key=>$value)
        {


            echo '->set';
            echo str_replace(' ', '',ucwords(str_replace('_', ' ', $key)));
            echo '(';

            outputValue($value);            
            echo ')';
            echo "\n";
        }

        exit;
}

 

Run this code and you’ll get some auto-generated code for the creation/updating of a Magento salesrule/rule Model (assuming you have a Model with an id of 1)(嘿嘿!这句不好翻译)

$model->setRuleId('1')
->setName('test')
->setDescription('')
->setFromDate('2010-05-09')
->setToDate(NULL)
->setCouponCode('')
->setUsesPerCoupon('0')
->setUsesPerCustomer('0')
->setCustomerGroupIds(array('1',))
->setIsActive('1')
->setConditionsSerialized('a:6:{s:4:"type";s:32:"salesrule/rule_condition_combine";s:9:"attribute";N;s:8:"operator";N;s:5:"value";s:1:"1";s:18:"is_value_processed";N;s:10:"aggregator";s:3:"all";}')
->setActionsSerialized('a:6:{s:4:"type";s:40:"salesrule/rule_condition_product_combine";s:9:"attribute";N;s:8:"operator";N;s:5:"value";s:1:"1";s:18:"is_value_processed";N;s:10:"aggregator";s:3:"all";}')
->setStopRulesProcessing('0')
->setIsAdvanced('1')
->setProductIds('')
->setSortOrder('0')
->setSimpleAction('by_percent')
->setDiscountAmount('10.0000')
->setDiscountQty(NULL)
->setDiscountStep('0')
->setSimpleFreeShipping('0')
->setApplyToShipping('0')
->setTimesUsed('0')
->setIsRss('1')
->setWebsiteIds(array('1',))

 
Note:貌似只说明了Magento 的一些Model的成员属性命名都比较有规律。如果有读者发现这段代码的特别用处请留言告诉我一下。

分享到:
评论

相关推荐

    Python库 | datamodel-code-generator-0.6.17.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:datamodel-code-generator-0.6.17.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    PyPI 官网下载 | datamodel_code_generator-0.9.4-py3-none-any.whl

    generate_code(input_data, output_path='generated_models') ``` 4. **使用生成的代码**:在你的项目中引入生成的数据模型类,用于数据操作和验证。 **总结** datamodel_code_generator是Python开发中的一个实用...

    Magento2开发者指南

    - `generated/`:存放自动产生的代码。 **模块文件系统结构**:每个模块都有自己的目录结构,通常包括以下文件夹: - `etc/`:配置文件。 - `view/`:前端资源。 - `registration.php`:模块注册文件。 - `Model/`...

    Python库 | datamodel_code_generator-0.11.5-py3-none-any.whl

    `datamodel_code_generator-0.11.5-py3-none-any.whl` 是一个针对Python编程语言的库,主要用于自动生成数据模型相关的代码。这个库的版本是0.11.5,它是一个`.whl`文件,这种格式是Python的预编译二进制包,可以...

    vgg_generated_48,vgg_generated_64,vgg_generated_80,vgg_generated_120

    这个标题中的"vgg_generated_48,vgg_generated_64,vgg_generated_80,vgg_generated_120"可能指的是在OpenCV库中,针对不同分辨率或深度的VGG模型参数文件。这些文件可能包含了预训练的权重,用于图像分类、特征...

    opencv编译 vgg_generated_80 face_landmark_model.dat 等文件都有打包

    opencv_contrib-4.2.0.zip 编译过程中需要下载的文件 将文件解压后放置到..\opencv\sources\.cache 替换这个文件路径即可 注意版本和路径 ade data ffmpeg ippicv text.txt xfeatures2d

    Sculpture 1.0 Model-driven development Generators(Source Code)

    With Sculpture you can model your application components, and then ...Sculpture takes you to the domain specific programming by adding your specifications to the model environment and the generated code.

    Sculpture 2.1 Model-driven development Generators(Source Code)

    With Sculpture you can model your application components, and then ...Sculpture takes you to the domain specific programming by adding your specifications to the model environment and the generated code.

    Sculpture 1.0 Model-driven development Generators(Molds Source Code)

    With Sculpture you can model your application components, and then ...Sculpture takes you to the domain specific programming by adding your specifications to the model environment and the generated code.

    自动生成mapper和dao工具Auto_Generated_Code

    这个工具不用向idea和eclipse在集成mybaitis的插件,直接在运行好把生成的pojo和mapper拷贝到项目中即可,使用方式首先把数据库链接配置到generatorConfig.xml后,cmd进入到这个文件夹下运行:java -jar mybatis-...

    Magento 安装教程

    - generated/ 可以使用CHMOD命令(如在Linux上)或FTP客户端设置权限。 **六、开始安装** 在浏览器中输入你的服务器地址,例如 `http://yourdomain.com/index.php/install/`。这将启动Magento的安装向导。 **七、...

    create_generated_clock应用例

    ### create_generated_clock 应用详解 #### 一、概述 `create_generated_clock` 命令是静态时序分析(STA)中一个重要的概念,它主要用于定义时钟信号之间的相位(边沿)关系,特别是在复杂的时钟网络中。通过这个...

    Code.Generation.with.Roslyn.epub

    Discover generated code and run it dynamically to implement new business logic Debug problems in generated code Deploy and access generated code Who This Book Is For Back end developers in very ...

    添加java源码-gradle-generated-code:一个小型gradle插件,为生成的代码添加了Java源集

    ch.romasch.gradle.generated-code ' ) project . generate . dependsOn project . tasks . withType( MyPluginTask ) } } 如何使用它 目前,该插件尚未在任何地方发布或注册。 要在本地使用它: git克隆仓库 ./...

    vgg_generated_48.i\vgg_generated_64.i\vgg_generated_80.i\vgg_generated_120.i

    在给定的压缩包文件中,包含了四个以“vgg_generated”命名的文件,分别是`vgg_generated_48.i`、`vgg_generated_64.i`、`vgg_generated_80.i`和`vgg_generated_120.i`,这些文件可能代表了不同深度的VGG模型,数字...

    Sculpture 2.0 Model-driven development Generators(Installer)

    With Sculpture you can model your application components, and then ...Sculpture takes you to the domain specific programming by adding your specifications to the model environment and the generated code.

    Customize the Code Generated by the Resources Designer_CS

    标题“Customize the Code Generated by the Resources Designer_CS”暗示我们要讨论的是针对C#项目的资源代码自定义。这通常涉及到以下方面: 1. **手动编辑生成的代码**:虽然不推荐,但你可以直接修改生成的资源...

    ‘vgg_generated_120.i’and ‘boostdesc_bgm.i’No such file or directory.rar

    解决Opencv3.3.0编译contrib时报错:“vgg_generated_120.i”: No such file or directory和“boostdesc_bgm.i”: No such file or directory等问题。 将目录中boostdesc_bgm.i、boostdesc_bgm_bi.i、boostdesc_bgm_...

    stripe:与Magento 2进行条带集成

    该模块将Magento 2与付款服务集成在一起。 该模块是免费和开源的。 示范影片 谁在使用它?...rm -rf var/di var/generation generated/code bin/magento setup:di:compile rm -rf pub/static/* bin/magento

    vc2005入门经典code

    I have not included code for examples where all the code is generated automatically. I have not included the project and other ancillary files because they involve environmental dependencies. To use ...

Global site tag (gtag.js) - Google Analytics