Trying to create an image list based on what is defined as the order, and loosing
- by user1691463
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;
}
?>