Skip to content
  1. Extras
  2. pdoTools
  3. General properties

General parameters

Parameters shared by pdoTools/pdoFetch-based snippets.

Resource selection parameters

These define which objects are selected.

NameDefaultDescription
&classmodResourceObject class
&parentsCurrent resourceComma-separated parent IDs. Use 0 for no limit. Minus prefix excludes parent and children
&depth10Depth of child resources
&resourcesComma-separated resource IDs. Minus prefix excludes
&templatesComma-separated template IDs for filtering. Minus prefix excludes
&contextLimit by resource context
&whereJSON array of extra conditions
&showHidden0Show menu-hidden resources
&showUnpublished0Show unpublished
&showDeleted0Show deleted
&hideContainers0Exclude containers (isfolder=1)
&hideUnsearchableExclude search-hidden resources
&selectComma-separated fields or JSON e.g. {"modResource":"id,pagetitle,content"}
&leftJoin, &rightJoin, &innerJoinSQL join analogs
&joinSequenceinnerJoin,leftJoin,rightJoinJoin order
&sortbypagetitleSort field; TV if in &includeTVs; JSON for multi; RAND() for random
&sortdirASCSort direction
&groupbyGroup by field
&havingHAVING clause for grouped rows
&limit0Result limit
&offset0Skip count
&first1First iteration index
&lasttotal + first - 1Last iteration index
&loadModelsComma-separated component models to load, e.g. ms2gallery,msearch2
&tvFiltersTV filters with AND/OR. OR delimiter in &tvFiltersOrDelimiter. Example: filter2==one,filter1==bar%||filter1==foo. Uses LIKE; % is wildcard. Search in DB values only, not TV defaults
&tvFiltersAndDelimiter,AND delimiter
&tvFiltersOrDelimiter||OR delimiter
&sortbyTV, &sortdirTV, &sortbyTVTypeTV sort; type: string, integer, decimal, datetime
&checkPermissionsPermissions to check
&disableConditionsDisable modResource-specific conditions
&fenomModifiersComma-separated modifier snippets for Fenom. See section

Template parameters

Chunks for output layout.

NameDescription
&tplChunk for resource row
&tplFirstChunk for first row
&tplLastChunk for last row
&tplOddChunk for even rows (odd = uneven; applies to even)
&tpl_NChunk for Nth row, e.g. tpl_4
&tpl_nNChunk for every Nth row, e.g. tpl_n4
&tplConditionField for conditional chunk selection
&tplOperatorComparison operator
&conditionalTplsJSON: keys = compare values, values = chunk names
&outputSeparatorSeparator between results

Output parameters

NameDefaultDescription
&returnchunksOutput mode (see below)
&fastMode0Strip unprocessed tags
&nestedChunkPrefixpdotools_Prefix for fast placeholders
&idxStart iteration index
&totalVartotalPlaceholder for total count
&includeContent0Include content field
&includeTVsComma-separated TVs
&prepareTVs1Prepare TV paths; 1 = all from &includeTVs
&processTVsProcess TVs per manager settings; 1 = all; slows
&tvPrefixtv. in pdoResourcesTV prefix
&prepareSnippet1Snippet to process data before chunk
&decodeJSONDecode JSON fields
&scheme-1URL scheme; see modX::makeUrl; uri = raw uri
&useWeblinkUrlGenerate URL by resource class
&toSeparatePlaceholdersOutput each result to placeholder myPl0, myPl1...
&additionalPlaceholdersExtra placeholders
&cache_key, &cache_handler, &cacheTimeCache options

Chunk call types

  • @INLINE or @CODE - template is the string after prefix. MODX parses [[+]] before snippet; use {{+}} so pdoTools handles it.
  • @FILE - load from file. Path in pdotools_elements_path. Extensions .tpl, .html.
  • @TEMPLATE - use template by id or name. Empty = resource's own template.
  • @CHUNK - chunk from DB; same as plain name.

See parser section.

Return values

&return options: chunks (default), sql (raw SQL for debug), data (array; use pdoFetch::run() directly), ids (comma IDs), json, serialize.

Внимание

Only pdoResources (and pdoPage) and pdoUsers support all &return values. pdoMenu and pdoCrumbs support chunks and data. Others mainly chunks.