[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 ...
随机推荐
- poj2373
其实这道题不是很难,不难想到f[i]表示覆盖到[0,i]的最少喷头数 很明显是一个dp+单调队列的问题 但是细节问题比较多,首先是不能覆盖到[0,l]外面,所以长度为奇数不能被完全覆盖 还有一些区间[ ...
- bzoj1433:[ZJOI2009]假期的宿舍
明显的二分图最大匹配. #include<cstdio> #include<cstring> #include<cctype> #include<algori ...
- Java [leetcode 20]Valid Parentheses
题目描述: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if th ...
- HDU 4394 Digital Square
Digital Square Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 查表法计算CRC16校验值
CRC16是单片机程序中常用的一种校验算法.依据所采用多项式的不同,得到的结果也不相同.常用的多项式有CRC-16/IBM和CRC-16/CCITT等.本文代码采用的多项式为CRC-16/IBM: X ...
- python包管理工具
pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.本文将详细说明 安装 pip 的方法和 使用 pip 的一些基本操作如安装.更新和卸载 python ...
- leetcode@ [34] Search for a Range (STL Binary Search)
https://leetcode.com/problems/search-for-a-range/ Given a sorted array of integers, find the startin ...
- leetcode@ [174] Dungeon Game (Dynamic Programming)
https://leetcode.com/problems/dungeon-game/ The demons had captured the princess (P) and imprisoned ...
- Ubuntu下部署SVN+SVNManager
本文参考了一下博客,特此感谢: 灰烬之灵 一米阳光做IT.测试 环境描述:ubuntu 13.04 1.先创建svn组和svn用户: sudo addgroup svnsudo useradd ...
- BroadcastReceiver学习笔记
1.在代码中注册与在AndroiManifest.xml注册的区别 (a)在代码中注册可以控制注册与注销的时间.比如在onCreate-onDestory, onStart-onStop, onRes ...