我是博士学位的新手。我的项目中有类似过滤器的东西。几乎没有开关来过滤图标列表。用户单击图标后,应显示所选项目的详细信息。此项目在docpad集合中。如何实现这一点?列表中的每个图标都具有与docpad集合中响应项的id相等的id。是否有任何方法将所选项目的id存储在变量onclick中(以便用于getCollection的筛选器或eco模板中的getFileById )?
发布于 2015-10-19 10:28:14
我不清楚你想实现什么。如果您想通过用户单击筛选页面上的项目,类似于砖石/兴趣爱好布局,那么方法是将所有集合项输出到页面,然后使用客户端JavaScript过滤它们。如果要在用户单击项目时显示更多详细信息,原则是相同的。将集合的所有详细信息输出到页面,但只有当用户单击某项时(再次使用客户端脚本),才能显示全部详细信息。
现在,如果集合太大,或者它的内容太长,无法输出到页面,并且您需要在回发(即动态)上生成内容,那么可以在元数据中标记一个页面。您还需要安装干净的urls插件
编辑:
作为使用eco模板系统在动态生成的页面上筛选集合的示例。
---
layout: simple
dynamic: true
---
<%collection = ['Aardvark',"Arrows","Armageddon","Buildings","Bats","Bob the builder"] %>
<%query = @req.query%>
<%-query.q%>
<%filter = query.q%>
<h1><%-(new Date()).toString()%></h1>
<ul>
<% for item in collection:%>
<%if item[0].toLowerCase() == filter or !filter:%>
<li><%-item%></li>
<%end%>
<%end%>
</ul>这假设存在一个以q=a或q=b等形式存在的查询参数,即http://127.0.0.1:9778/?q=a。我还写出了日期,以证明页面在每个请求上都是重新生成的。
查看元数据部分文档的DocPad。
https://stackoverflow.com/questions/33028263
复制相似问题