[ic] Item-alternate leaves unnecessary white space
Joshua Lavin
interchange-users@icdevgroup.org
Wed Mar 26 07:07:01 2003
On Tuesday, March 25, 2003, at 11:54 PM, SofaKingRotten wrote:
> Using IC4.8.5 on Redhat 7.2, default db, foundation.
> I'm having trouble finding a solution to this problem
> using the [item-alternate] tag. I use it on the
> results page to display 4 items per row, like this
> [item-alternate 4]:
>
> Category#1
> X X X X
> X X X X
>
> Category#2
> X X X X
> X X X X
> etc.
>
> However, I have several categories and less than 4
> items in some categories. This causes it to alternate
> leaving white space, for example, Category#2 starts
> out with item#4, so it alternates, as it should:
>
> Category#1
> X X X
>
> Category#2
> X
> X X X X
> X X
> etc.
>
> I need to alternate *only* if I am in the 4th column
> *unless* the category changes. How is this best
> overcome? I have been trying to implement some sort of
> counter using [calc] and [scratch] testing for column
> number 4, etc., but I just can't get it, and it seems
> too slow. I have looked into the looping tags but I
> don't quite understand them all. I've checked the mail
> archives but I am not sure what tag I should be using
> or what term to search on. Below is an example of my
> standard and 'counting column' code.
>
> Thanks to anyone who can offer any help!
>
> SKR
We had exactly the same problem. The only way I could make it work was
to implement my own counter, which _does_ make it a bit slower.
I've never tried [table-organize] as Dan suggested, but that might work
better.
At any rate, here's the code from my results page. Note that I removed
another [item-change] I had in there to make some things in our store
work, so this code is untested, but it should work fine. We also use
some custom field names. Hope it helps!
Josh
-------------
[on-match]
<TABLE cellspacing="0" cellpadding="15" border="0">
[/on-match]
[search-list]
[item-change cat]
[condition][item-field Category][/condition]
[perl no_return=1]$tmp_increment=0[/perl]
<TR align="left">
<td width="100%" align="left" colspan="4"><h2>[item-field
Category]</h2></td>
</tr>
<tr align="center">
[else]
[/else]
[/item-change cat]
<TD width="115" valign="top" align="left">
<table>
<tr>
<td height="85">
[page [item-code]]<IMG SRC="items/[if file
/www/htdocs/shop/images/items/t-[item-code].jpg]t-[item-
code].jpg[else]noimageyet.gif[/else][/if]" BORDER="0"></a>
</td>
</tr>
<tr>
<td>
<p class="results">[page [item-code]]<b>[item-description]</b></a>
<br>[item-price]</p>
</td>
</tr>
</table>
</TD>
[perl no_return=1]++$tmp_increment[/perl]
[if explicit]
[condition]
return 1 if $tmp_increment % 4 == 0;
return 0;
[/condition]
</TR><TR align="center">
[else]
[/else]
[/if]
[/search-list]
[on-match]
</TR>
</TABLE>
[/on-match]