loopDbChunk

Creator: Alexandr Voronkin (elastic)

Need help installing this extra?

About loopDbChunk

It,s like snippet loopDbChunk for the EVO, but only for the REVO. The snippet will loop over a database table and for each row will inject all fields into placeholders contained in a chunk.

Information

Released
March 15, 2011

Supported Database
MySQL

License
GPLv2

Supported Versions
2.0 - Current

Downloads
1,656

Instructions

&dbConnect - (Opt)Boolean. If true, will connect to foreign db, uses config.inc.php under core/components/package/config/&package - The name of the folder that contains the xPDO model package.&model - The path to the xPDO model package folder, relative to the core folder.If you use a snippet to work with MODX core tables, you do not need to specify parameters &package and &model.&class - The xPDO model class  that represents a specific table.&alias - (Opt)Sets a SQL alias for the table.&select - (Opt)commaseperated list of table columns. If not specified, all columns are selected.&where - (Opt) A JSON expression of criteria to build any additional where clauses from. An example would be&where={{"alias:LIKE":"foo%", "OR:alias:LIKE":"%bar"},{"OR:pagetitle:=":"foobar", "AND:description:=":"raboof"}}.&sortby - (Opt)Field to sort by.&sortdir - (Opt)Order which to sort by.&orderby - (Opt) Sorting by multiple fields. For example &orderby = parent ASC, id DESC&limit - Limits the number of rows returned.&offset - An offset of rows returned by the criteria to skip.&ids - (Opt)commaseperated list of ids.&idField - (Opt)fieldname for idField if other than 'id'.&outerTpl - (Opt)wrapper template with placeholder [[+output]] for items.&tpl - Row template. [NOTE: if not provided, properties are dumped to output for each row]&tplOdd - (Opt)Template for rows with an odd idx value (see idx property).&tplFirst - (Opt)Template for the first row (see first property).&tplLast - (Opt)Template for the last row (see last property).&idx - You can define the starting idx of the rows, which is an property that is incremented as each row is rendered.&first - Define the idx which represents the first row (see tplFirst).&last - Define the idx which represents the last row (see tplLast).&toplaceholder - If set, will assign the result to this placeholder instead of outputting it directly.&debug - If true, will send the SQL query to the MODx log. Fork it -> https://github.com/elastic/loopDbChunkBugs -> https://github.com/elastic/loopDbChunk/issuesShow 3 last resources.[[loopDbChunk?&class=modResource&where={"published:=":1,"hidemenu:=":0}&sortby=pagetitle&sortdir=ASC&tpl=tableRowTpl&tplFirst=tableRowFirstTpl&tplLast=tableRowLastTpl&limit=3]]Show all approved comments(Quip).[[loopDbChunk?&package = quip&model = components/quip/model/&class=quipComment&where={"approved:=":1}&limit=&amp;tpl=`commentRowTpl`]]Can be used with snippet getPage.[[!getPage?&amp;element=`loopDbChunk`&amp;package = `quip`&amp;model = `components/quip/model/`&amp;class=`quipComment`&amp;where=`{"approved:=":1}`&amp;limit=&tpl=commentRowTpl&limit=3]]<div class="pageNav">[[!+page.nav]]</div>Using &alias, &select, &orderby:[[!loopDbChunk?&class=modResource&alias=doc&select=pagetitle&where={"published:=":1,"hidemenu:=":0}&orderby=parent ASC,id DESC&tpl=@INLINE &lt;li&gt;[[+pagetitle]]&lt;/li&gt;&outerTpl=@INLINE &lt;ul&gt;[[+output]]&lt;/ul&gt;&limit=5&debug=1]]Get some records with specified ids:[[loopDbChunk? &class=modResource &ids=10,11,12,15 &sortby=pagetitle &sortdir=ASC &tpl=tableRowTpl ]]Using &ids for a table where the primary-key isn't id but for example products_id:[[loopDbChunk? &package=xt &class=Products &ids=10,11,12,15 &idField=products_id &tpl=tableRowTpl ]]Connect to a table in a foreign database:[[loopDbChunk? &package=xt &dbConnect=1 &class=Products &limit=20 &tpl=tableRowTpl ]]/core/components/xt/config/config.inc.php:$database_type = 'mysql';$database_server = 'xxx';$database_user = 'xxx';$database_password = 'xxx';$database_connection_charset = 'utf8';$dbase = 'xxx';$table_prefix = '';

New in 2.2.1-alpha0

2.2.1New properties: alias, select, orderby2.1.0New properties: dbConnect, ids, idField, outerTplThanks to Bruno17(https://github.com/Bruno17)!

Current releases

2.2.1-alpha0
View | Download
March 15, 2011
2.0 - Current