Step in a list. The zem_nth plugin adds a conditional tag to Textpattern CMS, which can be used to matches every nth item in a group of items based on the given step and group of. This tag works similarly to the :nth-child pseudo-selector found in CSS.
Using Composer:
$ composer require rah/zem_nth
<txp:zem_nth step="1" of="3">
...every third...
<txp:else />
...first and second...
</txp:zem_nth>
The tag can also be used as a single, self-closing tag to return the current counter value:
<txp:zem_nth id="counter-identifier" />
Attributes are as follows:
step
The step to jump.
Example: step="2"
Default: "2"
of
Step of how many.
Example: off="4"
Default: undefined
id
The identifier assigned to the counter. By default counters are identified by their contents. If you need multiple counters for identical code blocks, you can use the id
attribute to set your own identifier to prevent collisions. The id
attribute can also be used to connect two counters with different contents that wouldn’t normally be connected.
Example: id="article_sidebar_stripes"
Default: undefined
start
The value the counter starts from. This allows resuming a previous counter, or just to add padding.
Example: start="25"
Default: "0"
reset
If set to 1
, resets the current counter back to the starting value set with start
.
Example: reset="1"
Default: "0"
This is a toolshed project. Experimental and not part of the main supported product line of Rah. Not yet at least. Please use at your own risk.
Adds even and odd classes to posts.
<txp:article_custom>
<div class="<txp:zem_nth step="1" of="2">odd<txp:else />even</txp:zem_nth>">
<h2><txp:title /></h2>
<txp:body />
</div>
</txp:article_custom>
Display article number.
<txp:article_custom>
<h2>#<txp:zem_nth id="article-number" />: <txp:title /></h2>
</txp:article_custom>
- Fixed: Prevent possible collisions within the step, contained statement and of when calculating identifier.
- Added: If used as a self-closing tag, returns the current counter value.
- Now requires PHP 5.2.0 or newer.
- Fixed: Reported version number.
- Fixed: Composer package requirements.
- Added:
<txp:else />
support. - Added:
id
attribute. Allows avoiding collisions and starting new counters, where the contents and the attributes are the identical, but the counter should restart from zero. Can also be used to connect counters that wouldn’t normally match. - Added:
start
attribute. Allows changing the counter’s starting value. - Added:
reset
attribute. Resets the counter back to zero.
- Initial release.