On Mon, 2007-04-30 at 10:40 +1000, Mathew Robertson wrote: > > > > > Is there a way to loop from a lower integer to an higher > > one? For example, > > say an article has a rating of 4. I'd like to loop from 1 to > > 4 and print a > > star at each iteration. The only way I can see of doing this > > is create an > > array ref in the perl coder and pass that to the template, > > which seems a lot > > of pointless effort > > > > > > I've been trying to think of a way to do that with CSS, since > > currently I'd like to indent things based on a "level" variable > > passed through the template (and to complicate things, I'd like to > > max out at a certain point to avoid right-margin squish, considering > > that in a couple of cases the threads nest over two hundred levels > > deep). > > > > With (one assumes) a rating system with its own ceiling, though, you > > could go with img src="blahblah/star<TMPL_VAR name="rating">.gif" or > > what have you, and just have a set of graphics with star1.gif having > > one star, star2.gif having two stars, and so forth. > > > If you just want to print 4 stars, then just do that. * * * * > > If you are looking for some indentation background, you could try > something like the following on a div: > > style="background:url('star.gif') right repeat-y;" > > If you are looking for something like <TMPL_FOR 1..4> then you > probably need to re-evaluate why you need it - maybe you need to re- > think your original problem. That said, there have been previous > discussions on whether the TMPL_xxx syntax should support user-defined > extensions, and various people have their own hacks to allow such a > feature (which would then allow you to build your TMPL_FOR).
Well my problem is that sometimes I want to iterate through a numeric range. If an article is ranked 4 stars then the designer can either iterate through each ranking and display a star or he/she can simply output "4 stars." (one customer likes the latter, another wants the former). Likewise, I use Data::Page::Navigation for paginated data - it's a really nice module, and if it displays 10 indexes at the bottom of the page, say from 5 - 14, it would be nice if I could iterate through them rather than doing it in Perl. It's not a religious decision, it just gives the flexibility to the designers. > What is the problem you are trying to solve? Someone here might have > solved it already... I hope this gives enough info. If I'm doing it wrong, I'm only too pleased to be told if there's a better way. Michael Peters suggested Javascript as one solution, although I'd prefer a solution in H::T if possible. I have looked through the docs, and couldn't see anything obvious, but was hoping that perhaps someone had solved this problem before me via some kind of logic that I hadn't thought of. > > Mathew Dan ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Html-template-users mailing list Html-template-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/html-template-users