web-dev-qa-db-ja.com

アイテムのテンプレート内からカテゴリオブジェクトを取得するにはどうすればよいですか?

これはPHP=質問の詳細ですが、Joomlaにも関連しています。K2のcategory.phpファイル、次の行があります:

    <?php foreach($this->links as $key=>$item): ?>

    <div class="itemContainer">
        <?php
            // Load category_item.php by default
            $this->item = $item;
            echo $this->loadTemplate('item');
        ?>
    </div>

    <?php endforeach; ?>

カテゴリ内のアイテムを反復処理し、テンプレート(category_item.php)それらのそれぞれについて。

category_item.phpファイル、別のアイテムから情報を取得したい(たとえば、アイテム2でアイテム3のイメージを表示したい、奇妙に聞こえるが、それは私がやりたいことです)。 category_item.php、これは画像の表示方法です:

<img src="<?php echo $this->item->image; ?>">

$thisここでは現在のアイテムを参照しているので、私の質問はcategory_item.phpファイル、とにかくカテゴリオブジェクトを参照する方法はありますか?そして、とにかく他のアイテムを参照することはありますか?

1
shenkwen

我々は持っています category.phpおよびitem.phpファイル。 category.phpテンプレートをループで読み込む:

foreach($this->links as $key => $item) :
    $this->item = $item;
    $this->loadTemplate('item');
endforeach;

だからitem.phpアクセスできるファイルまたは$thisおよびJViewに作成したすべてのプロパティ。

ループの次のプロパティにアクセスしたいので、$keyからitem.php

foreach($this->links as $key => $item) :
    $this->item = $item;
    $this->key = $key;
    $this->loadTemplate('item');
endforeach;

次に、item.php次のようにアイテムの次の値にアクセスできます:

$this->links[$this->key + 1]->image 

またはnext、previous、whatのその他のプロパティ$keyしたい。

1
Lanah