Ditto parameters and placeholders
This is as full a list as I can find of parameters and placeholder for Ditto 2.1 and standard extensions to it. Much has been culled from the official ditto.modxcms.com site. The order is somewhat ad hoc, and is more or less in the sequence "set up Ditto, set up the retrieval, set up the retrieved list, format the display", with some of the less vital templates and less used features towards the bottom.
- &ditto_base
- Purpose:Location of Ditto files
- Default:[(base_path)]assets/snippets/ditto/
- Notes:Location includes trailing slash
- &id
- Purpose:Unique ID for this Ditto instance for connection with other scripts (such as Reflect) and for unique URL parameters
- Values:a-Z, underscore, digits only
- Default:blank
- Notes:Case-sensitive
- &language
- Purpose:language for placeholder content, debug, and error messages
- Values:Any language name with a corresponding file in the &ditto_base/lang folder
- Default:`english`
- Notes:Affects prepositions etc. on dates but NOT language of month names (which is a system setting)
- &config
- Purpose:Set parameters in a configuration file
- Values:default.config.php in ditto/configs folder
- Default:`default` (empty file)
- Notes:Store in ditto/configs folder as <name>.config.php; can have pre-processing as well as parameters
- &parents
- Purpose:ID(s) of documents containing documents and sub-folders from which to retrieve data
- Values:Comma-separated list of IDs
- Default:current document
- Notes:Supersedes &startId (which could only have single value)
- &documents
- Purpose:ID(s) of specific documents from which to retrieve data
- Values:Comma-separated list of IDs
- Default:blank
- Notes:Overrides any setting in &parents
- &depth
- Purpose:Levels of sub-folder to explore from parent folders
- Values:positive integer
- Default:1
- Notes:Zero sets 'infinite depth'
- &display
- Purpose:Number of documents to display (per page if pagination is on)
- Values:Number, or `all`
- Default:`all`
- &start
- Purpose:Number of documents to skip in the results
- Values:positive integer
- Default:0
- &total
- Purpose:Number of documents to retrieve from the database
- Values:Number, or `all`
- Default:`all`
- &orderBy
- Purpose:Order and direction by which to sort the results
- Values:Comma-separated list
- Default:`createdon DESC`
- Notes:Supersedes &sortBy and &sortDir.
- &randomize
- Purpose:Randomize the order of the output
- Values:1,0
- Default:0
- Notes:Beware caching issues!
- &paginate
- Purpose:Paginate the results
- Values:0,1
- Default:0
- Notes:Beware caching issues!
- &extenders
- Purpose:Load extenders expanding functionality of Ditto
- Values:Comma-separated list of names
- Default:blank
- Notes:File name in extenders folder is <name>.extender.inc.php
- &tagData
- Purpose:Field containing tagging information
- Values:Document field or template variable
- Default:empty
- Notes:Setting this automatically adds in the tagging extender
- &keywords
- Purpose:Enable fetching of document (?keyword META tags?)
- Values:1,0
- Default:0
- Notes:?Use metatag keywords as source for &tagData? (I have not investigated this one yet)
- &filter
- Purpose:Removes items that match filter criteria
- Values:See examples
- Default:empty
- &showPublishedOnly
- Purpose:Show only published documents
- Values:1,0
- Default:1
- &seeThruUnpub
- Purpose:See through unpublished folders to retrieve their children (when &depth > 1)
- Values:1,0
- Default:0
- &showInMenuOnly
- Purpose:Show only documents visible in the menu
- Values:1,0
- Default:0
- &hideFolders
- Purpose:Hide retrieved documents with children of their own
- Values:1,0
- Default:0
- &hidePrivate
- Purpose:Don't show documents the guest or user does not have permission to see
- Values:1,0
- Default:1
- &where
- Purpose:Custom MySQL WHERE statement (instead of folder or document-based retrieval)
- &queryLimit
- Purpose:Number of documents to retrieve from the database (same as MySQL LIMIT)
- Values:positive integer
- Default:0
- Notes:Zero indicates 'retrieve all'. Used with &where parameter only
- &dateSource
- Purpose:Source of the placeholder
- Values:any built-in date field or template variable
- Default:createdon
- Notes:Unix timestamp must be supplied - use Unixtime widget with template variable
- &dateFormat
- Purpose:Format the placeholder in human readable form
- Values:PHP strftime() date specification
- Default:string in relevant language file
- Notes:This is only the strftime() format string, it will not set the month names
- &tpl
- Purpose:User defined chunk to format the documents
- Values:Chunk name, tpl file name or HTML string
- Default:Language-dependent
- Notes:Default output template is defined in active language file. A chunk, external file or inline HTML can also be used
- &tplAlt
- Purpose:User defined chunk to format every other document
- Values:Chunk name, tpl file name or HTML string
- Default:same as &tpl
- &tplFirst
- Purpose:User defined chunk to format the first document
- Default:same as &tpl
- &tplLast
- Purpose:User defined chunk to format the last document
- Default:same as &tpl
- &phx
- Purpose:Use built-in PHx functions
- Values:0,1
- Default:1
- &noResults
- Purpose:Text or chunk to display when there are no results
- Values:Chunk name or text
- Default:defined in language file
- Notes:English: 'No documents found'
- &format
- Purpose:Output format to use for RSS feeds made by Ditto
- Values:`html`,`json`,`xml`,`atom`,`rss`
- Default:`html`
- &paginateAlwaysShowLinks
- Purpose:Always show 'previous' and 'next' links when pagination is enabled
- Values:0,1
- Default:0
- &globalFilterDelimiter
- Purpose:Filter delimiter used to separate filters in the filter string
- Values:Any character not used in the filters
- Default:`|`
- Notes:Needed if commas are part of the data within a filter string
- &localFilterDelimiter
- Purpose:Delimiter used to separate individual parameters within each filter string
- Values:Any character not used in the filter itself
- Default:comma
- Notes:Needed if commas are part of the data within a filter string
- &tplPaginateNext
- Purpose:Template for the next link
- Values:Chunk name, tpl file name or HTML string
- Default:Language-dependent
- Notes:Default output template is defined in active language file. A chunk, external file or inline HTML can also be used
- &tplPaginatePrevious
- Purpose:Template for the 'previous' link
- Values:Chunk name, tpl file name or HTML string
- Default:Language-dependent
- Notes:Default output template is defined in active language file. A chunk, external file or inline HTML can also be used
- &tplCurrentDocument
- Purpose:User defined chunk to format the current document
- Default:same as &tpl
- &tplPaginateCurrentPage
- Purpose:Template for the current page link
- Values:Chunk name, tpl file name or HTML string
- Default:Language-dependent
- Notes:Default output template is defined in active language file. A chunk, external file or inline HTML can also be used
- &tplPaginateNextOff
- Purpose:Template for the inside of the next link
- Values:Chunk name, tpl file name or HTML string
- Default:Language-dependent
- Notes:Default output template is defined in active language file. A chunk, external file or inline HTML can also be used
- &paginateSplitterCharacter
- Purpose:Character to split 'previous' and 'next' links when &paginateAlwaysShowLinks is off and both links are there
- Values:Character (or string)
- Default:`|`
- Notes:Prevents links showing as '< Previous Next >' when [+pages+] is not being used
- &tplPaginatePage
- Purpose:Template for the page link
- Values:Chunk name, tpl file name or HTML string
- Default:Language-dependent
- Notes:Default output template is defined in active language file. A chunk, external file or inline HTML can also be used
- &tplPaginatePreviousOff
- Purpose:Template for the previous link when it is off
- Values:Chunk name, tpl file name or HTML string
- Default:Language-dependent
- Notes:Default output template is defined in active language file. A chunk, external file or inline HTML can also be used
- &hiddenFields
- Purpose:Allow Ditto to retrieve fields its template parser cannot handle such as nested placeholders
- Values:Comma-separated list of field and template variable names
- Default:empty
- Notes:(I have not investigated this one yet)
- &removeChunk
- Purpose:Name of chunks to be stripped from content
- Values:Comma-separated list
- Default:empty
- Notes:(I have not investigated this one yet)
- &save
- Purpose:Save Ditto output data in placeholders for use by other snippets
- Values:0,1,2,3
- Default:0
- Notes:(I have not investigated this one yet)
- &debug
- Purpose:Output debugging information
- Values:0,1
- Default:0