zoukankan      html  css  js  c++  java
  • [MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 1

    BIG FUCK for MODx


    MODx document is not that good  ...  at least in my opint of view. I spend hours to search martirals to find out how to build a CMP by using MIGX in MODX 2.3. The officail doument are written for 2.2, but since 2.3, it changed a lot.

    OK, that's how to do this shit...

    You can check those two vedios:

    https://www.youtube.com/watch?v=Dv83iC9iELI  (How to setup CMP in MODx 2.2)

    https://www.youtube.com/watch?v=LPJQrsiDdQ4 (Changes in 2.3)

    1. INSTALL MIGX (do it yourself)

    2. Create package: Package Name: serialnumber; talbe-prefix: serialnumber

    3. Go XML-Schema tab:

    <?xml version="1.0" encoding="UTF-8"?>
    <model package="serialnumber" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" phpdoc-package="serialnumber" phpdoc-subpackage="model" version="1.1">
      <object class="Serials" table="serial" extends="xPDOSimpleObject">
        <field key="serial_no" dbtype="varchar" precision="32" phptype="string" null="false" default="" index="index" />
        <field key="material_no" dbtype="varchar" precision="32" phptype="string" null="false" default="" />
        <field key="description" dbtype="text" phptype="string" null="true" />
        <field key="download_count" dbtype="int" precision="10" phptype="integer" null="false" default="1" />
        <index alias="serial_no" name="serial_no" primary="false" unique="false" type="BTREE">
            <column key="serial_no" length="" collation="A" null="false" />
        </index>
        <composite alias="odDownloads" class="odDownloads" local="serial_no" foreign="serial_no" cardinality="many" owner="local" />
        <composite alias="odLog" class="odLog" local="serial_no" foreign="serial_no" cardinality="many" owner="local" />
        <composite alias="odFiles" class="odFiles" local="serial_no" foreign="serial_no" cardinality="many" owner="local" />
      </object>
    </model>

    4. Go "Parse Schema" tab and click "parse Schema" button.

    5. Go "Create tables" tab and click "create tables" button.

    6. You can now check two things, make sure everything wokrs fine:

    • Go to phpmyadmin, find your table 'serialnumberserial'
    • Go to "Files" --> "core" --> "Compoments" --> "serialnumber" --> "model" 

    You will see like this:

    7. In "MIGX Management" --> "MIGX" tab --> click "Add item":

    8. In "Settings" tab, add following information.

    • Name: serialnumber
    • "Add Item" Replacement: "Add a serial"
    • unique MIGX ID: serilanumber (remember this, later will use)

    9. Go to "CMP-Settings" tab, add following informations:

    10. Go to "MIGXDB-Settings", add following informaiton:

    Because when we create the package in step 2, we cadd the custom prefix "serialnumber", so here you also need to add it. 

    You should be able to find those information in step 3.

    11. Click "DONE", save the changes. Then you will see :

    You might have different number, but anymore, the changes are saved.

    12. Go to "System" --> "MENU":

    13. Click "Create Menu" Button.

    14. Fill in the following information:

    you can leave "Parent" field behind for now.

    "Parameters": "serialnumber" is unique MIGXID you set in step 8.

    15. You can drag & drop the menu you just created to anywhere you want, for example: I put it under 'Extras'

    16. Refresh the webpage, on the top menu, under 'Extras', you will see:

    17. Click "Serialnumber", nav to the CMP.

    OKOKOK, mother fucker !!! This is the first step (important) you want to achieve for CMP.

  • 相关阅读:
    Freemaker Replace函数的正则表达式运用
    [Android]使用Spring for Android改善数据交互流程
    [Freemarker]自定义时间戳函数
    [jquery.validate]自定义方法实现"手机号码或者固定电话"的逻辑验证
    [Javascript]网页链接加上时间戳防止串用户
    支付系统设计
    java设计模式-抽象工厂模式
    IDEA解决maven多module出现多root的问题
    java设计模式-工厂方法模式
    java设计模式-单例模式
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4316593.html
Copyright © 2011-2022 走看看