Trying to create an image list based on what is defined as the order, and loosing
Posted
by
user1691463
on Stack Overflow
See other posts from Stack Overflow
or by user1691463
Published on 2012-09-22T21:35:12Z
Indexed on
2012/09/22
21:37 UTC
Read the original article
Hit count: 225
I have a custom created module for Joomla 2.5 and within the params of the module, and have a loop that is not outputting as expected. I have the following parameters (fields) int he module: Order Thumb image Image Title Full-size image
Now there are 10 sets of these group of 4 params. What I am trying to do is loop through each of the object sets, 10 of them, and on each iteration, build an HTML image list structure.
The if statement is building the HTML structure for the sets that have an order value that is greater than 0, and the else is creating the html for those sets that do not have a value greater that 0.
The goal is to create two variables and then concatenate the the strings together; the leading set are the sets that have an order defined. This is not happening and every thrid loop seems like it is missing.
Here is the order as it is set in the 10 sets
Set 1 = 0
Set 2 = 4
Set 3 = 1
Set 4 = 0
Set 5 = 5
Set 6 = 0
Set 7 = 0
Set 8 = 6
Set 9 = 3
Set 10 = 9
However, the outcomes is:
9
5
1
4
6
7
10
Instead of the expected:
3
9
2
5
8
1 (below here are those sets that were not greater than 0 in order of appearance)
4
6
7
whats wrong here that I can not see
<?php
for ($i = 1; $i <= 10; $i++) {
$order = $params->get('order'.$i);#get order for main loop of 10
$active = "";
if ($order > 0) {#Check if greater than 0
for ($n = 1; $n <= 10; $n++) {#loop through all order fields looking and build html lowest to highest;
$ordercheck =$params->get('order'.$n);
if ($ordercheck == $i) {
$img = $params->get('image'.$n);
$fimage = $params->get('image'.$n.'fullimage');
$title = $params->get('image'.$n.'alttext');
$active = "";
$active = $active . '<li>';
$active = $active . '<a href="'.$fimage.'" rel="prettyPhoto[gallery1]" title="'.$title.'">';
$active = $active . '<img src="'.$img.'" alt="'.$title.'" />';
$active = $active . '</a>';
$active = $active . '</li>';
$leading = $leading . $active;
}
}
} else { #if the itteration $order was not greater than 0, build in order of accourance
$img = $params->get('image'.$i);
$fimage = $params->get('image'.$i.'fullimage');
$title = $params->get('image'.$i.'alttext');
$active = $active . '<li>';
$active = $active . '<a href="'.$fimage.'" rel="prettyPhoto[gallery1]" title="'.$title.'">';
$active = $active . '<img src="'.$img.'" alt="'.$title.'" />';
$active = $active . '</a></li>';
$unordered = $unordered . $active;
}
$imagesList = $leading . $unordered;
}
?>
© Stack Overflow or respective owner