Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ tags:
To change the default WYSIWYG editor provided with Strapi's admin panel, several options are at your disposal:

- You can install a third-party plugin, such as one for CKEditor, by visiting <ExternalLink to="https://market.strapi.io/" text="Strapi's Marketplace"/>.
- You can create your own plugin to create and register a fully custom WYSIWYG field (see [custom fields documentation](/cms/plugins-development/custom-fields)).
- You can create your own plugin to create and register a fully custom WYSIWYG field (see [custom fields documentation](/cms/features/custom-fields)).
- You can take advantage of Strapi's admin panel [extensions](/cms/admin-panel-customization/extension) system and leverage the [bootstrap lifecycle function](/cms/plugins-development/admin-panel-api#bootstrap) of the admin panel.

If you choose to use the extensions system, create your WYSIWYG component in the `/src/admin/extensions` folder and import it in the admin panel's `/src/admin/app.[tsx|js]` entry point file, then declare the new field with the `app.addFields()` function as follows:
Expand Down
5 changes: 2 additions & 3 deletions docusaurus/docs/cms/backend-customization/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -508,15 +508,14 @@ The `tableName` key defines the name of the join table. It has to be specified o

#### Custom fields

[Custom fields](/cms/plugins-development/custom-fields.md) extend Strapi’s capabilities by adding new types of fields to content-types. Custom fields are explicitly defined in the [attributes](#model-attributes) of a model with `type: customField`.
Custom fields' attributes also accept:
[Custom fields](/cms/features/custom-fields) extend Strapi’s capabilities by adding new types of fields to content-types. Custom fields are explicitly defined in the [attributes](#model-attributes) of a model with `type: customField`.

Custom fields' attributes also show the following specificities:

- a `customField` attribute whose value acts as a unique identifier to indicate which registered custom field should be used. Its value follows:
- either the `plugin::plugin-name.field-name` format if a plugin created the custom field
- or the `global::field-name` format for a custom field specific to the current Strapi application
- and additional parameters depending on what has been defined when registering the custom field (see [custom fields documentation](/cms/plugins-development/custom-fields.md)).
- and additional parameters depending on what has been defined when registering the custom field (see [custom fields documentation](/cms/features/custom-fields)).

```json title="./src/api/[apiName]/[content-type-name]/content-types/schema.json"

Expand Down
2 changes: 1 addition & 1 deletion docusaurus/docs/cms/configurations/functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ It can be used to:
- [extend plugins](/cms/plugins-development/plugins-extension#extending-a-plugins-interface)
- extend [content-types](/cms/backend-customization/models) programmatically
- load some [environment variables](/cms/configurations/environment)
- register a [custom field](/cms/plugins-development/custom-fields) that would be used only by the current Strapi application,
- register a [custom field](/cms/features/custom-fields) that would be used only by the current Strapi application,
- register a [custom provider for the Users & Permissions plugin](/cms/configurations/users-and-permissions-providers/new-provider-guide).

`register()` is the very first thing that happens when a Strapi application is starting. This happens _before_ any setup process and you don't have any access to database, routes, policies, or any other backend server elements within the `register()` function.
Expand Down
2 changes: 1 addition & 1 deletion docusaurus/docs/cms/features/content-type-builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -696,7 +696,7 @@ When using dynamic zones, different components cannot have the same field name w

#### Custom fields

Custom fields are a way to extend Strapi’s capabilities by adding new types of fields to content-types or components. Once installed (see [Marketplace](/cms/plugins/installing-plugins-via-marketplace) documentation), custom fields are listed in the _Custom_ tab when selecting a field for a content-type.
[Custom fields](/cms/features/custom-fields) are a way to extend Strapi’s capabilities by adding new types of fields to content-types or components. Once installed (see [Marketplace](/cms/plugins/installing-plugins-via-marketplace) documentation), custom fields are listed in the _Custom_ tab when selecting a field for a content-type.

Each custom field type can have basic and advanced settings. The <ExternalLink to="https://market.strapi.io/plugins?categories=Custom+fields" text="Marketplace"/> lists available custom fields, and hosts dedicated documentation for each custom field, including specific settings.

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ The Admin Panel API allows a plugin to take advantage of several small APIs to p
| Register a hook | [Hooks API](#hooks-api) | [`registerHook()`](#hooks-api) | [`bootstrap()`](#bootstrap) |

:::tip Replacing the WYSIWYG
The WYSIWYG editor can be replaced by taking advantage of [custom fields](/cms/plugins-development/custom-fields), for instance using the <ExternalLink to="https://market.strapi.io/plugins/@ckeditor-strapi-plugin-ckeditor" text="CKEditor custom field plugin"/>.
The WYSIWYG editor can be replaced by taking advantage of [custom fields](/cms/features/custom-fields), for instance using the <ExternalLink to="https://market.strapi.io/plugins/@ckeditor-strapi-plugin-ckeditor" text="CKEditor custom field plugin"/>.
:::

:::info
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Strapi provides the following programmatic APIs for plugins to hook into some of
</CustomDocCardsWrapper>

:::strapi Custom fields plugins
Plugins can also be used to add [custom fields](/cms/plugins-development/custom-fields) to Strapi.
Plugins can also be used to add [custom fields](/cms/features/custom-fields) to Strapi.
:::

## Guides
Expand Down
2 changes: 1 addition & 1 deletion docusaurus/docs/cms/plugins-development/server-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ The `/src/server/index.js` file at the root of the plugin folder exports the req

### register()

This function is called to load the plugin, before the application is [bootstrapped](#bootstrap), in order to register [permissions](/cms/features/users-permissions), the server part of [custom fields](/cms/plugins-development/custom-fields#registering-a-custom-field-on-the-server), or database migrations.
This function is called to load the plugin, before the application is [bootstrapped](#bootstrap), in order to register [permissions](/cms/features/users-permissions), the server part of [custom fields](/cms/features/custom-fields#registering-a-custom-field-on-the-server), or database migrations.

**Type**: `Function`

Expand Down
2 changes: 1 addition & 1 deletion docusaurus/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ const sidebars = {
label: 'Content History',
id: 'cms/features/content-history'
},
'cms/features/custom-fields',
{
type: 'doc',
label: 'Data Management',
Expand Down Expand Up @@ -329,7 +330,6 @@ const sidebars = {
'cms/plugins-development/admin-panel-api',
'cms/plugins-development/content-manager-apis',
'cms/plugins-development/server-api',
'cms/plugins-development/custom-fields',
'cms/plugins-development/plugins-extension',
'cms/plugins-development/guides/pass-data-from-server-to-admin',
'cms/plugins-development/guides/store-and-access-data',
Expand Down
4 changes: 4 additions & 0 deletions docusaurus/src/scss/details.scss
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ details.alert {
a:hover {
text-decoration: var(--ifm-link-decoration);
}

code {
background-color: inherit;
}
}

@include dark {
Expand Down
2 changes: 1 addition & 1 deletion docusaurus/static/js/redirector.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ document.addEventListener('DOMContentLoaded', () => {
'email': '/cms/features/email',
'seo': '/cms/plugins/installing-plugins-via-marketplace',
'gatsby': '/cms/plugins/installing-plugins-via-marketplace',
'custom-fields': '/cms/plugins-development/custom-fields'
'custom-fields': '/cms/features/custom-fields'
},
'/dev-docs/plugins/email': {
'_default': '/cms/features/email',
Expand Down
2 changes: 1 addition & 1 deletion docusaurus/vercel.json
Original file line number Diff line number Diff line change
Expand Up @@ -982,7 +982,7 @@
},
{
"source": "/dev-docs/custom-fields",
"destination": "/cms/plugins-development/custom-fields",
"destination": "/cms/features/custom-fields",
"permanent": true
},
{
Expand Down