You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/backend/content-types/index.md
+52-12
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,11 @@ myst:
9
9
10
10
(backend-content-types-label)=
11
11
12
-
# Content Types
12
+
# Content types
13
+
14
+
This part of the documentation describes how to develop content types in Plone.
15
+
Content types are implemented through the {term}`Dexterity` framework.
13
16
14
-
```{seealso}
15
-
See the chapter {ref}`training:dexterity1-label` from the Mastering Plone 6 Training for a step-by-step tutorial to create a custom content type.
16
-
```
17
17
18
18
## What is a content type?
19
19
@@ -22,19 +22,59 @@ We have different content types to reflect the different kinds of information ab
22
22
23
23
Pages, news items, events, files (binary), and images are examples of content types.
24
24
25
-
Lots of things in Plone can be configured to work differently based on the content type. For example, each content type has:
26
-
- a {ref}`schema <backend-fields-label>` specifying the fields which can be edited for the content type
27
-
- a list of {ref}`behaviors <backend-behaviors-label>` which supply additional functionality that can be attached to the content types for which the behavior is enabled
28
-
- a {ref}`workflow <backend-workflows-label>` controlling transitions between publishing states and associated permissions
29
-
- a version policy controlling whether to store a revision history
25
+
Lots of things in Plone can be configured to work differently based on the content type.
26
+
For example, each content type has:
27
+
28
+
- a {ref}`schema <backend-fields-label>` specifying the fields which can be edited for the content type
29
+
- a list of {ref}`behaviors <backend-behaviors-label>` which supply additional functionality that can be attached to the content types for which the behavior is enabled
30
+
- a {ref}`workflow <backend-workflows-label>` controling transitions between publishing states and associated permissions
31
+
- a version policy controling whether to store a revision history
30
32
31
33
It is common in developing a web site that you'll need customized versions of common content types, or perhaps even entirely new types.
32
34
35
+
36
+
## Topics
37
+
38
+
This part of the documentation will cover the following topics.
39
+
40
+
- Some basic design techniques for solving problems with content types in Plone
41
+
- Setting up a Dexterity development environment
42
+
- Creating a package to house your types
43
+
- Building a custom type based on a schema
44
+
- Creating custom views and forms for your type
45
+
- Advanced customization, including workflow and security
46
+
- Testing your types
47
+
- A quick reference to common fields, widgets, and APIs
48
+
49
+
```{seealso}
50
+
See the chapter {ref}`training:dexterity1-label` from the Mastering Plone 6 Training for a step-by-step tutorial to create a custom content type.
51
+
```
52
+
53
+
```{toctree}
54
+
:maxdepth: 2
55
+
56
+
% designing
57
+
% prerequisite
58
+
% schema-driven-types
59
+
% model-driven-types
60
+
% custom-views
61
+
% advanced/index
62
+
% testing/index
63
+
% reference/index
64
+
```
65
+
66
+
33
67
## Factory Type Information
34
68
69
+
```{todo}
70
+
Find a new home for this section.
71
+
This page is an introduction, whereas FTI is a topic unto itself.
72
+
```
73
+
35
74
A content type is defined by creating a {term}`Factory Type Information` (FTI) object.
36
75
37
-
To create an FTI in a GenericSetup profile, add the content type to the list in `types.xml`. For example, this adds the standard Plone page (Document) content type:
76
+
To create an FTI in a `GenericSetup` profile, add the content type to the list in `types.xml`.
77
+
For example, this adds the standard Plone page (`Document`) content type:
38
78
39
79
```xml
40
80
<objectname="portal_types">
@@ -145,7 +185,8 @@ In this example, the file is `types/Document.xml` and contains this XML:
145
185
146
186
The `name` attribute on the root element in the XML must match the name in the filename and the name listed in `types.xml`.
147
187
148
-
Set the `i18n:domain` to the i18n domain which includes translations for this content type. This is usually the same as the name of the Python package which contains the content type.
188
+
Set the `i18n:domain` to the i18n domain which includes translations for this content type.
189
+
This is usually the same as the name of the Python package which contains the content type.
149
190
150
191
151
192
(global-fti-properties-label)=
@@ -209,7 +250,6 @@ The XML sets a number of FTI properties that are used globally, in both Classic
209
250
: The name of the content type displayed in the UI.
Copy file name to clipboardExpand all lines: docs/glossary.md
+2-1
Original file line number
Diff line number
Diff line change
@@ -121,7 +121,8 @@ Diazo
121
121
Diazo allows you to apply a theme contained in a static HTML web page to a dynamic website created using any server-side technology.
122
122
123
123
Dexterity
124
-
[Dexterity](https://github.com/plone/plone.dexterity), the base framework for building content types, both through-the-web and as filesystem code for Zope.
124
+
[Dexterity](https://github.com/plone/plone.dexterity) is the base framework for building content types, both through-the-web and as filesystem code.
125
+
It is aimed at Plone, although this package should work with plain Zope + CMF systems.
125
126
126
127
Dublin Core
127
128
The Dublin Core Schema is a small set of vocabulary terms that can be used to describe web resources (video, images, web pages, etc.), as well as physical resources such as books or CDs, and objects like artworks.
0 commit comments