A snippet for getting fields and setting placeholders. See the GitHub page for documentation and examples.
setPlaceholders combines the usefulness of placeholders—which are rather like local variables—with a fast and versatile engine for gathering up various data: fields and TVs from a resource or any of its ancestors, children or siblings, plus several other useful things.
It provides the functionality of getResourceField, UltimateParent, and getUrlParam—in addition to quite a bit more—all in one lightweight and very efficient package. Something of a Swiss Army knife for navigating the resource tree and retrieving info.
Download and install. The package contains one snippet called setPlaceholders. It's that easy.
- Add short convenience aliases for setPlaceholders snippet: sph and spho (with &output=`1`)
- Add the ability to process more than one fallback/default value
- Add a request selector for stuff from the $_REQUEST superglobal
- Add parents and parentsI selectors for returning a list of parent IDs from the ultimate parent down to the resource
- Add bounded versions of the parent and Uparent selectors
- [#2] Add the ability to chain child selectors. Ex: child-1.child2.pagetitle (pagetitle of the 2nd child of the current resource's last child)
- add a migxR/jsonR selector to get a random item from a MIGX TV.
- fixes a bug with the parent selector
- ~3x faster TV handling, now doesn't process them by default
- adds next/prev sibling selectors. next2 selects the sibling after next, etc.
- adds a "random child" selector, plus simple ways of retrieving the number of children or parents a resource has, a resource's position amongst its siblings, or the number of items a MIGX TV contains.
- memory usage improvements
N O T E T H E S E C H A N G E S:
- Removes &fields property (deprecated since v1.1)
- Now does not process TVs by default. Use &processTVs=`1` if you need to process them.
- Removes output filter functionality. Use the built-in output filter toPlaceholder instead. It works exactly the same.
- If you specify an index on the parent, Uparent, child, next or prev selector which is out of bounds, setPlaceholders now returns an empty string, which makes specifying a default value easier.
- Improves child selector performance
- Changes behavior when a value isn't found for a placeholder: now the placeholder will be set to an empty string so MODX will fully parse and cache it.
- A few other minor fixes and improvements
- Adds a child resource selector. Ex: child4.pagetitle (4th child) or child-1.pagetitle (last child)
- Adds optional special processing for MIGX TVs (arrays of JSON objects). For example, parent.migx.someMIGXtv will set a placeholder for each key/value pair in the TV.
- Minor performance improvements
- Added &ph property with a more powerful syntax. It adds: "Ultimate parent" functionality, the ability to specify different resource IDs, optional user-defined placeholder names, and parsing of default values
- &fields is now deprecated, but retained for backwards compatibility
- Performance and caching improvements
- fix an issue that can generate PHP notices
|10 Versions||1 Contributors||4,094 Downloads|
|2.2.0-pl||Sep, 15 2013||jgrant||431|
|2.1.0-pl||Aug, 03 2013||jgrant||248|
|2.0.1-pl||Apr, 09 2013||jgrant||273|
|2.0.0-pl||Apr, 06 2013||jgrant||264|
|1.2.1-pl||Mar, 20 2013||jgrant||231|
|1.2.0-pl||Mar, 11 2013||jgrant||234|
|1.1.0-pl||Feb, 04 2013||jgrant||296|
|1.0.1-pl||Feb, 03 2013||jgrant||226|
|1.0.0-pl||Jan, 12 2013||jgrant||241|