在Plone中创建主题树
项目描述
ftw.topics
此软件包将主题树集成到Plone中。
功能
基于Dexterity的内容类型“主题树”和“主题”,用于创建主题树(主题树)。
主题视图列出了所有引用主题的内容。
使用方法
将ftw.topics添加到您的buildout配置中
[instance]
eggs +=
ftw.topics
安装默认的通用导入配置文件。
ITopicSupport for Dexterity
如果您想在基于Dexterity的类型上使用主题字段,请使用ITopicSupportSchema行为
<?xml version="1.0"?>
<object name="example.conference.presenter" meta_type="Dexterity FTI"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
i18n:domain="example.conference">
<!-- enabled behaviors -->
<property name="behaviors">
<element value="ftw.topics.behavior.ITopicSupportSchema" />
</property>
</object>
plone.restapi支持
如果需要,安装[restapi]额外组件。
[instance]
eggs +=
ftw.topics [restapi]
列出主题上的所有反向引用。
GET /plone/topictree/topic?expand=backreferences HTTP/1.1
Accept: application/json
响应 - 检查“反向引用”下的展开部分
HTTP/1.1 200 OK
Content-Type: application/json
{
"@components": {
"actions": {
"@id": "https://127.0.0.1:55001/plone/topictree/topic/@actions"
},
"backreferences": {
"@id": "https://127.0.0.1:55001/plone/topictree/topic/@backreferences",
"items": [
{
"@id": "https://127.0.0.1:55001/plone/front-page",
"title": "Welcome to Plone"
...
}
],
...
}
}
}
自定义引用表示
ITopicReferencePresentation适配器负责在主题视图中渲染引用。适配器消费它们所知道的所有项目,并在视图的部分中渲染它们。
ftw.topics包括用于渲染内容页面的ITopicReferencePresentation和一个默认适配器,用于所有其他未由其他适配器消费的内容。
添加自定义表示适配器很简单
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from ftw.topics.browser.representation import DefaultRepresentation
from my.package.interfaces import IMyType
from my.package import _
class MyRepresentation(DefaultRepresentation):
template = ViewPageTemplateFile('my_representation.pt')
def consume(self, objects):
for obj in objects:
if IMyType.providedBy(obj):
self.objects.append(obj)
else:
yield obj
def title(self):
return _(u'label_my_objects', default=u'My objects')
def position(self):
return 50
- consume()
确保您在适配器中处理所有未处理的对象。它们将被传递到管道中,直到另一个适配器处理它们。最后一个适配器通常是默认表示适配器,它消费所有剩余的对象。
- title()
返回您部分的标题。
- position()
适配器按位置排序。默认适配器的位置为1000,ftw.contentpage适配器的位置为100。
使用ZCML注册您的适配器
<configure xmlns="http://namespaces.zope.org/zope">
<adapter
factory=".representation.MyRepresentation"
name="my_representation"
/>
</configure>
确保您为适配器提供了一个名称,以免与其他适配器冲突。
链接
版权
本软件包的版权属于 4teamwork。
ftw.topics 采用 GNU 通用公共许可证,版本 2。
变更日志
2.2.2 (2022-06-20)
修复了 topics 视图,如果字段尚未初始化。[mathias.leimgruber]
2.2.1 (2022-06-20)
添加了视图,列出内容中所有引用的主题。[mathias.leimgruber]
2.2.0 (2022-05-06)
添加了 restapi 支持。[mathias.leimgruber]
2.1.1 (2020-09-07)
如果存在非 DX 对象,使收集器更健壮。[mathias.leimgruber]
2.1.0 (2020-01-09)
添加了卸载配置文件。[tinagerber]
添加了 ftw.topics portal_types 的翻译到 plone 域。[tinagerber]
2.0.0 (2019-10-18)
添加了 plone 5.1 支持。[busykoala]
删除了 ATTopicSupportExtender。查看 https://github.com/4teamwork/ftw.upgrade#inplace-migrator 以迁移您的类型。[busykoala]
1.3.1 (2019-06-13)
从收集的回引用中排除过期的和未来的内容。[elioschmutz]
1.3.0 (2018-07-04)
使用写权限保护 DX 主题字段。[mbaechtold]
1.2.1 (2016-09-29)
使主题字段可选。[mbaechtold]
1.2.0 (2016-09-26)
添加了 ftw.referencewidget 并用它代替 plone.formwidget.contenttree。[tschanzt]
添加了 ftw.theming scss 并使用 font awsome 图标。[mathias.leimgruber]
修复了 dexterity 行为和关系收集器。[jone]
限制某些依赖项的版本,以避免引入 Plone 5。[mbaechtold]
在 ftw.topic.Topics 上启用导航行为。[mathias.leimgruber]
1.1.3 (2015-06-15)
修复了按字母顺序排序子主题。[mathias.leimgruber]
1.1.2 (2014-11-27)
添加了在主题中隐藏回引用的选项。[lknoefpel]
1.1.1 (2014-02-28)
尚未更改。
1.1.0 (2014-02-03)
在主题树上启用 IExcludeFromNavigation 行为。[mathias.leimgruber]
1.0 (2013-05-24)
初始实现。
项目详情
ftw.topics-2.2.2.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | df7d965b021556bc8cdbb2dbafe7fc3aa34f0668a7c81345407ebdaddd183eb0 |
|
MD5 | 5c0cae35902063119e266f3b1b744a6a |
|
BLAKE2b-256 | ea49d49b0282cd47c88f595162999330880850ede419b873be1d5424f48ba900 |