Hello
The basis of tags are explained here
http://rtfm.modx.com/display/revolution20/Tag+Syntax
From there you can understand that
[[*id]] is a variable, this can be either a Template Variable (TV), or a ResourceField (like ’content’, ’pagetitle’ etc...)
[[~12]] is the notation for a link pointing the resource with the ID 12
So if you have [[~[[*id]]]] you have the tilde ’~’ that indicates it is a link tag, and then the resource that link is pointing to... the page where you put this link ([[*id]] is the ID for the current resource)
Basically if a tag start with :
[[* --> it’s a Template Variable or a Resource Field
[[$ --> it’s a chunk
[[++ --> it’s a system setting
[[+ --> it’s a placeholder
[[ --> it’s a snippet
If you put an exclamation mark just after the brackets like this [[! you put the call UNcached (eg it’s processed each time the page is loaded even if the page itself is cached). In Revo (not in Evo) you can call everything cache or uncached by putting or not this exclamation mark just after the 2 opening brackets...
In a snippet call like [[!tolinks? &items=`[[*tags]]` &key=`tag` &target=`1`]] you should read :
It begins with 2 brackets and a exclamation mark, no other special distinction before the "tolinks" so it is a Snippet call. The name of the snippet is "tolinks". the exclamation mark indicate you call it uncached.
Then you have a question mark directly after the snippet name, the question mark (?) indicates that you want to pass some parameters to the snippet .
After the question mark you have a list of elements beginning with "&" a name "=" a value. This is the way to pass parameters to the snippet each parameter is delimited by the string "&nameofparam=`value of param`, ". Note the backticks aroud the value of the parameter, you separate each paramater with a comma.
So to further reading your snippet call translated in human reading you have :
I call uncached a snippet called "tolinks", where the parameter &items has the value of a TV called tags, where the &key
is "tags" and where the &target is "1".
If you read the doc for this snippet you’ll have a description of each of the parameters and how to set them
Hope I was clear in my explanations, and this is of use for you...
Cheers