PDA

View Full Version : repeating region query


geordie728
05-19-2009, 04:16 AM
OK, here's my example.

On http://www.haircarehq.co.uk/ my featured products are a series of divs, each row has div1, div2 and div3 as below.

.prod-a {
float: left;
width: 220px;
height: 162px;
margin-right: 20px;
margin-top: 18px;
background: url(../images/prod-bg.png);
}

.prod-b {
float: left;
width: 220px;
height: 162px;
margin-right: 20px;
margin-top: 18px;
background: url(../images/prod-bg.png);
}
.prod-c {
float: right;
width: 220px;
height: 162px;
margin-top: 18px;
background: url(../images/prod-bg.png);
}

How can I ensure that every 3rd product has class="prod-c" applied?

Thanks

Ray Borduin
05-19-2009, 06:34 AM
You can use the code that DataAssist uses for alternating styles in tables.... just add code to the top of your page just about the <html> like:

<?php
//WA AltClass Iterator
class WA_AltClassIterator {
var $DisplayIndex;
var $DisplayArray;

function WA_AltClassIterator($theDisplayArray = array(1)) {
$this->ClassCounter = 0;
$this->ClassArray = $theDisplayArray;
}

function getClass($incrementClass) {
if (sizeof($this->ClassArray) == 0) return "";
if ($incrementClass) {
if ($this->ClassCounter >= sizeof($this->ClassArray)) $this->ClassCounter = 0;
$this->ClassCounter++;
}
if ($this->ClassCounter > 0)
return $this->ClassArray[$this->ClassCounter-1];
else
return $this->ClassArray[0];
}
}
?>
<?php
//WA Alternating Class
$WARRT_AltClass1 = new WA_AltClassIterator(explode("|", "prod-a|prod-b|prod-c"));
?>

then for the div tags add: class="<?php echo $WARRT_AltClass1->getClass(true); ?>"

geordie728
05-19-2009, 08:14 AM
Thanks Ray - I'll give that a whirl and see how it goes.

geordie728
05-20-2009, 02:02 PM
that worked great Ray - thanks.

htm2112
05-31-2010, 10:11 PM
that worked great Ray - thanks. Thanks! This post really helped me out :)