Skip to content

Commit

Permalink
Merge pull request #875 from ExpressionEngine/improvements/pre75
Browse files Browse the repository at this point in the history
Improvements/pre75
  • Loading branch information
TomJaeger authored Jul 26, 2024
2 parents 71498e1 + 977a934 commit d8778b0
Show file tree
Hide file tree
Showing 15 changed files with 98 additions and 48 deletions.
10 changes: 10 additions & 0 deletions docs/add-ons/file.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,12 @@ The file display engine sets some parameters dynamically, based on what is in th

You can hard code the file entries tag to show specific files. You may also specify multiple files by separating them with the pipe character. This parameter takes precedence over any entry specified in the url.

### `folder_id=`

folder_id="34"

If you want to display only the files that are in certain folder within an Upload Directory, specify the folder ID using this parameter.

### `limit=`

limit="30"
Expand Down Expand Up @@ -219,6 +225,10 @@ If you have defined any [image manipulations](control-panel/file-manager/upload-

The URL to the file.

### `{folder_id}`

The ID of the folder the file is in. If the file is in the top level folder of the upload directory, it will return 0.

### `{height}`

The height (in pixels) of the full-size image. (Empty for non-image files.)
Expand Down
4 changes: 2 additions & 2 deletions docs/add-ons/pro-search/development/anatomy.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ An array of entry IDs, an empty array (no results), or `NULL` (if given and your

### fixed_order

Should return `TRUE` or `FALSE` depending on whether the entry IDs returned by [the filter method](#filter-method) are in the order they should appear in the [Results tag](/add-ons/pro-search/tags.md#results-tag). Defaults to `FALSE`.
Should return `TRUE` or `FALSE` depending on whether the entry IDs returned by [the filter method](#filter) are in the order they should appear in the [Results tag](/add-ons/pro-search/tags.md#exppro_searchresults). Defaults to `FALSE`.

#### Returns

Expand All @@ -85,7 +85,7 @@ Should return an array of entry IDs that should be _excluded_ from the search re

### results

This method is called before displaying the search results in the [Results tag](/add-ons/pro-search/tags.md#results-tag) so you can add your own custom variables to the search results. It basically piggy-backs on the [channel_entries_query_result](/development/extension_hooks/module/channel/index.md#channel-entries-query-result) extension hook.
This method is called before displaying the search results in the [Results tag](/add-ons/pro-search/tags.md#exppro_searchresults) so you can add your own custom variables to the search results. It basically piggy-backs on the [channel_entries_query_result](/development/extension-hooks/module/channel.md#channel_entries_query_resultthis-query_result) extension hook.

#### Arguments

Expand Down
2 changes: 1 addition & 1 deletion docs/add-ons/pro-search/development/functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Checks if given value is present in given parameter.

### prep

Modifies a parameter value to EE syntax based on the presence of the parameter name in other parameters like [require_all](./parameters#inclusive-values) or [exclude](./parameters#exclude-values).
Modifies a parameter value to EE syntax based on the presence of the parameter name in other parameters like [require_all](/add-ons/pro-search/parameters.md#inclusive-values) or [exclude](/add-ons/pro-search/parameters.md#exclude-values).

#### Arguments

Expand Down
4 changes: 2 additions & 2 deletions docs/add-ons/pro-search/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
-->
# Examples

Have you read the docs on [Parameters](/add-ons/pro-search/parameter.md)? Good. Are you familiar with the custom [Filters](/add-ons/pro-search/filters.md)? Excellent. Taken a look at the [Template Tags](/add-ons/pro-search/tags.md)? Perfect. Then here are some examples that illustrate how these three are combined.
Have you read the docs on [Parameters](/add-ons/pro-search/parameters.md)? Good. Are you familiar with the custom [Filters](/add-ons/pro-search/filters.md)? Excellent. Taken a look at the [Template Tags](/add-ons/pro-search/tags.md)? Perfect. Then here are some examples that illustrate how these three are combined.

[TOC]

Expand Down Expand Up @@ -503,7 +503,7 @@ Below are two lists of tags. You can select multiple tags per list. Entries that

## Other & Native

In addition to what all the [filters](/add-ons/pro-search/filters.md) bring to the party, you can also filter by native ExpressionEngine parameters, as well as some [little extras](/add-ons/pro-search/tags.md/results-tag).
In addition to what all the [filters](/add-ons/pro-search/filters.md) bring to the party, you can also filter by native ExpressionEngine parameters, as well as some [little extras](/add-ons/pro-search/tags.md#results-tag).

### Orderby and sort in one go

Expand Down
10 changes: 5 additions & 5 deletions docs/add-ons/pro-search/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ Apart from the powerful [keywords filter](/add-ons/pro-search/filters.md#keyword

Other features include:

- Keyword [suggestions](/add-ons/pro-search/tags.md#suggestions-tag) based on your own [lexicon](/add-ons/pro-search/lexicon.md);
- Fuzzy searches using [singulars & plurals](/add-ons/pro-search/filters.md#keywords-inflect) or [word stems](/add-ons/pro-search/filters.md#keywords-stem);
- [Diacritic insensitive](/add-ons/pro-search/collections.md#diacritics) keyword searches;
- Keyword [suggestions](/add-ons/pro-search/tags.md#exppro_searchsuggestions) based on your own [lexicon](/add-ons/pro-search/lexicon.md);
- Fuzzy searches using [singulars & plurals](/add-ons/pro-search/filters.md#keywordsinflect) or [word stems](/add-ons/pro-search/filters.md#keywordsstem);
- [Diacritic insensitive](/add-ons/pro-search/collections.md#diacritics-and-foreign-characters) keyword searches;
- Multiple site search;
- Search [shortcuts](/add-ons/pro-search/shortcuts.md) for custom search queries and URLs;
- An exportable search log;
- A super powerful [Find & Replace utility](/add-ons/pro-search/find-replace.md);
- A [custom filter API](/add-ons/pro-search/development/create.md), [fieldtype API](/add-ons/pro-search/development/api.md), and [extension hooks](/add-ons/pro-search/development/hooks.md) for developers.
- A super powerful [Find & Replace utility](/add-ons/pro-search/find-and-replace.md);
- A [custom filter API](/add-ons/pro-search/development/create.md), [fieldtype API](/add-ons/pro-search/development/api.md), and [extension hooks](/add-ons/pro-search/development/hooks.md) for developers.
4 changes: 2 additions & 2 deletions docs/add-ons/pro-search/tags.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Name of the shortcut to use for the search query

#### {pro_search_*query_parameter*}

To output the value of an existing [query parameter](parameters.md) such as "keywords" or "item:size", use `{pro_search_}` and append the parameter name e.g. `{pro_search_item:size}`.
To output the value of an existing [query parameter](/add-ons/pro-search/parameters.md) such as "keywords" or "item:size", use `{pro_search_}` and append the parameter name e.g. `{pro_search_item:size}`.

#### {collections}{/collections}

Expand Down Expand Up @@ -273,7 +273,7 @@ Name of the shortcut to use for the search query.

#### {pro_search_*query_parameter*}

To output the value of an existing [query parameter](parameters.md) such as "keywords" or "item:size", use `{pro_search_}` and append the parameter name e.g. `{pro_search_item:size}`.
To output the value of an existing [query parameter](/add-ons/pro-search/parameters.md) such as "keywords" or "item:size", use `{pro_search_}` and append the parameter name e.g. `{pro_search_item:size}`.

NOTE: **Note:** This is not used to output the content from a matching result. It outputs the value of an existing search parameter i.e. *Your search for "cowboy hats" in size "Large" returned 19 results.*

Expand Down
2 changes: 1 addition & 1 deletion docs/add-ons/pro-variables/tags.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Total of iterations of the loop.

If you’re displaying a 3rd party field type, you can use all variables you would normally use inside the field channel variable pair.

NOTE: **Note:** the `{_my_var_:…}` variables are _only_ available when using the Parse tag pair or Pair tag pair, _and_ if the variable type allows multiple items to be selected. For more options on the native variable types, [check their properties](/add-ons/pro-variables/types.md).
NOTE: **Note:** the `{_my_var_:…}` variables are _only_ available when using the Parse tag pair or Pair tag pair, _and_ if the variable type allows multiple items to be selected. For more options on the native variable types, [check their properties](/add-ons/pro-variables/type.md).

{exp:pro_variables:parse var="my_site:my_var"}

Expand Down
6 changes: 3 additions & 3 deletions docs/add-ons/pro-variables/type.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@ Uses the native [File field](/fieldtypes/file.md). To output the variable, alway

#### `modifier`

Allows applying modifiers, which, among other, are used to apply [on-the-fly image manipulations](/fieldtypes/grid.md#on-the-fly-image-manipulations) to files
Allows applying modifiers, which, among other, are used to apply [on-the-fly image manipulations](/fieldtypes/file.md#on-the-fly-image-manipulations) to files

## Grid

Uses the native [Grid field](/fieldtypes/grid.md). All native types are available, _except for Relationships and Members_. To output the variable, use the `{exp:pro_variables:pair}` or `{exp:pro_variables:single}` tag where appropriate. You can use any of Grid’s [parameters](/fieldtypes/grid.md#parameters) and [variables](/fieldtypes/grid.ms#variables) using these tags. Additionally, one more parameter is available:
Uses the native [Grid field](/fieldtypes/grid.md). All native types are available, _except for Relationships and Members_. To output the variable, use the `{exp:pro_variables:pair}` or `{exp:pro_variables:single}` tag where appropriate. You can use any of Grid’s [parameters](/fieldtypes/grid.md#parameters) and [variables](/fieldtypes/grid.md#variables) using these tags. Additionally, one more parameter is available:

### Parameters

Expand Down Expand Up @@ -355,7 +355,7 @@ To be used in combination with `format`. Possible values: `none`, `safe` or `all

#### `preparse:_my_var_`

If the variable content contains variables that need to be parsed before it is put in the template, you can use this parameter, similar to [embed variables](/templates/embedding.md#embed-variables-for-the-embedded-template). For example: setting the parameter `preparse:foo="bar"` will replace the variable `{preparse:foo}` with `bar` in the variable content.
If the variable content contains variables that need to be parsed before it is put in the template, you can use this parameter, similar to [embed variables](/templates/embedding.md#embedding-variables). For example: setting the parameter `preparse:foo="bar"` will replace the variable `{preparse:foo}` with `bar` in the variable content.

#### `preparse_prefix`

Expand Down
4 changes: 2 additions & 2 deletions docs/channels/entries.md
Original file line number Diff line number Diff line change
Expand Up @@ -893,9 +893,9 @@ The "count" out of the current entries being displayed. If five entries are bein
<a href="{cp_edit_entry_url}">Edit Entry</a>
{/if}

The URL of the entry form in the control panel where this entry can be edited. It is recommended you wrap this variable in an `{if logged_in}` conditional to hide your control panel's URL from regular site visitors. If you are running a membership based site, hide it behind an appropriate `logged_in_role_id` conditional. For example, to hide this link from everyone but Super Admins:
The URL of the entry form in the control panel where this entry can be edited. It is recommended you wrap this variable in an `{if logged_in}` conditional to hide your control panel's URL from regular site visitors. If you are running a membership-based site, hide it behind an appropriate `logged_in_primary_role_id` conditional or use [exp:member:has_role](/member/member-roles-tags.html#expmemberhas_role). For example, to hide this link from everyone but Super Admins:

{if logged_in_role_id == 1}
{if logged_in_primary_role_id == 1}
<a href="{cp_edit_entry_url}">Edit Entry</a>
{/if}

Expand Down
46 changes: 25 additions & 21 deletions docs/comment/entries.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Here is a basic example showing how you might use the comment tag:
<p>By {name} on {comment_date format="%Y %m %d"}</p>
{/exp:comment:entries}

NOTE: **Important:** The Comment Entries tag should **not** be nested inside of a standard {exp:channel:entries} tag.
NOTE: **Important:** The Comment Entries tag should **not** be nested inside of a standard {exp:channel:entries} tag. If you do, the outer tag will replace many of these variables and conditionals before the Comment Entries tag has the chance to do so.

## Parameters

Expand Down Expand Up @@ -158,12 +158,6 @@ This variable will always display the absolute total number of results that are

The _opposite_ of `{absolute_count}`, in that it displays the entry count position counting backwards from the absolute total. Works across pagination, so the fifth entry in a list of fifteen entries would display "10".

### `{allow_comments}`

{if allow_comments}

TRUE / FALSE, Whether or not the entry being displayed allows comments. Typically used as a conditional.

### `{author}`

The comment author's screen name, if a member; otherwise, this variable will display the name submitted with the comment.
Expand Down Expand Up @@ -196,10 +190,6 @@ The URL to the avatar image associated with the entry's author. Typically used a

{if avatar} <img src="{avatar_url}" width="{avatar_image_width}" height="{avatar_image_height}" alt="{author}'s avatar" /> {/if}

### `{if can_moderate_comment}`

TRUE / FALSE, Whether a member has permission to edit a given comment AND/OR close that comment. Used in conjunction with [comment editing](comment/form.md#allowing-members-to-edit-comments-on-the-front-end).

### `{channel_id}`

The ID number of the channel that the comment belongs to.
Expand Down Expand Up @@ -289,12 +279,6 @@ If five entries are being displayed per page, then for the fourth entry on the p

The date on which the comment was edited. See [Date Variable Formatting](templates/date-variable-formatting.md) for more information.

### `{editable}`

{if editable}Show Edit{/if}

This variable will be used in a conditional to allow [comment editing](comment/form.md#allowing-members-to-edit-comments-on-the-front-end). It indicates whether a member has [permission to edit a given comment](control-panel/member-manager.md#createedit-all-member-roles).

### `{email}`

The comment author's email address, if specified.
Expand Down Expand Up @@ -453,7 +437,15 @@ These are totally dynamic in that any profile field you create for your members

[TOC=3]

The following special conditionals are available:
The following special conditionals are available.

NOTE: **Important:** Avoid using Template Caching on any Template containing these conditional that are user-specific. If you do not avoid caching, then data will not be dynamic for each user. Instead, whoever happens to load the page when it gets cached will have their conditionals applied to every subsequent visitor until the cache expires.

### `{if allow_comments}`

{if allow_comments} content {/if}

TRUE / FALSE, Whether or not the entry being displayed allows comments. Typically used as a conditional.

### `{if avatar}`

Expand All @@ -463,25 +455,37 @@ This special conditional lets you conditionally display content if the current e

{if avatar} <img src="{avatar_url}" width="{avatar_image_width}" height="{avatar_image_height}" alt="{author}'s avatar" /> {/if}

### `{if can_moderate_comment}`

TRUE / FALSE, Whether a member has permission to edit a given comment AND/OR close that comment. Used in conjunction with [comment editing](comment/form.md#allowing-members-to-edit-comments-on-the-front-end).

### `{if comments_expired}`

{if comments_expired} content {/if}

If commenting has expired (and expiration is not set to be [overridden by moderation](comment/control-panel.md)), the contents of this conditional will be displayed.

NOTE: **Note:** `{if no_results}` has precedence over this conditional. If there are no comments, this conditional is not evaluated.

### `{if comments_disabled}`

{if comments_disabled}
{if comments_disabled} content {/if}

If commenting has been disabled, the contents of this conditional will be displayed.

NOTE: **Note:** `{if no_results}` has precedence over this conditional. If there are no comments, this conditional is not evaluated.

### `{if editable}`

{if editable} Show Edit Form {/if}

TRUE / FALSE, This variable will be used in a conditional to allow [comment editing](comment/form.md#allowing-members-to-edit-comments-on-the-front-end). It indicates whether a member has [permission to edit a given comment](control-panel/member-manager.md#createedit-all-member-roles).

### `{if is_ignored}`

{if is_ignored} content {/if}

This conditionals allows you to show (or hide) specific content if the comment was made by a member on the logged-in user's ignore list. A simplified example of how this might be used is:
This conditional allows you to show (or hide) specific content if the comment was made by a member on the logged-in user's ignore list. A simplified example of how this might be used is:

{exp:comment:entries}
{if is_ignored}You are ignoring {author}.{/if}
Expand Down Expand Up @@ -509,7 +513,7 @@ Or you can use Javascript to allow the user to read the comment if they wish:
<div id="{comment_id}" {if is_ignored}style="display: none;"{/if}>{comment}</div>
{/exp:comment:entries}

NOTE: **Important:** Avoid using Template Caching on any Template containing this conditional. If you do not avoid caching, then data will not be dynamic for each user. Instead, whoever happens to load the page when it is cached will have their ignore list applied to everyone until the cache expires.
NOTE: **Important:** Avoid using Template Caching on any Template containing this conditional. If you cache this, whoever happens to load the page when it is first cached will have their ignore list applied to everyone until the cache is cleared.

### `{if no_results}`

Expand Down
12 changes: 6 additions & 6 deletions docs/comment/form.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ This is a **required** parameter if you are using comment previews indicating wh

You can hard code the comment for tag to display a comment form for a specific channel entry by its URL title.

NOTE: **Note:** This parameter takes precedence over any entry specified dynamically in the URL, so when using this parameter you will want to make sure it is clear to the user which entry the displayed comment form belong to.
NOTE: **Note:** This parameter takes precedence over any entry specified dynamically in the URL, so when using this parameter you will want to make sure it is clear to the user which entry the displayed comment form belongs to.

#### `channel=`

Expand Down Expand Up @@ -174,7 +174,7 @@ The following conditionals are available:

## Allowing Members to Edit Comments on the Front End

The available tags and variables allow you to write your own client side code for implementing comment editing. The following is a simplified example using jQuery.
The available tags and variables allow you to write your own client-side code for implementing comment editing. The following is a simplified example using jQuery.

### Example Code

Expand Down Expand Up @@ -227,13 +227,13 @@ A request for an edit will return a response array. In the case of an error, an

### Editing Permissions

The {if editable} conditional in the Comment Entries tag outputs content when the viewing member has permission to edit the comment indicated while the {if can_moderate_comment} outputs content if they have permission to close the comment.
By using the [{if editable}](/comment/entries.html#if-editable) conditional in the Comment Entries tag, you can output a link, instructions or a form if the viewing member has permission to edit the comment, and by using the {if can_moderate_comment} you can display whatever is appropriate if the viewing member has permission to moderate (close) the comment.

For regular members, in order to edit comments they must be a logged in member, the author of the comment, and the editing time limit must not have expired.
For members without administrative access, in order to edit a comment they must be logged in, the author of the comment, and the editing time limit must not have expired. If a member has a role with permission to edit the comments of any entry, that member will have edit permissions regardless of the editing time limit.

Comment moderators may close the comment. Superadmins will always have {editable} and {can_moderate_comment} permissions on any comment.
Comment moderators may close the comment. The edit time limit does not apply to moderators.

Lastly, if a member is in a group with permission to edit comments in any entry, they will have edit permissions. The edit time limit does not apply to moderators.
Superadmins will always have {editable} and {can_moderate_comment} permissions on any comment.

### Customizing Client-Side Code

Expand Down
Loading

0 comments on commit d8778b0

Please sign in to comment.