Preface |
|
1 | (6) |
|
|
7 | (12) |
|
Content management system |
|
|
7 | (1) |
|
|
8 | (1) |
|
Reusable program components |
|
|
8 | (1) |
|
Abstracting logic from presentation |
|
|
8 | (1) |
|
Web development methodologies |
|
|
9 | (6) |
|
Old school---conventional three tiers |
|
|
9 | (1) |
|
Advantages of the conventional three tiers |
|
|
10 | (1) |
|
Disadvantages of the conventional three tiers |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
Disadvantages of templating |
|
|
12 | (1) |
|
|
12 | (1) |
|
Advantages of application frameworks |
|
|
12 | (1) |
|
Disadvantages of application frameworks |
|
|
13 | (1) |
|
Content management systems |
|
|
13 | (1) |
|
Advantages of content management systems |
|
|
14 | (1) |
|
Disadvantages of content management systems |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
Why an application framework? |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
17 | (2) |
|
|
19 | (14) |
|
Setting up the development environment |
|
|
19 | (3) |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
22 | (6) |
|
|
23 | (1) |
|
|
23 | (2) |
|
Starting the installation |
|
|
25 | (1) |
|
Installation status and diagnostics |
|
|
26 | (2) |
|
|
28 | (1) |
|
|
29 | (1) |
|
Community-driven documentation |
|
|
29 | (1) |
|
|
29 | (2) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
31 | (2) |
|
|
33 | (16) |
|
|
33 | (3) |
|
|
34 | (1) |
|
Default Manager interface page |
|
|
35 | (1) |
|
Noticing and fixing errors and warnings |
|
|
36 | (1) |
|
Changing the name of the site |
|
|
36 | (1) |
|
The basic element of MODx: Documents |
|
|
36 | (2) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
40 | (3) |
|
|
43 | (1) |
|
|
44 | (3) |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
47 | (1) |
|
|
47 | (2) |
|
|
49 | (30) |
|
Changing the template of a document |
|
|
49 | (2) |
|
Creating a new template and giving it a category |
|
|
51 | (4) |
|
|
51 | (1) |
|
|
52 | (1) |
|
Steps to create the new template |
|
|
53 | (2) |
|
Making the Home Page use the created template |
|
|
55 | (1) |
|
Choosing a default template |
|
|
56 | (1) |
|
Introducing template variables |
|
|
56 | (1) |
|
Modifying the template to add dynamic behavior |
|
|
57 | (2) |
|
Changing existing templates |
|
|
58 | (1) |
|
|
59 | (4) |
|
Creating template variables |
|
|
59 | (2) |
|
|
61 | (1) |
|
|
62 | (1) |
|
|
62 | (1) |
|
|
63 | (4) |
|
|
63 | (2) |
|
|
65 | (2) |
|
|
67 | (2) |
|
|
67 | (2) |
|
Using a custom form for the Post a Blog ! page |
|
|
69 | (4) |
|
HTML for the custom blog form |
|
|
69 | (1) |
|
|
70 | (1) |
|
Using a chunk as a form template |
|
|
71 | (1) |
|
Checking the Post a Blog ! page |
|
|
72 | (1) |
|
Rich text editor for the blog content |
|
|
73 | (4) |
|
Creating the template variable |
|
|
73 | (1) |
|
Chunk and template variable |
|
|
74 | (2) |
|
NewsPublisher and the Rtcontent field |
|
|
76 | (1) |
|
|
77 | (2) |
|
Authentication and Authorization |
|
|
79 | (20) |
|
|
79 | (3) |
|
|
81 | (1) |
|
|
82 | (5) |
|
Document group for friends |
|
|
87 | (1) |
|
Restricting access for a document |
|
|
88 | (2) |
|
User group: Document group |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
90 | (3) |
|
|
90 | (1) |
|
|
91 | (1) |
|
|
92 | (1) |
|
|
93 | (3) |
|
|
93 | (2) |
|
|
95 | (1) |
|
Link the signup form in the log in snippet |
|
|
95 | (1) |
|
Snippets and authorization |
|
|
96 | (1) |
|
NewsPublisher and authentication |
|
|
96 | (1) |
|
|
97 | (2) |
|
|
99 | (16) |
|
|
99 | (7) |
|
More flexibility with parameters |
|
|
100 | (1) |
|
Aggregated data in a template |
|
|
101 | (2) |
|
Theming MODx---chunks and placeholders |
|
|
103 | (2) |
|
|
105 | (1) |
|
Creating a template variable to hold the category |
|
|
105 | (1) |
|
Assigning documents to a category |
|
|
106 | (1) |
|
|
106 | (8) |
|
Machine-readable formats and readers |
|
|
107 | (1) |
|
|
107 | (1) |
|
|
108 | (1) |
|
|
109 | (1) |
|
Creating RSS views for each category |
|
|
110 | (2) |
|
|
112 | (1) |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
114 | (1) |
|
|
115 | (22) |
|
Menu details in document properties |
|
|
115 | (1) |
|
Authentication and authorization |
|
|
116 | (2) |
|
Getting to know WayFinder |
|
|
116 | (2) |
|
|
118 | (15) |
|
|
118 | (4) |
|
|
122 | (7) |
|
Changing the name in the menu |
|
|
129 | (1) |
|
|
130 | (2) |
|
Removing pages from the menu |
|
|
132 | (1) |
|
More theming using chunks |
|
|
133 | (2) |
|
|
133 | (2) |
|
|
135 | (1) |
|
|
135 | (2) |
|
|
137 | (22) |
|
|
137 | (1) |
|
|
138 | (1) |
|
|
138 | (13) |
|
Jot with the minimal configuration |
|
|
138 | (3) |
|
|
141 | (7) |
|
|
148 | (3) |
|
Using non-bundled snippets |
|
|
151 | (6) |
|
|
151 | (1) |
|
Downloading and extracting a snippet |
|
|
152 | (1) |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
154 | (2) |
|
Snippet without dependent files |
|
|
156 | (1) |
|
|
157 | (1) |
|
|
157 | (2) |
|
|
159 | (16) |
|
|
159 | (11) |
|
|
160 | (1) |
|
Adding Family and Friends documents |
|
|
160 | (10) |
|
|
170 | (3) |
|
|
170 | (1) |
|
|
171 | (1) |
|
Usage with the PHx placeholder |
|
|
172 | (1) |
|
|
173 | (1) |
|
|
173 | (2) |
|
|
175 | (24) |
|
|
175 | (6) |
|
|
175 | (1) |
|
Installing the SMF module |
|
|
175 | (6) |
|
|
181 | (4) |
|
|
185 | (5) |
|
|
190 | (5) |
|
|
190 | (1) |
|
|
190 | (1) |
|
List users and view profile |
|
|
191 | (2) |
|
|
193 | (2) |
|
|
195 | (3) |
|
|
198 | (1) |
|
|
199 | (16) |
|
Learning to create a snippet |
|
|
199 | (7) |
|
|
200 | (1) |
|
|
201 | (2) |
|
|
203 | (2) |
|
|
205 | (1) |
|
|
206 | (2) |
|
|
207 | (1) |
|
|
207 | (1) |
|
$MODx->db->getRecordCount |
|
|
208 | (1) |
|
|
208 | (1) |
|
|
208 | (6) |
|
|
209 | (1) |
|
|
210 | (1) |
|
|
211 | (1) |
|
Chunks, placeholders, and parameters |
|
|
212 | (2) |
|
|
214 | (1) |
|
|
214 | (1) |
|
SEO, Deployment, and Security |
|
|
215 | (18) |
|
|
215 | (7) |
|
Search engine-friendly URLs |
|
|
215 | (3) |
|
|
218 | (1) |
|
|
219 | (2) |
|
|
221 | (1) |
|
|
221 | (1) |
|
Using CSS to control the layout |
|
|
221 | (1) |
|
|
221 | (1) |
|
|
221 | (1) |
|
|
221 | (1) |
|
|
222 | (1) |
|
|
222 | (1) |
|
|
222 | (1) |
|
|
222 | (7) |
|
|
222 | (1) |
|
|
223 | (1) |
|
|
224 | (1) |
|
|
225 | (1) |
|
|
225 | (1) |
|
|
226 | (1) |
|
|
226 | (2) |
|
|
228 | (1) |
|
|
228 | (1) |
|
|
229 | (2) |
|
|
229 | (1) |
|
|
229 | (1) |
|
Writable configuration file |
|
|
229 | (1) |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
231 | (1) |
|
|
231 | (1) |
|
|
231 | (2) |
|
|
233 | (16) |
|
|
233 | (10) |
|
Using an existing plug-in |
|
|
234 | (1) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
237 | (1) |
|
|
237 | (3) |
|
Learning about the plug-in |
|
|
240 | (1) |
|
|
241 | (2) |
|
Event-triggering snippets |
|
|
243 | (1) |
|
|
243 | (5) |
|
|
244 | (1) |
|
|
244 | (1) |
|
|
244 | (1) |
|
Module's Manager interface |
|
|
245 | (1) |
|
|
246 | (2) |
|
Learning to use custom modules |
|
|
248 | (1) |
|
|
248 | (1) |
Index |
|
249 | |