[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.
[MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 1的更多相关文章
- [MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 2
We are not finishing yet... 1. Under MIGX Management, we need to add some "Actionbuttons" ...
- 在ASP.NET Core使用Middleware模拟Custom Error Page功能
一.使用场景 在传统的ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAtt ...
- [转]在ASP.NET Core使用Middleware模拟Custom Error Page功能
本文转自:http://www.cnblogs.com/maxzhang1985/p/5974429.html 阅读目录 一.使用场景 二..NET Core实现 三.源代码 回到目录 一.使用场景 ...
- SharePoint2013 Set a custom application page as site welcome page
本文主要介绍如何添加一个custom application page as site welcome page 1.首先创建一个sharepoint 2013 empty solution, add ...
- [Docker] Build Your Own Custom Docker Image
In this lesson we will cover how to build your own custom Docker image from scratch. We'll walk thro ...
- GHOST CMS - 创建自定义主页 Creating a custom home page
创建自定义主页 Creating a custom home page 为你的网站创建一个自定义的主页是一个让你从人群中脱颖而出的好方法,并把你自己独特的印记存放在你的网上.本教程向您展示了如何在Gh ...
- Gradle Goodness: Add Incremental Build Support to Custom Tasks with Annotations
In a previous post we learned how we can use the inputs and outputs properties to set properties or ...
- mac 10.13 build 一个 redis desktop manager
build 的东西比较多,性能差的电脑编译会很久. 下载地址:https://redisdesktop.com/download 本来想下载一个,但是发现只有 windows 是免费的,不过官网提供了 ...
- SPJS Upload for SharePoint: Custom upload page for uploading documents to various document libraries in a site collection
http://spjsblog.com/2013/12/08/spjs-upload-for-sharepoint-custom-upload-page-for-uploading-documents ...
随机推荐
- linux 上下文切换带来的影响
1.保存CPU寄存器中的内容 2.CPU高速缓存中的内容失效 3.重新装载页表,用于给线程程安装一个新的虚拟地址空间,页表缓存失效
- 了解AngularJS $resource
原文: https://learnable.com/books/angularjs-novice-to-ninja/preview/understanding-angularjs-resource-e ...
- oracle11g dataguard部署指南
一.Oracle11DB+DG配置 1. 单机环境介绍(PRIMARY DATABASE) 主库 primary public ip 192.168.0.252 ...
- (八)学习MVC之三级联动
1.新建项目,MVC选择基本模板 2.新建类:Model/Student.cs,数据库信息有三个实体:分别是年级.班级和学生. using System; using System.Collectio ...
- 那些跟钱有关的事儿 z
这是两段朴实的创业笔记,作者是王信文,2009年南京大学本科毕业,2009年9月到2013年3月在腾讯上海的互动娱乐部门工作,2013年3月到现在和几个前同事一起创立了莉莉丝游戏(手游刀塔传奇是他们后 ...
- TcxVerticalGrid 汇总
赋值 AOrder.LoadSimpleFromFile(sDefineFile); grdRowFileDefine_PostalCode.Properties.Value := AOrder.Or ...
- 【Python】一个python实例:给重要的文件创建备份.摘自crossin-python简明教程
问题:写一个可以为所有重要文件创建备份的程序 考虑:源路径和目标路径各是什么;所有重要文件-有哪些;备份文件格式是什么;定期备份的话,备份文件名称如何规定等等.(ps,我自己只想到一个路径和名称) 程 ...
- linux下Qt问题cannot find -lGL collect2: error: ld returned 1 exit status
fedora下解决 yum groupinstall "Development Tools" yum install mesa-libGL-devel ubuntu下解决 sudo ...
- 进程隐藏与进程保护(SSDT Hook 实现)(二)
文章目录: 1. 引子 – Demo 实现效果: 2. 进程隐藏与进程保护概念: 3. SSDT Hook 框架搭建: 4. Ring0 实现进程隐藏: 5. Ri ...
- C++ 顺序表
C++ 顺序表 /***1顺序表1.必做题 编写程序建立一个数续表,并逐个输出顺序表中所有数据元素的值.编写主函数测试结果. 编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x. 如果存在,返 ...