1

Fileプラグインを調整して、すべてのフォルダーを一覧表示し、その中にすべてのファイルを一覧表示します。

コードは多かれ少なかれ次のようになります。

$folders = assoc_array_prop($this->file_folders_m->get_all());
$counter = 1;
foreach ($folders as $key => $folder) {
$folder->index = str_pad($counter++, 2, '0', STR_PAD_LEFT);
$this->file_m->where('folder_id', $folder->id);
$files = $this->file_m->get_all();
$folder->files = assoc_array_prop($files);
}
return $folders;

さて、問題は、テンプレート内の各フォルダーの各$ folder-> filesにアクセスするにはどうすればよいですか?これは機能していないようです:

{pyro:mymod:file_listing}
    <div class="files_column">
    <h2><span class="files-index">&#123;index}</span> &#123;name}</h2>
{pyro:files}


<div class="file-item">

<span class="file-type">{id}</span>

<div class="file-data">
<span>{filename}</span>
<br/>
<span class="file-links">
<a href="#">View</a>
<a href="#">Download</a>
</span>

</div>
</div>
{/pyro:files}


</div>
{/pyro:mymod:file_listing}

これを明確にするために...データが表示される回数に基づいて、{files}ループは正常に機能しているようです。問題は、{filename}のような属性にアクセスできないように見えることです。

ありがとう、イグナシオ

4

1 に答える 1

1

あなたが間違っていると思う最初のことは、内側の pyro タグ {pyro:files} を持っていることです。これは、コアの pyro:files プラグインを呼び出すだけだと確信しています。

タグでは不可能と思われる形式のトラバースを行うために私が行ったことは、外側のタグの属性を使用して内側のタグの情報を見つけることでした。

このような:

{pyro:movies:now_showing}

<img src="{img_path}"/>
<p>{pyro:movies:synopsis_snippet id="{movie_id}" length="100"}</p>

{/pyro:movies:now_showing}

そのため、現在の要素の movie_id を使用して、プラグインから別のデータを取得しました。私のプラグインには now_showing と synopsis_snippet 関数があります。

あなたができることは、フォルダをリストするメソッドと、次のようなフォルダのファイルをリストするメソッドを持つことです:

{pyro:my_plugin:folders}

{pyro:my_plugin:list_files_of_folder id="{attribute to lookup folder}"}
{/pyro:my_plugin:list_files_of_folder}

{/pyro:my_plugin:folders}

お役に立てれば。:)

于 2011-11-28T05:43:00.397 に答える