【发布时间】:2013-12-20 04:29:32
【问题描述】:
问题
如果搜索返回 0 个结果,我有一位客户希望在其搜索页面上显示某个文件夹(包含图像)的全部内容。该文件夹位于 mysite.com/images
设置:
作为一个测试环境,我已经建立了一个具有以下结构的单独站点:
ROOT
|-Folder1 <-- current directory I am viewing
| |-images
|-Other folders
我修改了folder_summar_view 模板,以包含以下代码(我决定修改一个视图,看看我是否可以将其拆分成我想要的样子):
<div tal:define="image context/images/getFolderContents">
<div tal:content="i" tal:repeat="i image" />
</div>
我所看到的:
<Products.ZCatalog.Catalog.mybrains object at 0x9d2ddb8>
我尝试过的事情和进一步的解释
我假设当context/images/getFolderContents 为我的图像文件夹中的“对象”返回大脑时,我可以使用下面的tal:repeat 语句遍历每个“对象”。然后将它们显示在我的页面上。
如果我只使用以下代码:
<div tal:content="context/images/getFolderContents" />
我的输出与上面的“我所看到的”部分非常相似:
<Products.ZCatalog.Catalog.mybrains object at [...]>
其中 [...] 是另一个数字
我一直在做一些研究并阅读 Plone Theming 这本书,但我的代码类似于他们在 第 169 页上的 tal:repeat 示例,似乎唯一的区别是他们没有使用这个在大脑上(据我所知)。
我试过这个,虽然它产生了相同的结果(不知道为什么我坚持它不会):
<div tal:define="image python:context.images.getFolderContents()">
<div tal:content="i" tal:repeat="i image" />
</div>
我似乎无法“进入”返回的大脑。我在网上寻找的所有东西都没有太大帮助,我还浏览了atct_album_view 和folder_listings 模板以了解是否有用。 - 我认为我忽略或遗漏了什么。
The first link I stumbled across was this,但是我继续前进,因为虽然相似,但这并不是我想要做的。
他们聊天室里的 Plone 人很友好地给了我context/images/getFolderContents 声明,我试图继续前进而不再次寻求帮助,但似乎我碰壁了。
我尝试过的更多东西
Using this link as inspiration我决定尝试以下方法:
<div tal:define="image context/images/getFolderContents">
<div tal:content="image/getURL" />
</div>
但是当我尝试查看模板时会引发错误。错误的意思是“getFolderContents Brain 没有属性 getURL”——虽然image/Title 显示了文件夹的名称,但这并不是我真正需要的。
I also found this link 但是因为我使用默认搜索,我真的不想编辑 python 脚本,因为我担心它可能会对正常的 Plone 站点搜索产生不利影响。 Also in this link 他们似乎在使用更多的 Python 脚本。 - 为了扩展这一点,我不确定这些脚本如何与页面模板“链接”(它们如何知道彼此“对话”)。
结论
总之,我需要显示位于我网站根目录的名为“images”的文件夹中包含的所有图像,我无法使用getFolderContents 访问返回的大脑的内容。除了显示“图像”文件夹的标题或大脑识别 (<Products.ZCatalog.Catalog.mybrains object at 0x9d2ddb8>) 之外,我没有运气。欢迎任何帮助或想法!
【问题讨论】:
标签: plone template-tal zpt