Skip to content

Supported macros

{emailcloak=off}Referring to an URL like the following:

ReDJ URL parts

Here is a list of supported macros for destination "To URL" field:

URL macros

{siteurl}

Web site address

Example

www.example.com/path/to/Joomla

{scheme}

URL scheme

Example

http

{host}

URL host

Example

www.example.com

{port}

URL port number

Example

8080

{user}

User name

Example

fredbloggs

{pass}

User password

Example

itsasecret

{path}

URL path

Example

/path/to/Joomla/section/cat/index.php

{query}

URL query string

Example

task=view&id=32

{queryfull}

URL query string full (with question mark)

Example

?task=view&id=32

{querybuild var1=value1,...,varN=valueN}

Builds URL query containing only specified variables. If a value is specified for a variable, this is assigned to the variable

Example

{querybuild id,task} => id=32&task=view
{querybuild id,task=edit} => id=32&task=edit
{querybuild id,task=view,ItemId=12} => id=32&task=view&ItemId=12

{querybuildfull var1=value1,...,varN=valueN}

Same as 'querybuild' but with question mark

Example

{querybuildfull id,task} => ?id=32&task=view
{querybuildfull id,task=save} => ?id=32&task=save
{querybuildfull id,task,action=close} => ?id=32&task=view&action=close

{querybuildappend var1=value1,...,varN=valueN}

Same as 'querybuild' but with ampersand

Example

{querybuildappend id,task} => &id=32&task=view
{querybuildappend id,task=save} => &id=32&task=save
{querybuildappend id,task,action=close} => &id=32&task=view&action=close

{querydrop var1=value1,...,varN=valueN}

Builds URL query removing specified variables from the original query. If a value is specified for a variable, this is assigned to the variable (that is not dropped) - ENTERPRISE VERSION ONLY

Example

{querydrop task} => id=32
{querydrop id,task=edit} => task=edit
{querydrop id,task=save,action=close} => task=save&action=close

{querydropfull var1=value1,...,varN=valueN}

Same as 'querydrop' but with question mark - ENTERPRISE VERSION ONLY

Example

{querydropfull task} => ?id=32
{querydropfull id,task=save} => ?task=save
{querydropfull id,task=edit,action=close} => ?task=edit&action=close

{querydropappend var1=value1,...,varN=valueN}

Same as 'querydrop' but with ampersand - ENTERPRISE VERSION ONLY

Example

{querydropappend task} => &id=32
{querydropappend id,task=save} => &task=save
{querydropappend id,task=edit,action=close} => &task=edit&action=close

{queryvar varname,default}

Returns the current value for the variable 'varname' of the URL, or the value 'default' if 'varname' is not defined (where default = '' when not specified)

Example

{queryvar task} => view
{queryvar id} => 32
{queryvar maxsize,234} => 234

{requestvar varname,default}

Returns the current value for the variable 'varname' of the request, no matter about method (GET, POST, ...), or the value 'default' if 'varname' is not defined (where default = '' when not specified)

Example

{requestvar id} => 32
{requestvar limit,100} => 100

{authority}

URL authority string

Example

fredbloggs:[email protected]:8080

{baseonly}

Returns the base path only (empty when installed on root, i.e. it will never contains a trailing slash)

Example

/path/to/Joomla

{pathfrombase}

Returns the path without the base part

Example

/section/cat/index.php

{pathltrim pathtotrim}

Strip the string specified (pathtotrim) from the beginning of the path and returns the result

Example

{pathltrim /path/to} => /Joomla/section/cat/index.php

{pathrtrim pathtotrim}

Strip the string specified (pathtotrim) from the end of the path and returns the result

Example

{pathrtrim /index.php} => /path/to/Joomla/section/cat

{pathfrombaseltrim pathtotrim}

Same as 'pathltrim' but works on path without the base part - ENTERPRISE VERSION ONLY

Example

{pathfrombaseltrim /section} => /cat/index.php

{pathfrombasertrim pathtotrim}

Same as 'pathrtrim' but works on path without the base part - ENTERPRISE VERSION ONLY

Example

{pathfrombasertrim index.php} => /section/cat/

{preg_match N}pattern{/preg_match}

Returns the N-th matched pattern on the 'full source URL', where N = 0 when not specified - ENTERPRISE VERSION ONLY

Example

{preg_match}/([^\/]+)(\.php|\.html|\.htm)/i{/preg_match} => index.php
{preg_match 2}/([^\/]+)(\.php|\.html|\.htm)/i{/preg_match} => .php

{routeurl}

Returns the routed (relative) URL using all current variables

Example

/using-joomla.html

{routeurl var1,var2,var3=myvalue,..,varN}

Returns the routed (relative) URL for specified variables

Example

index.php?var1=value1&var2=value2&var3=myvalue&..&varN=valueN

{pathfolder N}

Returns the N-th folder of the URL path - ENTERPRISE VERSION ONLY

Example

{pathfolder 4} of /path/to/Joomla/section/cat/index.php => section

{pathfolder last-N}

Returns the (last-N)-th folder of the URL path, where N = 0 when not specified - ENTERPRISE VERSION ONLY

Example

{pathfolder last-1} of /path/to/Joomla/section/cat/index.php => cat

Site macros

{sitename}

Global site name

Example

Global $sitename configuration value

{globaldescription}

Global site meta description

Example

Global $MetaDesc configuration value

{globalkeywords}

Global site meta keywords

Example

Global $MetaKeys configuration value

{username}

Returns the current username

Example

{username} => admin

{username default}

Returns the current username or the value 'default' for guest users

Example

{username nobody} => nobody

{userid}

Returns the current user ID

Example

{userid} => 62

{userid default}

Returns the current user ID or the value 'default' for guest users

Example

{username 1001} => 1001

Database macros

{tableselect table,column,key}value{/tableselect}

Returns result of a SQL query (SELECT column FROM table WHERE key = value). Support #__ notation for table name

Example

{tableselect #__users,username,id}135{/tableselect} => SELECT username FROM #__users WHERE id = 135

{preg_select table,column,key,N}pattern{/preg_select}

Same as 'preg_match' but uses the matched result to execute a SQL query (SELECT column FROM table WHERE key = matchN). Support #__ notation for table name - ENTERPRISE VERSION ONLY

Example

{preg_select #__content,title,id,1}/id=([0-9]+)/i{/preg_match} => SELECT title FROM #__content WHERE id = 32

{placeholder_select table,column,key1=placeholder1,..,keyN=placeholderN}

Returns result of a SQL query (SELECT column FROM table WHERE key1 = ${placeholder1} AND ... AND keyN = ${placeholderN}) where ${placeholderN} is the value of the placeholder with name placeholderN. Support #__ notation for table name. The 'placeholder' must be previously defined (just placeholder name needed, not ${} format) - ENTERPRISE VERSION ONLY

Example

userId=62
{tableselect #__users,username,id=userId} => SELECT username FROM #__users WHERE id = 62

String macros

{substr start,length}text{/substr}

Returns the portion of string specified by the start and length parameters. String are zero-based (i.e. first char has index 0)

Example

{substr 1,3}Joomla{/substr} => oom

{strip_tags}text{/strip_tags}

Strip HTML and PHP tags from the given string

Example

{strip_tags}<p>hello<br/>Joomla</p>{/strip_tags} => helloJoomla

{extract N}text{/extract}

Returns the Nth sentence delimited with carriage return (DOS, UNIX or MAC format). All HTML tags stripped

Example

{extract 1}<p>This is a sentence.\nAnd this is another one.</p>{/extract} => This is a sentence.

{extractp N}text{/extractp}

Returns the Nth HTML paragraph <p></p>. All HTML tags stripped

Example

{extractp 2}<p>First paragraph</p><p>Second paragraph</p><p>Third paragraph</p>{/extractp} => Second paragraph

{extractdiv N}text{/extractdiv}

Returns the Nth HTML paragraph <div></div>. All HTML tags stripped

Example

{extractp 3}<div>First paragraph</div><div>Second paragraph</div><div>Third paragraph</div>{/extractp} => Third paragraph

{preg_subject N,subject}pattern{/preg_subject}

Returns the N-th matched pattern on the 'subject', where N = 0 when not specified. The 'subject' can contain placeholders, but cannot contain standalone '}' chars - ENTERPRISE VERSION ONLY

Example

{preg_subject 2,First/Second/Third}/([^\/]+)\/([^\/]+)\/([^\/]+)/i{/preg_subject} => Second

{preg_placeholder N,placeholder}pattern{/preg_placeholder}

Returns the N-th matched pattern on the 'placeholder' evaluated string, where N = 0 when not specified. The 'placeholder' must be previously defined (just placeholder name needed, not ${} format)

Example

a=First/Second/Third
{preg_subject 2,a}/([^\/]+)\/([^\/]+)\/([^\/]+)/i{/preg_subject} => Second

{lowercase}pattern{/lowercase}

Returns the pattern in lower case

Example

{lowercase}ALL to Lower{/lowercase} => all to lower

{uppercase}pattern{/uppercase}

Returns the pattern in upper case

Example

{uppercase}ALL to UppeR{/uppercase} => ALL TO UPPER

{urldecode}pattern{/urldecode}

Returns the decode pattern using urldecode() function

Example

{urldecode}%2Fgoto%20home%2F{/urldecode} => /goto home/

{urlencode}pattern{/urlencode}

Returns the encoded pattern using urlencode() function

Example

{urlencode}/encode me/{/urlencode} => %2Fencode%20me%2F

{rawurldecode}pattern{/rawurldecode}

Returns the decode pattern using rawurldecode() function

Example

{rawurldecode}foo%20bar%40baz{/rawurldecode} => foo bar@baz

{rawurlencode}pattern{/rawurlencode}

Returns the encoded pattern using rawurlencode() function

Example

{rawurlencode}foo @+%/{/rawurlencode} => foo%20%40%2B%25%2F

{str_replace search,replace}pattern{/str_replace}

Returns the pattern after replacing 'search' with 'replace'

Example

{str_replace john,scott}my name is john{/str_replace} => my name is scott