【问题标题】:Plone 4 Zope Display Contents of specific folder TALESPlone 4 Zope 显示特定文件夹 TALES 的内容
【发布时间】: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_viewfolder_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 访问返回的大脑的内容。除了显示“图像”文件夹的标题或大脑识别 (&lt;Products.ZCatalog.Catalog.mybrains object at 0x9d2ddb8&gt;) 之外,我没有运气。欢迎任何帮助或想法!

【问题讨论】:

    标签: plone template-tal zpt


    【解决方案1】:

    当 getFoldercontents 返回一个大脑列表时,我看不出你的代码是如何工作的。 用类似的东西重复一遍:

    <tal:block tal:repeat="image context/images/getFolderContents">
      <a tal:attributes="href image/getURL" tal:content="image/Title"/>
    </tal:block>
    

    【讨论】:

      猜你喜欢
      • 2017-07-14
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多