问题描述:

Hi I have this code from joomla k2 template

<div id="itemListPrimary" class="clearfix">

<?php $thearray = $this->primary ;?>

<?php foreach($thearray as $key=>$item): ?>

<div class="itemContainer">

<?php

$this->item=$item;

echo $this->loadTemplate('item');

?>

</div>

<?php endforeach; ?>

</div>

Now it is taking items from main category and sub categories and displaying items like this.

item,

item,

item,

item,

I need it to take items from main and subcategories and display them like this:

category1

item

item

category2

item

item

category3

item

item

and etc.

How can I do this?

uptade:

The array is constructed like that or at least few lines of it

Array ( [0] => stdClass Object ( [id] => 41 [title] => test2 [alias] => test2 [catid] => 8 [published] => 1 [introtext] =>

test2

[fulltext] => [video] => [gallery] => [extra_fields] => [] [extra_fields_search] => [created] => 2012-08-27 16:37:51 [created_by] => 62 [created_by_alias] => [checked_out] => 0 [checked_out_time] => 0000-00-00 00:00:00 [modified] => 0000-00-00 00:00:00 [modified_by] => 0 [publish_up] => 2012-08-27 16:37:51 [publish_down] => 0000-00-00 00:00:00 [trash] => 0 [access]

and somethere in the bottom is the category name in it.

网友答案:

There is only one method. You have to reorder your array

foreach($thearray as $key=>$item) {
    $items[$item->catid][] = $item;
}

foreach($items AS $catid => $cat_items) {
    echo '<h3>'.$catid.'</h3>';
    foreach($cat_items AS $item)
        echo $item->name.'<br>';
}

Something like this.

相关阅读:
Top