Reputation: 375
If I am using the Index helper Is it possible to make the count start at 1 rather than 0. Both:
{@idx}{.}{/idx}
and
{$idx}
are zero based.
Does anyone know a way to do this?
It would be perfect if you could just do:
{$idx + 1}
but obviously that won't work.
Upvotes: 5
Views: 2980
Reputation: 4133
I guess you can use math helper in combination with $idx:
{@math key=$idx method="add" operand="1"/}
Upvotes: 10
Reputation: 11
Put the math helper inside {@idx}
<table>
{#names}
<tr><td>{@idx}{@math key="{$idx}" method="add" operand="1"/}{/idx}</td>
<td>{name}</td>
</tr>
{/names}
</table>
Upvotes: 1
Reputation: 680
To make a use of @math in dust templates you need to add dust helpers which is by default excluded from dust core package.
The specific syntax that you need in order to "load" the dust helpers in node is:
var dust = require('dustjs-linkedin');
dust.helper = require('dustjs-helpers');
Incase you cannot add these helpers, which would be really strange decision, still you can create your own function in current code base like this which can be used instead of @gt or @math
var baseContext = dust.makeBase({
position: function(chunk, context) {
return context.stack.index + 1;
},
});
Now you can use {position} instead of ${idx} which will count the loop from 1 to n.
Upvotes: 2