A simple snippet that redirects to any Resource specified by ID, or a random child of a specified parent(s).
Redirectoid supports various response codes described here: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
It also exposes the arguments for the $modx->makeUrl() method for further customization.
GitHub repo: https://github.com/sepiariver/redirectoid
Why wouldn't you use a WebLink? You may have Resources that have content, but are only displayed as sections or blocks in the parent Resource, so the child Resources aren't meant to be viewed on their own. Redirectoid can be called in the child Resources' Template like so: [[Redirectoid? &id=`[[*parent]]`]] to solve this.
As of version 2, you can redirect to a random child of a given parent(s) Resource, so the use cases expand dramatically: split testing, randomization of content or redirects, etc.
&id ID of target Resource. Can be a string: 'random'. Default: site_start system setting
&context Context of target Resource. Default: ''
&urlParamString URL parameter string to send with the redirected request. Default ''
&scheme Scheme for $modx->makeUrl to use. Default: -1
&parents Comma-separated list of parent IDs for random child mode. Defaults to current Resource
&showHidden Set to 1 to include Resources hidden from menus, in random child mode. Defaults to 0
&showDeleted Set to 1 to include deleted Resources, in random child mode. Defaults to 0
&showUnpublished Set to 1 to include unpublished Resources, in random child mode. Defaults to 0
&responseCode '302', '303' or '307'. Set this to modify the response code sent to the client. Default: '' which sends '301'
&useCtxMap Set to 1 to use Context Map in random child mode. Faster but doesn't allow queries like showDeleted. Defaults to 0.
&depth Depth param to pass to getChildIds() in random child mode when useCtxMap is true. Default to 1.
This redirects to the Resource ID specified in the site_start system setting, with a '301 Moved Permanently' response:
This redirects to Resource ID '12' with a '307 Temporary Redirect' response:
This redirects to Resource ID '55' in the 'custom' context, with a url parameter 'service=logout':
[[Redirectoid?id=`55` &context=`custom` &urlParamString=`service=logout`]]
This redirects to a random child Resource of the current Resource with a '307 Temporary Redirect' response:
This redirects to a random child Resource of the specified parent, even if hidden from menus:
[[!Redirectoid?id=`random` &parents=`3,56,821` &showHidden=`1`]]
- First seen
- Supported databases
- Minimum MODX Requirement
|MODX.com||2.1.0-rc1||2016-08-20 (3 years ago)|
We've also seen 3 unverified versions of redirectoid in use, but don't list those as we've been unable of confirming they are official releases from an official source.