[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.

 

posted @ 2015-03-05 19:26  Zhentiw  阅读(1528)  评论(0编辑  收藏  举报