dd / evolutioncms-plugins-ddsendredirect
Redirects from required non-existent URLs to required target URLs.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:modxevo-snippet
Requires
- php: >=5.6.0
- dd/evolutioncms-libraries-ddtools: >=0.55.0
This package is auto-updated.
Last update: 2024-12-04 19:43:35 UTC
README
Redirects from required non-existent URLs to required target URLs. You can redirect to any existing site page or to any external URL at all.
Each URL can be specified in one of the following format:
- Full:
https://example.com/some/page
. - Without protocol:
example.com/some/page
,//example.com/some/page
. - Without domain:
some/page
,/some/page
. - Just an ID of the existing document:
12
(only for target URLs).
Requires
- PHP >= 5.6
- (MODX)EvolutionCMS >= 1.1
- (MODX)EvolutionCMS.libraries.ddTools >= 0.55
Installation
Elements → Plugins: Create a new plugin with the following data
- Plugin name:
ddSendRedirect
. - Description:
<b>2.0</b> Redirects from required non-existent URLs to required target URLs.
. - Category:
Core
. - Parse DocBlock:
no
. - Plugin code (php): Insert content of the
ddSendRedirect_plugin.php
file from the archive. - Properties: Insert content of the
ddSendRedirect_configuration.json
file from the archive. - System events:
OnPageNotFound
.
Usage
1. Create TV and document with redirection rules
Redirection rules will be stored in TV value of specified document. The plugin gets the rules from the TV.
- Create the TV:
- Name:
settings_redirectionRules
(you can specify another name, this is an example). - Input Type:
Textarea
.
- Name:
- Assign the TV to a required template.
- Create a document with specified template. Let the document ID be
42
.
2. Configure (MODX)EvolutionCMS.plugins.ddSendRedirect
Go to the plugin configuration tab and save the data:
- Document ID containing redirection rules:
42
. - TV name containing redirection rules:
settings_redirectionRules
.
3. Set up (MODX)EvolutionCMS.plugins.ManagerManager.mm_ddMultipleFields (optional)
You can use this interface for more convenience.
mm_ddMultipleFields([ 'fields' => 'settings_redirectionRules', 'columns' => [ [ 'title' => 'Source URL *', 'type' => 'textarea', 'width' => 250 ], [ 'title' => 'Target URL *', 'type' => 'textarea', 'width' => 250 ] ] ]);
If you don't want to use mm_ddMultipleFields, you can just fill JSON manually in the following format:
[ [ "https://example.com/some/source/url", "https://example.com/some/target/url" ], [ "another/source/url", "another/target/url" ] ]
Parameters description
-
$docId
- Desctription: Document ID containing redirection rules.
- Valid values:
integer
- Required
-
$tvName
- Desctription: TV name containing redirection rules in JSON (see Usage above).
- Valid values:
string
- Required