[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 @   Zhentiw  阅读(1536)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示