• MODX.com

    3,394 downloads

redirectoid

redirectoid is an extra by sepiariver, first released on 2016-08-20.

Package Description

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

Usage/Installation Instructions

USE CASES:

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.

PARAMETERS:

&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.

USAGE EXAMPLES:

This redirects to the Resource ID specified in the site_start system setting, with a '301 Moved Permanently' response:

[[Redirectoid]]

This redirects to Resource ID '12' with a '307 Temporary Redirect' response:

[[Redirectoid?id=`12` &responseCode=`307`]]

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:

[[!Redirectoid?id=`random` &responseCode=`307`]]

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`]]

Details

Developer(s)
sepiariver
Released
2016-08-20
First seen
2016-08-20
License
GPLv2
Supported databases
MySQL
Minimum MODX Requirement
2.2

redirectoid Releases

Vendor Signature Released on
MODX.com 2.1.0-rc1 2016-08-20 (2 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.