1

我已经调整了文件插件以列出所有文件夹,并在其中列出所有文件。

代码或多或少是这样的:

$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 回答