diff --git a/docs/_images/cp_collapase_arrow.png b/docs/_images/cp_collapse_arrow.png similarity index 100% rename from docs/_images/cp_collapase_arrow.png rename to docs/_images/cp_collapse_arrow.png diff --git a/docs/add-ons/consent.md b/docs/add-ons/consent.md index 1f46cd009..291f6540b 100755 --- a/docs/add-ons/consent.md +++ b/docs/add-ons/consent.md @@ -179,7 +179,7 @@ If this tag would not output any consent requests due to your filters, the conte No Consent Requests Available {/if} -### Conesnt Form Examples +### Consent Form Examples #### Simple Bulk Consent Form @@ -466,7 +466,7 @@ If you need to exclude one or several types from display, use `not ` before the provider='ee' -Limits display of cookies by cookie provider. +Limits display of cookies by cookie provider. If the cookie is provided by an add-on, the provider matches the add-ons short name, e.g. `comment` or `forum` The core ExpressionEngine cookies are identified by `ee` as provider. If cookie is only being used in Control Panel, the provider is set to `cp`. diff --git a/docs/add-ons/pro-search/parameters.md b/docs/add-ons/pro-search/parameters.md index 459a3597e..386c9e6b5 100644 --- a/docs/add-ons/pro-search/parameters.md +++ b/docs/add-ons/pro-search/parameters.md @@ -117,7 +117,7 @@ This is equal to: ### SQL parameters -Pro Search supports SQL parameters. This means you can use a SQL query in any pararameter. SQL queries are limited to SELECTs only and should always end with a semi-colon (;). Pro Search will take the first item in the SELECT statement and creates a pipe-separated list from it. If the SQL query produces no results, it sets the parameter value to what comes after the semi-colon. You can optionally prefix the SQL query for better matching. Schematically, such a query looks like this: +Pro Search supports SQL parameters. This means you can use a SQL query in any parameter. SQL queries are limited to SELECTs only and should always end with a semi-colon (;). Pro Search will take the first item in the SELECT statement and creates a pipe-separated list from it. If the SQL query produces no results, it sets the parameter value to what comes after the semi-colon. You can optionally prefix the SQL query for better matching. Schematically, such a query looks like this: `param="prefix SELECT field FROM table WHERE lorem = 'ipsum';no results"` diff --git a/docs/add-ons/pro-search/settings.md b/docs/add-ons/pro-search/settings.md index c9e783cc5..035a4337f 100644 --- a/docs/add-ons/pro-search/settings.md +++ b/docs/add-ons/pro-search/settings.md @@ -40,7 +40,7 @@ The same query with GET variables would look like this: `domain.com/search/results?keywords=hello+world` -Using GET variables is not possible if the `uri_protocol` config setting is set to QUERY_STRING. It can also cause unexpected behaviour if you’re using the second exception (the question mark) in your `.htaccess` file when hiding `index.php`. If you can, use the encoded query instead as this will always work. +Using GET variables is not possible if the `uri_protocol` config setting is set to QUERY_STRING. It can also cause unexpected behavior if you’re using the second exception (the question mark) in your `.htaccess` file when hiding `index.php`. If you can, use the encoded query instead as this will always work. NOTE:**Note:** When using GET variables, make sure Dynamic Channel Query Caching is turned off. @@ -54,7 +54,7 @@ Choose a tag which is used to highlight keywords in the search excerpt. Options ### Minimum word length -The ft_min_word_len setting of your MySQL installation determines the minimum length of words indexed by the Full Text index. Setting that value here will trigger an alternative search algorithm when the search term is smaller than this size. Defaults to 4. Do not alter unless you have customised your MySQL installation. +The ft_min_word_len setting of your MySQL installation determines the minimum length of words indexed by the Full Text index. Setting that value here will trigger an alternative search algorithm when the search term is smaller than this size. Defaults to 4. Do not alter unless you have customized your MySQL installation. ### Stop words diff --git a/docs/add-ons/pro-variables/manage.md b/docs/add-ons/pro-variables/manage.md index 772f3bbcc..04a93fc3a 100644 --- a/docs/add-ons/pro-variables/manage.md +++ b/docs/add-ons/pro-variables/manage.md @@ -51,7 +51,7 @@ When using the suffix option, you can use `{suffix}` in both the variable name a ## Variable groups -You can create any number of groups to organise your variables. These groups will appear in the Group drop down for each variable, so you can assign a group to it. On the module home page, variable managers can sort the groups using drag and drop. Variable managers can also edit and delete the groups from here, by clicking on the edit or delete icon next to the group name. You can alter the variable order in a group by editing the group’s properties. +You can create any number of groups to organize your variables. These groups will appear in the Group drop down for each variable, so you can assign a group to it. On the module home page, variable managers can sort the groups using drag and drop. Variable managers can also edit and delete the groups from here, by clicking on the edit or delete icon next to the group name. You can alter the variable order in a group by editing the group’s properties. ### Group label diff --git a/docs/add-ons/rte.md b/docs/add-ons/rte.md index 7300af469..92f58e78b 100755 --- a/docs/add-ons/rte.md +++ b/docs/add-ons/rte.md @@ -126,7 +126,7 @@ WARN: **Advanced users only.** Please be careful with using this feature and che Initially the field is loaded with the saved configuration of tool set being edited. -Consult [Redactor Docs](https://imperavi.com/redactor/docs/settings/) or [CKEDitor Docs](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/configuration.html) for the list of properties. Note that not all features are supported by the ExpressionEngine implementation. +Consult [Redactor Docs](https://imperavi.com/redactor/docs/settings/) or [CKEditor Docs](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/configuration.html) for the list of properties. Note that not all features are supported by the ExpressionEngine implementation. #### Extra JavaScript JavaScript template to be included with fields using this tool set. Typically used to include extra plugins when using advanced configuration with Redactor. diff --git a/docs/add-ons/spam.md b/docs/add-ons/spam.md index 9596d156f..53d8af3c7 100755 --- a/docs/add-ons/spam.md +++ b/docs/add-ons/spam.md @@ -25,7 +25,7 @@ The Spam Module has three important configuration settings: ### Sensitivity -The Spam Module works by calculating the probability that a piece of content is spam based on all the examples it's seen before. The sensitivity is the cutoff for what we consider spam. This defaults to 70 which means there has to be at least a 70% probability something is spam for it to get flagged. If this is higher you will have fewere false positives but more spam will slip through. +The Spam Module works by calculating the probability that a piece of content is spam based on all the examples it's seen before. The sensitivity is the cutoff for what we consider spam. This defaults to 70 which means there has to be at least a 70% probability something is spam for it to get flagged. If this is higher you will have fewer false positives but more spam will slip through. ### Word Limit diff --git a/docs/advanced-usage/front-end/dock.md b/docs/advanced-usage/front-end/dock.md index f681188dd..97d108ee7 100644 --- a/docs/advanced-usage/front-end/dock.md +++ b/docs/advanced-usage/front-end/dock.md @@ -12,7 +12,7 @@ [TOC] ## Overview -The Dock is a central component of ExpressionEngine's front-end functionality. +The Dock is a central component of ExpressionEngine's front-end functionality. ![dock overview](_images/ee-pro-dock.png) @@ -47,7 +47,7 @@ The Control Panel button on the Dock will open the site's Control Panel in a new Prolets are add-on components that reveal some of add-on's functionality for the Control Panel to the front-end, making it possible to edit data directly on the page where it belongs. ### Built-in Prolets -ExpressionEngine is shipped with the Entries and Publish prolets. +ExpressionEngine is shipped with the Entries and Publish prolets. Clicking on the Entries prolet opens a prolet window with all entries currently listed. Allowing you to quickly find and edit other entries in your site. @@ -61,6 +61,6 @@ Developers may create third-party prolets that can be installed with add-ons. Re ![dock prolets](_images/ee-pro-dock-prolets.png) ## Disabling -The Dock can be disabled by either the setting in the [Control Panel](control-panel/settings/front-end-editing.md#general-settings) or [config override](general/system-configuration-overrides.md#enable_dock). +The Dock can be disabled by either the setting in the [Control Panel](control-panel/settings/front-end-editing.md#enable-dock) or [config override](general/system-configuration-overrides.md#enable_dock). -WARN **Warning**: If the Dock is disabled, all of ExpressionEngine's [Front-End Content Management](advanced-usage/front-end/overview.md) is turned off for the front-end. \ No newline at end of file +WARN **Warning**: If the Dock is disabled, all of ExpressionEngine's [Front-End Content Management](advanced-usage/front-end/overview.md) is turned off for the front-end. \ No newline at end of file diff --git a/docs/channels/channel-form/status.md b/docs/channels/channel-form/status.md index e0b3b91ac..3978df4aa 100644 --- a/docs/channels/channel-form/status.md +++ b/docs/channels/channel-form/status.md @@ -28,6 +28,6 @@ Or use the alternative syntax: {/statuses} -To manually set an entry's status upon sutmitting the Channel Form, you can use a Hidden field: +To manually set an entry's status upon submitting the Channel Form, you can use a Hidden field: diff --git a/docs/channels/entries.md b/docs/channels/entries.md index 13cade934..061c004c3 100755 --- a/docs/channels/entries.md +++ b/docs/channels/entries.md @@ -118,7 +118,7 @@ And, you can use an inclusive stack to only get entries with _all_ of the catego category="3&7&8" -Or you can negate the inclusive stack and get entries that do not of _all_ of those categories +Or you can negate the inclusive stack and get entries that do not match _all_ of those categories category="not 3&5" @@ -274,7 +274,7 @@ When used in an RSS/Atom feed, this parameter allows ExpressionEngine to dynamic You can hard code the channel tag to show a specific channel entry. You may also specify multiple entries by separating them with the pipe character: entry_id="13|42|147" - + Or use "not" to exclude entries:: entry_id="not 45|534|807" @@ -422,7 +422,7 @@ This parameter is for use with entry [pagination](templates/pagination.md) and d If no parameter is specified, the navigation block will default to the "bottom" behavior. -If the pagination tag pair is not included, the entries returned will not respond to a page indicator in the URL. In othat case you would need to set the parameter to _hidden_ to allow the entries to reflect the pagination in the URL. +If the pagination tag pair is not included, the entries returned will not respond to a page indicator in the URL. In that case you would need to set the parameter to _hidden_ to allow the entries to reflect the pagination in the URL. ### `paginate_base=` diff --git a/docs/channels/entry-spanning.md b/docs/channels/entry-spanning.md index 8f8f4db6f..402350cc4 100755 --- a/docs/channels/entry-spanning.md +++ b/docs/channels/entry-spanning.md @@ -84,7 +84,7 @@ The {multi_field=} variable is the core of the ability to span a channel entry a {multi_field="page1|page2|page3"} -3. When you initially visit your comment page for an entry, where you xhave the {multi_field} tag in your Template, you will see the content of your "page1" field, just as if you had used the regular {page1} variable. +3. When you initially visit your comment page for an entry, where you have the {multi_field} tag in your Template, you will see the content of your "page1" field, just as if you had used the regular {page1} variable. 4. If your entry has content in the "page2" field then you will see a "next page" link. 5. When you click that link, you'll see your entry again, but instead of {page1} being displayed, in its place would be {page2}. 6. This would continue with as many variables/pages as needed. diff --git a/docs/cli/built-in-commands/sync-conditional-fields.md b/docs/cli/built-in-commands/sync-conditional-fields.md index acec810f3..cf1edc369 100644 --- a/docs/cli/built-in-commands/sync-conditional-fields.md +++ b/docs/cli/built-in-commands/sync-conditional-fields.md @@ -1,6 +1,6 @@ # sync:conditional-fields -Sync Conditional Field Logic -- Checks each channel entry to see if its connditional logic is correct. If it is not, it updates the conditional logic and saves the entry. +Sync Conditional Field Logic -- Checks each channel entry to see if its conditional logic is correct. If it is not, it updates the conditional logic and saves the entry. ## Options list: diff --git a/docs/config/config-files.md b/docs/config/config-files.md index f2454ca98..158afffe1 100644 --- a/docs/config/config-files.md +++ b/docs/config/config-files.md @@ -35,7 +35,7 @@ This file contains an array of foreign characters for transliteration conversion These are the mime types that are allowed to be uploaded using the upload class. For security reasons the list is kept as small as possible. If you need to upload types that are not in the list you can add them. -The mime types are grouped by file type. You can add the allowed mime types directly or you can add new file types containing miltiple mimes. +The mime types are grouped by file type. You can add the allowed mime types directly or you can add new file types containing multiple mimes. #### 'Remember me' expiration diff --git a/docs/control-panel/access.md b/docs/control-panel/access.md index a1ae2d9b9..971336e62 100644 --- a/docs/control-panel/access.md +++ b/docs/control-panel/access.md @@ -14,22 +14,22 @@ Access to the control panel is determined on a per member role level. Super admins automatically have full access to the control panel. For all other member roles, access is specified in the [Member Role Settings](control-panel/member-manager.md). Access settings determine not just the ability to login to the control panel, but which sections and actions can be taken by the member role. The navigation will automatically reflect the access permissions a user has. **Control Panel Access Location** - -By default, the control panel may be accessed via the admin.php file and, if below root, the system/index.php file. As per the post-install security recommendations, the system folder may have been renamed or be inaccessable via browser. The admin.php file may also have been renamed. - + +By default, the control panel may be accessed via the admin.php file and, if below root, the system/index.php file. As per the post-install security recommendations, the system folder may have been renamed or be inaccessible via browser. The admin.php file may also have been renamed. + **Adminstrator Sessions** How long a user stays logged into the control panel is determined by two factors, the session length and the idle check. Any activity such as clicking a link or submitting a form restarts the countdown for both times. If an admin closes the browser or leaves the site and returns before the session expires, they will not need to log back in. If the site sits open in the browser for longer than allowed by the idle check but before the session expires, they will be required to confirm their password before accessing the open browser pages. ***Session Length*** -Session Time to Logout (TTL) refers to how long a user stays logged into the control panel after logging in. By default, after 1 hour of inactivity, administrators will be logged out of the control panel and required to log back in with their username and password. The default TTL length can be overriden by the [cp_session_length](general/system-configuration-overrides.md#cp_session_length) setting. +Session Time to Logout (TTL) refers to how long a user stays logged into the control panel after logging in. By default, after 1 hour of inactivity, administrators will be logged out of the control panel and required to log back in with their username and password. The default TTL length can be overriden by the [cp_session_length](general/system-configuration-overrides.md#cp_session_length) setting. -If control panel sessions are set to use cookies only, the 'Remember me' login option will allow the session cookie to persist for 2 weeks. This may be overriden using the [remember.php configuration file](config/config-files.md#remember_me). +If control panel sessions are set to use cookies only, the 'Remember me' login option will allow the session cookie to persist for 2 weeks. This may be overriden using the [remember.php configuration file](config/config-files.md#remember-me-expiration). ***Adminstrator Idle Check*** -For added security, ExpressionEngine triggers a modal when an administrator is logged into the control panel but idle beyond a set length of time. The modal triggers afer 30 minutes if the control panel is in focus and idle, or 45 minutes if idle and out of focus. Unlike a fresh login, if the user logs back in via the modal before the TTL is exceeded, they remain on the same page(s) with no alteration of unsaved data. The idle check is not a factor if the site is no longer loaded in the browser. +For added security, ExpressionEngine triggers a modal when an administrator is logged into the control panel but idle beyond a set length of time. The modal triggers after 30 minutes if the control panel is in focus and idle, or 45 minutes if idle and out of focus. Unlike a fresh login, if the user logs back in via the modal before the TTL is exceeded, they remain on the same page(s) with no alteration of unsaved data. The idle check is not a factor if the site is no longer loaded in the browser. ![](_images/admin-access-modal.png) @@ -38,7 +38,7 @@ For added security, ExpressionEngine triggers a modal when an administrator is l Sessions are stored in cookies, session ID (URL) or both, see [Security and Privacy Settings](control-panel/settings/security-privacy.md#settings). The control panel and the frontend may have different session types. If the frontend uses cookies only for storage and the control panel uses cookies and sessions, logging into the frontend will not result in being logged into the control panel. However, logging into the control panel will result in being logged into the frontend. Logging into an area that sets a session cookie will apply to any area that requires session cookies only. So if you're logged into the control panel but the website acts like you're a guest? You probably don't have session data stored in a cookie per the control panel session settings. - + diff --git a/docs/control-panel/file-manager/file-manager.md b/docs/control-panel/file-manager/file-manager.md index d2a7be2b6..1aba085bc 100644 --- a/docs/control-panel/file-manager/file-manager.md +++ b/docs/control-panel/file-manager/file-manager.md @@ -29,11 +29,11 @@ The File Manager is composed of several sections to help easily manage your file ### Sidebar -The sidebar gives you access to creating, viewing, and managing [Upload Directories](control-panel/file-manager/upload-directories.md); [Watermarks](control-panel/file-manager/watermarks.md); and Exporting All Files. +The sidebar gives you access to creating, viewing, and managing [Upload Directories](control-panel/file-manager/upload-directories.md); [Watermarks](control-panel/file-manager/watermarks.md); and Exporting All Files. ![File manager sidebar](_images/cp_file_manager_sidebar.png) -The sidebar can also be collapsed using the arrow icon ( cp collapase arrow ) that is displayed to the side of the sidebar when hovering over the sidebar. +The sidebar can also be collapsed using the arrow icon ( cp collapase arrow ) that is displayed to the side of the sidebar when hovering over the sidebar. ### Filters @@ -45,7 +45,7 @@ Filters allow you to quickly filter the files listed to find exactly what you ne The following selectable filters are available: * Type - Filter by the file type. Available types are Image, Document, Archive, Audio, Video (only file types of currently uploaded files are displayed) -* Category - Filter by categories available to files. +* Category - Filter by categories available to files. * Date Added - Filter by date added. Available options are Custom Date (enter in a specific date), Last 24 Hours, Last 7 Days, Last 30 Days, Last 180 Days, Last 365 Days * Added By - Filter by the member who uploaded files @@ -55,7 +55,7 @@ Files can also be filtered using the keyword search option. ### File Listing -The bulk of the File Manager screen is composed of the file list. +The bulk of the File Manager screen is composed of the file list. ![File Manager Listing](_images/cp_file-manager-listing.png) @@ -75,7 +75,7 @@ The List View also exposes a Utility Action menu which quickly allows for action ![File Manager Utility Action Menu](_images/cp_file_manager_utility_action.png) -The columns displayed in the List View can also be adjusted to display file information relevant to your needs. +The columns displayed in the List View can also be adjusted to display file information relevant to your needs. These columns include: * Title diff --git a/docs/control-panel/file-manager/upload-directories.md b/docs/control-panel/file-manager/upload-directories.md index fe2d968fd..3d18ee93c 100644 --- a/docs/control-panel/file-manager/upload-directories.md +++ b/docs/control-panel/file-manager/upload-directories.md @@ -49,7 +49,7 @@ The directory can be restricted to accept one or several following file types: I By default, only images are allowed. -Only file types that are specified in ExpressionEngine's Mime Type file are allowed to be uploaded. The Mime Type file can be found in [`mimes.php`](config/config-files.md#allowed-mime-types). If you are uploading something uncommon and run into problems, you may need to add the mime type for your file to the allow list. +Only file types that are specified in ExpressionEngine's Mime Type file are allowed to be uploaded. The Mime Type file can be found in [`mimes.php`](config/config-files.md#allowed-mime-types). If you are uploading something uncommon and run into problems, you may need to add the mime type for your file to the allow list. See also [MIME allow list](general/system-configuration-overrides.md#mime_whitelist_additions) and [Mime member exception allow list](general/system-configuration-overrides.md#mime_whitelist_member_exception) for more info. ##### Share Upload Directory on all sites? @@ -86,7 +86,7 @@ Optionally set the maximum allowed height in pixels for uploaded images. Images ##### Constrain or Crop -Specify one or more alternate versions of an image that automatically get created when the original image is uploaded. A manipulation can include a resized version, a [watermark](control-panel/file-manager/file-manager.md#watermarks), or both. You can refer to a particular Image Manipulation in your templates via a File Field's [single variable tag](fieldtypes/file.md#single-variable-usage) or its [variable pair tag](fieldtypes/file.md#url). The resize type will determine whether the image is constrained (resized) or cropped to the specified dimensions. If only height or width is specified, the thumbnails will be created using that as the master dimension. For example, setting the height to 200 and leaving the width blank will result in an image that is no higher than 200 pixels, with the width resized proportionately. Setting both the height and the width to 200 would result in an image that is no higher or wider than 200 pixels. +Specify one or more alternate versions of an image that automatically get created when the original image is uploaded. A manipulation can include a resized version, a [watermark](control-panel/file-manager/watermarks.md), or both. You can refer to a particular Image Manipulation in your templates via a File Field's [single variable tag](fieldtypes/file.md#single-variable-usage) or its [variable pair tag](fieldtypes/file.md#url). The resize type will determine whether the image is constrained (resized) or cropped to the specified dimensions. If only height or width is specified, the thumbnails will be created using that as the master dimension. For example, setting the height to 200 and leaving the width blank will result in an image that is no higher than 200 pixels, with the width resized proportionately. Setting both the height and the width to 200 would result in an image that is no higher or wider than 200 pixels. ##### Allowed member roles diff --git a/docs/control-panel/member-manager.md b/docs/control-panel/member-manager.md index 695fe5cf9..86d4e2a9c 100755 --- a/docs/control-panel/member-manager.md +++ b/docs/control-panel/member-manager.md @@ -44,7 +44,7 @@ ExpressionEngine comes with 5 built-in Roles: These roles should never be deleted. -If you need a custom set of permissions for the role, we suggest creating a new role for each case. You can do that by clicking "New Role" button, or you can create a new role based on an exsting one by picking "Clone to New Role" from the role's "Save" dropdown. +If you need a custom set of permissions for the role, we suggest creating a new role for each case. You can do that by clicking "New Role" button, or you can create a new role based on an existing one by picking "Clone to New Role" from the role's "Save" dropdown. Edit the role by clicking its name in the list. diff --git a/docs/control-panel/settings/captcha.md b/docs/control-panel/settings/captcha.md index 7f24a29c6..c609e5446 100755 --- a/docs/control-panel/settings/captcha.md +++ b/docs/control-panel/settings/captcha.md @@ -55,7 +55,7 @@ If you wish to use Google reCAPTCH v3 as a replacement you will need to ensure t ### Use reCAPTCHA v3? -If you enable this preference then the system will use reCAPTCH v3 in place of the older image based solution. +If you enable this preference then the system will use reCAPTCHA v3 in place of the older image based solution. ### reCAPTCHA site key diff --git a/docs/control-panel/settings/content-design.md b/docs/control-panel/settings/content-design.md index 70802d2cb..4b435dd76 100755 --- a/docs/control-panel/settings/content-design.md +++ b/docs/control-panel/settings/content-design.md @@ -34,9 +34,9 @@ Set whether to assign an entry to both the selected category and its parent cate ### Run File Manager in Compatibility Mode? -WARN:**Note:** Compatibility Mode is enabeld by default for sites upgrading from ExpressionEngine versions less than ExpressionEngine 7. +WARN:**Note:** Compatibility Mode is enabled by default for sites upgrading from ExpressionEngine versions less than ExpressionEngine 7. -When Compatibility Mode is enabled, files will be stored in the database using a format compatiblie with ExpressionEngine versions 6 and prior. Compatibility Mode disables many newer File Manager features and prevents issues with add-ons that are not ExpressionEngine 7+ compatible. See [`File Manager > Compatibility Mode`](/control-panel/file-manager/file-manager.md#compatibility-mode) for more information. +When Compatibility Mode is enabled, files will be stored in the database using a format compatible with ExpressionEngine versions 6 and prior. Compatibility Mode disables many newer File Manager features and prevents issues with add-ons that are not ExpressionEngine 7+ compatible. See [`File Manager > Compatibility Mode`](/control-panel/file-manager/file-manager.md#compatibility-mode) for more information. ### Protocol diff --git a/docs/control-panel/settings/debug-output.md b/docs/control-panel/settings/debug-output.md index 09bc5761c..38db4b0ab 100755 --- a/docs/control-panel/settings/debug-output.md +++ b/docs/control-panel/settings/debug-output.md @@ -21,7 +21,7 @@ When set to "enable", super admins and member roles with permissions will see PH ### Enable debugging? -If enabled, Super Admins will see benchmark results, SQL queries, and submitted form data displayed at the bottom of the browser window. On the front end, this includes Global Variables, Conditionals, Tags, PHP on Input/Ouput, Embeds, and Extension Hooks. This is an excellent tool for debugging. +If enabled, Super Admins will see benchmark results, SQL queries, and submitted form data displayed at the bottom of the browser window. On the front end, this includes Global Variables, Conditionals, Tags, PHP on Input/Output, Embeds, and Extension Hooks. This is an excellent tool for debugging. ### Enable GZIP compression? diff --git a/docs/control-panel/settings/front-end-editing.md b/docs/control-panel/settings/front-end-editing.md index 4310a5600..1b70a91d5 100644 --- a/docs/control-panel/settings/front-end-editing.md +++ b/docs/control-panel/settings/front-end-editing.md @@ -12,17 +12,17 @@ [TOC] -**Control Panel Location:** `Seetings -> Content & Design > Front-End Editing` +**Control Panel Location:** `Settings -> Content & Design > Front-End Editing` ## **Enable Dock** -(Default: On, Matching Config Override: [`enable_dock`](#enable_dock) ) +(Default: On, Matching Config Override: [`enable_dock`](general/system-configuration-overrides.md#enable_dock) ) Enabling the Dock controls whether ExpressionEngine Pro is turned on for the front-end of your website. When the Dock is disabled all front-end editing, prolets, and Dock features will be disabled. ## **Enable front-end editing** -(Default: On, Matching Config Override: [`enable_frontedit`](#enable_frontedit)) +(Default: On, Matching Config Override: [`enable_frontedit`](general/system-configuration-overrides.md#enable_frontedit)) Enabling front-end editing allows users with respective permissions to edit channel entries and content on the front-end of your website using provided edit links ( pro edit icon ) . ## **Enable automatic front-end editing links** -(Default: On, Matching Config Override: [`enable_frontedit_links`](#enable_frontedit_links)) +(Default: On, Matching Config Override: [`enable_frontedit_links`](general/system-configuration-overrides.md#enable_frontedit_links)) By default ExpressionEngine Pro automatically inserts edit links ( pro edit icon ) where editable content is found in templates. These can be disabled on a per field basis or globally when using this toggle. When toggled off, ExpressionEngine Pro will no longer automatically generate edit links and links will need to be [added manually](/advanced-usage/front-end/frontend.md#customizing-the-link-location) where needed in templates. \ No newline at end of file diff --git a/docs/development/actions.md b/docs/development/actions.md index 951d601a9..fe9d85090 100644 --- a/docs/development/actions.md +++ b/docs/development/actions.md @@ -9,12 +9,12 @@ # Actions -TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) +TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) [TOC] ## Overview -Actions in ExpressionEngine are URL endpoints that are reached with the `ACT` query parameter. An example of this might be `http://myamazingsite.com/?ACT=43` where 43 is the ID given to an action registered in the `exp_actions` database table. These actions are tied to methods in an add-on which can be used to accept input from forms or run some sort of other functionality defined in the add-on. +Actions in ExpressionEngine are URL endpoints that are reached with the `ACT` query parameter. An example of this might be `http://myamazingsite.com/?ACT=43` where 43 is the ID given to an action registered in the `exp_actions` database table. These actions are tied to methods in an add-on which can be used to accept input from forms or run some sort of other functionality defined in the add-on. NOTE:Before adding an action to your add-on, you need to already have an add-on in place. See [Building An Add-On: Getting Started](development/addon-development-overview.md#getting-started) for how to generate the starter files for your add-on. @@ -37,7 +37,7 @@ amazing_add_on ┗... ``` -We also notice that a migration is created in our `database/migrations` folder. This migration is ran when your add-on is installed or uninstalled to tell ExpressionEngine what actions we needed added or removed with our add-on. +We also notice that a migration is created in our `database/migrations` folder. This migration is ran when your add-on is installed or uninstalled to tell ExpressionEngine what actions we needed added or removed with our add-on. ``` //database/migrations/[timestamp]_[mirgrationname].php @@ -45,7 +45,7 @@ We also notice that a migration is created in our `database/migrations` folder. use ExpressionEngine\Service\Migration\Migration; -class CreateactionamazingaztionforaddonamazingAddOn extends Migration +class CreateactionamazingactionforaddonamazingAddOn extends Migration { /** * Execute the migration @@ -55,7 +55,7 @@ class CreateactionamazingaztionforaddonamazingAddOn extends Migration { ee('Model')->make('Action', [ 'class' => 'Amazing_add_on', - 'method' => 'AmazingAztion', + 'method' => 'AmazingAction', 'csrf_exempt' => false, ])->save(); } @@ -68,7 +68,7 @@ class CreateactionamazingaztionforaddonamazingAddOn extends Migration { ee('Model')->get('Action') ->filter('class', 'Amazing_add_on') - ->filter('method', 'AmazingAztion') + ->filter('method', 'AmazingAction') ->delete(); } } @@ -150,9 +150,9 @@ The `exp_actions` table is comprised of 4 columns: WARN:**Security Alert:**Setting your action to CSRF Exempt, also makes this endpoint less secure though as you are allowing outside connections to your application. -For security reasons, actions are protected by [Cross Site Request Forgery(CSRF)](/development/guidelines/security.md#cross-site-request-forgery). If you want users to be able to reach this endpoint from outside your site (e.g. using cURL to from another domain or application to reach this endpoint and expect data to be returned ) then you will most likely need to make your action CSRF exempt. +For security reasons, actions are protected by [Cross Site Request Forgery(CSRF)](/development/guidelines/security.md#cross-site-request-forgery). If you want users to be able to reach this endpoint from outside your site (e.g. using cURL to from another domain or application to reach this endpoint and expect data to be returned ) then you will most likely need to make your action CSRF exempt. -- To make your action immediately CSRF exempt, update the `csrf_exempt` value in the `exp_actions` table to be a value of `1`. +- To make your action immediately CSRF exempt, update the `csrf_exempt` value in the `exp_actions` table to be a value of `1`. - To ensure your action is CSRF exempt for future installations, update the corresponding migration by setting the `csrf_exempt` property to `true`: ``` ... @@ -160,13 +160,13 @@ public function up() { ee('Model')->make('Action', [ 'class' => 'Amazing_add_on', - 'method' => 'AmazingAztion', + 'method' => 'AmazingAction', 'csrf_exempt' => true, ])->save(); } ... ``` -- To set an action as CSRF exempt on creation, use the `--csrf_exempt` or `-c` flag in the CLI: +- To set an action as CSRF exempt on creation, use the `--csrf_exempt` or `-c` flag in the CLI: ``` $ php system/ee/eecli.php make:action --csrf_exempt @@ -176,10 +176,10 @@ $ php system/ee/eecli.php make:action --csrf_exempt ## Do Something - Build An Action -Let's do something with our action to demonstrate how this would work. +Let's do something with our action to demonstrate how this would work. ### Form Data -In this example we want to insert a row into our database when a user submits a form. +In this example we want to insert a row into our database when a user submits a form. For this example we'll use a really basic form that would be found in our template which uses our action's endpoint as the action for the form. We know our action's ID from the `exp_actions` table and we're just going to collect the user's first name and last name. We'll then take that information and store it in our database. For the purpose of this example, we'll insert this into a custom table we've added to ExpressionEngine which just has columns `ID`, `first_name`, `last_name`. @@ -191,7 +191,7 @@ What is the action name? ExampleAction What add-on is the action being added to? [amazing_add_on,...]: amazing_add_on ``` -This creates our required files. +This creates our required files. Now we had some functionality to our action which will add the first and last name submitted from a form to our custom database table. @@ -220,7 +220,7 @@ class ExampleAction extends AbstractRoute ee()->db->insert('our_amazing_table', $data); return true; - + } } ``` @@ -319,7 +319,7 @@ The response: ... ``` -This is because of the [`csrf_exempt` value](#cross-site-request-forgerycsrf-exemption) mentioned above. To fix this we can go into the `exp_actions` table of our database and update the `csrf_exempt` column to `1`. +This is because of the [`csrf_exempt` value](#cross-site-request-forgerycsrf-exemption) mentioned above. To fix this we can go into the `exp_actions` table of our database and update the `csrf_exempt` column to `1`. Now when I send that same request, I simply get the entry title I requested: diff --git a/docs/development/addon-development-overview.md b/docs/development/addon-development-overview.md index b79f3d16b..b2dfcb8d0 100644 --- a/docs/development/addon-development-overview.md +++ b/docs/development/addon-development-overview.md @@ -11,12 +11,12 @@ With custom add-ons you can add new fieldtypes, features, template tags, and much more to ExpressionEngine. Here we are going to look at different parts of an add-on, and how to define just what our add-on is going to do. -TIP: In this section, we're explaining the parts of an add-on. No need to memorize everything though, the [CLI](/cli/intro.html) will generate all the pieces we need based on what functions we want our add-on to have. +TIP: In this section, we're explaining the parts of an add-on. No need to memorize everything though, the [CLI](cli/intro.html) will generate all the pieces we need based on what functions we want our add-on to have. [TOC] ## Why Create A Custom Add-On -While ExpressionEngine offers a lot of functionality right out of the box, sometimes you want more power or to do things that ExpressionEngine doesn't natively do. +While ExpressionEngine offers a lot of functionality right out of the box, sometimes you want more power or to do things that ExpressionEngine doesn't natively do. Here are some ideas of what you can accomplish with a custom add-on: @@ -25,16 +25,16 @@ Here are some ideas of what you can accomplish with a custom add-on: - Add custom [fieldtypes](development/fieldtypes/fieldtypes.md) for content editors when creating channel entries. - Add custom [CLI commands](cli/creating-a-command.md) like `$ eecli.php amazing_add_on:do_something_amazing` - Add custom [Publish Form tabs](development/tab-files.md) to help organize entry fields for content editors. -- Hook into ExpressionEngine and run [custom functions (called Extensions)](development/extensions.md) when ExpressionEngine does certain actions, like emailing your team whenever a post is created or manipulating text when a template is rendered. +- Hook into ExpressionEngine and run [custom functions (called Extensions)](development/extensions.md) when ExpressionEngine does certain actions, like emailing your team whenever a post is created or manipulating text when a template is rendered. - Display information from your add-on to content editors on the front-end by adding a [Prolet](/development/prolets.md) to the [ExpressionEngine Dock](/advanced-usage/front-end/dock.md). - Display information in the [Control Panel Dashboard](/control-panel/dashboard_management.md) using a [custom Dashboard Widget](/development/widgets.md). -These are just a few ideas of what you can do with custom add-ons. The possibilities are almost endless. +These are just a few ideas of what you can do with custom add-ons. The possibilities are almost endless. ## Getting Started -Getting started making an add-on is incredibly easy with the CLI. To begin making an add-on, simply use the `make:addon` command from the [CLI](/cli/intro.html). +Getting started making an add-on is incredibly easy with the CLI. To begin making an add-on, simply use the `make:addon` command from the [CLI](cli/intro.html). -TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) +TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) ``` $ php system/ee/eecli.php make:addon @@ -61,7 +61,7 @@ amazing_add_on/ ┗ upd.amazing_add_on.php ``` -At this point, your add-on can't really do anything other than be installed. However, from here, you can add more functionality to your add-on via the CLI depending on your needs. +At this point, your add-on can't really do anything other than be installed. However, from here, you can add more functionality to your add-on via the CLI depending on your needs. Here's a list of functionality that can be added to your add-on and the corresponding CLI command if applicable: @@ -85,7 +85,7 @@ Below is the complete structure of an add-on that we'll call "Amazing Add-on". T ``` amazing_add_on ┣ Commands - ┃ ┗ CommandAnAmazingCommand.php + ┃ ┗ CommandAnAmazingCommand.php ┣ database ┃ ┣ migrations ┃ ┃ ┗ 2022_11_14_170449_amazing_migration.php @@ -128,84 +128,84 @@ NOTE: **Note:** Pay attention to how these filenames are structured. For filenam ### The Add-on Setup File (`addon.setup.php`) -Starting with version 3.0 each add-on in ExpressionEngine must have an `addon.setup.php` file in its package directory. This file provides descriptive data about a specific add-on, such as author, name, and version. +Starting with version 3.0 each add-on in ExpressionEngine must have an `addon.setup.php` file in its package directory. This file provides descriptive data about a specific add-on, such as author, name, and version. Reference [The Add-on Setup File](development/addon-setup-php-file.md) for more information on the contents of this file. ### The Update File (`upd.[addon_name].php`) -**class `Add_on_name_upd extends Installer`** -The Update file for an add-on includes a class with a name that is a combination of the add-on's name with a `_upd` suffix. Here you define functionality that should be executed on installation, update, and uninstallation of your add-on. +**class `Add_on_name_upd extends Installer`** +The Update file for an add-on includes a class with a name that is a combination of the add-on's name with a `_upd` suffix. Here you define functionality that should be executed on installation, update, and uninstallation of your add-on. Reference [The Add-on Update File](development/add-on-update-file.md) for more information on this file. ### The Extension File (`ext.[addon_name].php`) -**class `Add_on_name_upd extends Extension`** -The extension file is used to route ExpressionEngine to our `Extensions` Folder. +**class `Add_on_name_upd extends Extension`** +The extension file is used to route ExpressionEngine to our `Extensions` Folder. Reference [Extending The Core](development/extensions.md) for more information on how to use core hooks to extend what ExpressionEngine can do. ### The Fieldtype File (`ft.[addon_name].php`) -**class `Add_on_name_ft extends EE_Fieldtype`** -The fieldtype file is used to create new [fieldtypes](/fieldtypes/overview.md) in ExpressionEngine when your add-on is installed. +**class `Add_on_name_ft extends EE_Fieldtype`** +The fieldtype file is used to create new [fieldtypes](/fieldtypes/overview.md) in ExpressionEngine when your add-on is installed. Reference [Adding Fieldtypes](development/fieldtypes/fieldtypes.md) for more information on adding fieldtypes with your add-on. ### The Mcp File (`mcp.[addon_name].php`) -**class `Add_on_name_upd extends Mcp`** -The Mcp file is used to route ExpressionEngine to our `ControlPanel` Folder, which contains logic for your Control Panel pages (settings or other pages you might want to add to the Control Panel for your users to interact with). +**class `Add_on_name_upd extends Mcp`** +The Mcp file is used to route ExpressionEngine to our `ControlPanel` Folder, which contains logic for your Control Panel pages (settings or other pages you might want to add to the Control Panel for your users to interact with). Reference [Adding Control Panel Pages](development/modules.md) for more information on adding Control Panel pages with your add-on. ### The Module File `mod.[addon_name].php` -**class `Add_on_name_upd extends Module`** -The module file is used to route ExpressionEngine to our `Modules` Folder, which contains any actions or template tags you are adding with your add-on. +**class `Add_on_name_upd extends Module`** +The module file is used to route ExpressionEngine to our `Modules` Folder, which contains any actions or template tags you are adding with your add-on. Reference [Adding Template Tags](development/custom-template-tags.md) for more information on adding template tags with your add-on or [Adding Actions](development/actions.md) for more information on creating URL endpoints (actions) with your add-on. ### The Tab File (`tab.[addon_name].php`) -**class `Module_name_tab`** -The tab file is used to create tabs that are visible in [Publish Layouts](control-panel/channels.md#publish-layouts). Respectively, these tabs would also be visible on the Entry Publish/Edit page if selected in the publish layout. +**class `Module_name_tab`** +The tab file is used to create tabs that are visible in [Publish Layouts](control-panel/channels.md#publish-layouts). Respectively, these tabs would also be visible on the Entry Publish/Edit page if selected in the publish layout. Reference [Adding Publish Form Tabs](development/tab-files.md) for more information on adding Publish Form Tabs with your add-on. ### The Prolet File `pro.[addon_name].php` -**class `Add_on_name_upd extends AbstractProlet implements ProletInterface`** -The Prolet file is used to create new [Prolets](/development/prolets.md) with our add-on. +**class `Add_on_name_upd extends AbstractProlet implements ProletInterface`** +The Prolet file is used to create new [Prolets](/development/prolets.md) with our add-on. Reference [Adding Prolets](development/prolets.md) for more information on adding prolets to your add-on. ### The Add-on Icon File `icon.svg` The add-on icon folder is used both in the Add-on Manager and in the Dock on the front-end to distinguish your add-on from others. ### Extensions - `/Extensions` -When we tell the CLI that we want to create an extension, classes are automatically created in the `Extensions` folder along with the above mentioned `ext.[addon_name].php` file. Interacting with hooks allows us to extend ExpressionEngine's functionality, thus we refer to these as "extensions". +When we tell the CLI that we want to create an extension, classes are automatically created in the `Extensions` folder along with the above mentioned `ext.[addon_name].php` file. Interacting with hooks allows us to extend ExpressionEngine's functionality, thus we refer to these as "extensions". TIP: Reference the [Extensions](development/extensions.md) section of the docs for more information on using extensions in your add-on. ### Actions - `/Actions` -The `/Actions` folder stores all the business logic for any actions that we are adding to ExpressionEngine with our add-on. Each action will have a separate file and corresponding class created based on information provided in the `$actions` array in the `upd` file. +The `/Actions` folder stores all the business logic for any actions that we are adding to ExpressionEngine with our add-on. Each action will have a separate file and corresponding class created based on information provided in the `$actions` array in the `upd` file. Reference [Adding Actions](development/actions.md) for more information on creating URL endpoints (actions) with your add-on. ### Control Panel Routes - `/ControlPanel` -The `ControlPanel` folder contains all the Control Panel routes and we create for our add-on as well as our sidebar. +The `ControlPanel` folder contains all the Control Panel routes and we create for our add-on as well as our sidebar. Reference [Adding Control Panel Pages](development/modules.md) for more information on adding Control Panel routes and pages with your add-on. ### `/Tags` -The `/Tags` folder stores all the business logic for any template tags we create with our add-on. +The `/Tags` folder stores all the business logic for any template tags we create with our add-on. Reference [Adding Template Tags](development/custom-template-tags.md) for more information on adding template tags with your add-on. ### `/views` The `views` folder contains all of our Control Panel views which will be used to render our add-on's control panel pages. ### `/language` -The `language` folder contains all of our language files that will be used to display text on a page in whatever language is selected in the user’s account settings. +The `language` folder contains all of our language files that will be used to display text on a page in whatever language is selected in the user’s account settings. Reference [Using Language Files](development/add-on-language-files.md) for more information on using language files with your add-on. ### `/database/migrations` The `/database/migrations` folder holds all migrations that will be ran on installation or updating of our add-on. Using the CLI, migrations can also be ran independently. ### `Model` -The `Model` folder holds all models that we are creating with our add-on. +The `Model` folder holds all models that we are creating with our add-on. Reference [Building Your Own Models](/development/services/model/building-your-own.md) for more information on creating your own models with your add-on. ### `widgets` The `widgets` folder holds all dashboard widgets we create with our add-on. Reference [Developing Dashboard Widgets](development/widgets.md) for more information on creating widgets with your add-on. -## Setting Default CLI Config Values +## Setting Default CLI Config Values When creating an add-on via the CLI you will be asked for author and the author's URL. If you'd like to skip these questions when creating an add-on, you can set default values in your [config](/general/system-configuration-overrides.md#main-configuration-file) file like so: @@ -217,8 +217,8 @@ $config['cli_default_addon_author_url'] = 'https://expressionengine.com'; ``` ## A Word About Legacy Add-On Development -In the past, add-ons were often categorized based on their functionality. We identified our add-on to ExpressionEngine as a fieldtype, extension, module, or plug-in. Thus there was never a straightforward process on structuring one add-on that contained all these categories in one. +In the past, add-ons were often categorized based on their functionality. We identified our add-on to ExpressionEngine as a fieldtype, extension, module, or plug-in. Thus there was never a straightforward process on structuring one add-on that contained all these categories in one. -With the release of 6.4.x and 7.2.x this paradigm has been updated to reflect the idea that we are just creating add-ons, and those add-ons can have multiple types of functionality. The CLI has also been updated to make creating add-ons and adding functionality incredibly easy. We have also updated the docs to reflect the ideal workflow of creating an add-on. +With the release of 6.4.x and 7.2.x this paradigm has been updated to reflect the idea that we are just creating add-ons, and those add-ons can have multiple types of functionality. The CLI has also been updated to make creating add-ons and adding functionality incredibly easy. We have also updated the docs to reflect the ideal workflow of creating an add-on. -While the latest changes shift our view of add-ons and how developers will create add-ons, you may still come across add-ons using the old methodology. We have left much of the old methods and structure in place in the core so that older add-ons will continue to work. However, we are choosing to not actively update the documentation for the old methods because we feel it's no longer in the best interest of the community to develop add-ons in this way. If you need to access how the docs once were regarding add-ons, you can reference the [legacy docs in GitHub](https://github.com/ExpressionEngine/ExpressionEngine-User-Guide/releases/tag/legacy-add-on-structure) (note that v7 and v6 were the same in these regards). +While the latest changes shift our view of add-ons and how developers will create add-ons, you may still come across add-ons using the old methodology. We have left much of the old methods and structure in place in the core so that older add-ons will continue to work. However, we are choosing to not actively update the documentation for the old methods because we feel it's no longer in the best interest of the community to develop add-ons in this way. If you need to access how the docs once were regarding add-ons, you can reference the [legacy docs in GitHub](https://github.com/ExpressionEngine/ExpressionEngine-User-Guide/releases/tag/legacy-add-on-structure) (note that v7 and v6 were the same in these regards). diff --git a/docs/development/addon-setup-php-file.md b/docs/development/addon-setup-php-file.md index 3f3268051..d0258eda3 100755 --- a/docs/development/addon-setup-php-file.md +++ b/docs/development/addon-setup-php-file.md @@ -224,7 +224,7 @@ NOTE: **Note:** Cookie settings are only applicable for users running Expression If your add-on sets any custom cookies, you can provide default settings for each those. -In the above example, `forum_theme` is the cookie name, `description` sets default description for cookie to string referenced by `forum_theme_desc` key in add-on's language file and `lifetime_changeable` indicates that cookie's liefime cannot be changed by site administrator. +In the above example, `forum_theme` is the cookie name, `description` sets default description for cookie to string referenced by `forum_theme_desc` key in add-on's language file and `lifetime_changeable` indicates that cookie's lifetime cannot be changed by site administrator. | Type | Purpose | | --------------------- | ---------------------- | diff --git a/docs/development/cypress-tests.md b/docs/development/cypress-tests.md index 0ea804d21..0862d5b52 100644 --- a/docs/development/cypress-tests.md +++ b/docs/development/cypress-tests.md @@ -44,7 +44,7 @@ You will need to set up environment file that will hold important information th This command will open the Cypress UI that lists all tests that exist for ExpressionEngine in `tests/cypress/cypress/integration` folder and can be run individually. Clicking on the test file name will run the test using selected browser. 5. `npx cypress run --headed --no-exit -s cypress/integration/cp/login.ee6.js` -This command will run particular test file as specified by `-s` parameter. You can also specicy wildcart `*` in place of file name to run all tests in folder. Note that as of current Cypress version that EE is using the test files cannot be placed above `tests/cypress` directory in directories tree. +This command will run particular test file as specified by `-s` parameter. You can also specify a wildcard `*` in place of the file name to run all tests in a folder. Note that as of the current Cypress version that EE is using the test files cannot be placed above `tests/cypress` directory in directories tree. ## Cypress commands and tasks for EE @@ -134,7 +134,7 @@ However if you have more than one test, it's better to have them organized into }) }) -The typical test would try to emulate user performing certain actions and then check the result against what is expected. +The typical test would try to emulate user performing certain actions and then check the result against what is expected. It is recommended to keep the tests granular, so if one of the tests fails and the other ones pass you know exactly where to look. However for complex test cases sometimes the procedure needs to be written as one large test; in such case, it is good practice to perform intermediate checks during the test run. diff --git a/docs/development/extension-hooks/cp/myaccount.md b/docs/development/extension-hooks/cp/myaccount.md index fa79e8820..1729f3d8b 100755 --- a/docs/development/extension-hooks/cp/myaccount.md +++ b/docs/development/extension-hooks/cp/myaccount.md @@ -37,7 +37,7 @@ How it's called: $this->extensions->call('myaccount_nav_setup') ); -Your hook should return an associative array with the key matching one of the keys above that match the My Account sections. The value should be another associative array with the key being the text you want in the navgation and the value being another associative array with `extension` and `method` being the keys and their values being the respective extension's name and the method being a method that exists in the method's control panel. +Your hook should return an associative array with the key matching one of the keys above that match the My Account sections. The value should be another associative array with the key being the text you want in the navigation and the value being another associative array with `extension` and `method` being the keys and their values being the respective extension's name and the method being a method that exists in the method's control panel. Additionally, you should check `extensions->last_call` to avoid overwriting previous changes to the My Account navigation and be sure to use `array_merge_recursive` when merging the previous extension results: diff --git a/docs/development/extension-hooks/extension-hooks-overview.md b/docs/development/extension-hooks/extension-hooks-overview.md index 7bac8c885..44e962ccb 100644 --- a/docs/development/extension-hooks/extension-hooks-overview.md +++ b/docs/development/extension-hooks/extension-hooks-overview.md @@ -65,7 +65,7 @@ Core hooks are categorized into 5 categories: - [Role Model](development/extension-hooks/model/role.md) - [Site Model](development/extension-hooks/model/site.md) - [Snippet Model](development/extension-hooks/model/template-snippet.md) - - [SpecialityTemplate Model](development/extension-hooks/model/template-specialty-template.md) + - [SpecialtyTemplate Model](development/extension-hooks/model/template-specialty-template.md) - [Status Model](development/extension-hooks/model/status.md) - [TemplateGroup Model](development/extension-hooks/model/template-group.md) - [TemplateRoute Model](development/extension-hooks/model/template-route.md) diff --git a/docs/development/extensions.md b/docs/development/extensions.md index 8a363a7e7..917cf2eff 100755 --- a/docs/development/extensions.md +++ b/docs/development/extensions.md @@ -12,7 +12,7 @@ lang: php --> # Extensions and Hooks -TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) +TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) [TOC] @@ -40,7 +40,7 @@ NOTE: If you are using the command above to add an extension to an existing add- TIP: Files that interact with ExpressionEngine core hooks are referred to as "extensions" because they extend the functionality of ExpressionEngine. -This will create an `ext.[addon_name].php` file in our add-on along with an `Extensions` folder where we will build out the code we want to run when we interact with a core hook. +This will create an `ext.[addon_name].php` file in our add-on along with an `Extensions` folder where we will build out the code we want to run when we interact with a core hook. Inside our `Extensions` folder the CLI will create a file with the same name as the core hook we plan to use. @@ -59,7 +59,7 @@ TIP: Extensions need to be enabled to work. When you create an extension, a migr ## Anatomy Of An Extension Once we've added the ability to hook into the core with our add-on, an `Extensions` folder is created. The CLI will generate a class and a respective file for each core hook we wish to use. -Here we have added the ability to interact with the [`typography_parse_type_end()`](/development/extension-hooks/global/typography.html#typography_parse_type_endstr-this-prefs) hook. +Here we have added the ability to interact with the [`typography_parse_type_end()`](/development/extension-hooks/global/typography.md#typography_parse_type_endstr-this-prefs) hook. So our add-on structure now looks like this: @@ -95,7 +95,7 @@ class TypographyParseTypeEnd extends AbstractRoute As we can see, the CLI has correctly created a new class using our core hook in PascalCase as the name. -Inside our class is the `process()` function. Again the CLI has already added all parameters that will be passed in from the core hook. +Inside our class is the `process()` function. Again the CLI has already added all parameters that will be passed in from the core hook. TIP:Reference the [Available Core Hooks](development/extension-hooks/extension-hooks-overview.md) section of the docs to read on what parameters your hook uses. @@ -173,7 +173,7 @@ class TypographyParseTypeEnd extends AbstractRoute ``` -Now when we render our site using fields like textarea or other fields that use the Typography Library, our users will see how amazing EE is. +Now when we render our site using fields like textarea or other fields that use the Typography Library, our users will see how amazing EE is. NOTE:**NOTE:** Although ExpressionEngine is amazing, we do not suggest using the above example in production. diff --git a/docs/development/fieldtypes/example.md b/docs/development/fieldtypes/example.md index d2dea2c68..270b535aa 100644 --- a/docs/development/fieldtypes/example.md +++ b/docs/development/fieldtypes/example.md @@ -18,14 +18,14 @@ The snippets below were truncated for clarity. The full example fieldtype can be [TOC] ## Generate Fieldtype File -Start by generating a custom fieldtype for your add-on using the `make:fieldtype` command. +Start by generating a custom fieldtype for your add-on using the `make:fieldtype` command. ``` $ php system/ee/eecli.php make:fieldtype Let's implement a fieldtype! What is the fieldtype name? Amazing Fieldtype What add-on is the fieldtype being added to? [amazing_add_on]: amazing_add_on -Building fieldype. +Building fieldtype. Fieldtype created successfully! ``` diff --git a/docs/development/fieldtypes/fieldtypes.md b/docs/development/fieldtypes/fieldtypes.md index 51f4367bc..819a9036f 100644 --- a/docs/development/fieldtypes/fieldtypes.md +++ b/docs/development/fieldtypes/fieldtypes.md @@ -16,7 +16,7 @@ lang: php [TOC] ## Overview -ExpressionEngine ships with a range of fieldtypes already in place. However, perhaps you want to had your fieldtype that executes functionality differently than the fields that ship with ExpressionEngine. If so, then read below for how to create your own custom fieldtype. +ExpressionEngine ships with a range of fieldtypes already in place. However, perhaps you want to had your fieldtype that executes functionality differently than the fields that ship with ExpressionEngine. If so, then read below for how to create your own custom fieldtype. TIP: For an overview of what a Fieldtype is, read the [Fieldtype Overview docs](/fieldtypes/overview.md). @@ -24,7 +24,7 @@ NOTE:Before adding a fieldtype to your add-on, you need to already have an add-o ## Creating An Amazing Fieldtype -Adding a custom fieldtype to your add-on is easy with the `make:fieldtype` command. +Adding a custom fieldtype to your add-on is easy with the `make:fieldtype` command. ``` $ php system/ee/eecli.php make:fieldtype @@ -221,7 +221,7 @@ Display the field data as column in the Entry Manager #### `EE_Fieldtype::getTableColumnConfig()` -Sets [table column configuration](development/services/table.html#setting-the-columns) for Entry Manager +Sets [table column configuration](development/services/table.md#setting-the-columns) for Entry Manager Returns `Array` diff --git a/docs/development/legacy/helpers/html-helper.md b/docs/development/legacy/helpers/html-helper.md index 1e80dd186..30471e2ca 100755 --- a/docs/development/legacy/helpers/html-helper.md +++ b/docs/development/legacy/helpers/html-helper.md @@ -204,7 +204,7 @@ The above code will produce this:
  • shapes