- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在研究插件及其模式扩展器、接口(interface)、适配器、提供程序……但我找不到如何扩展扩展模式。我会更好地解释我的情况:
我有三个插件:L、H 和 V,其中 L 是“基础”插件。所以 H 依赖于 L 的内容类型,因为它是 L 的扩展。内容扩展是使用 archetypes.schemaextender 包制作的。
现在要实现V,应该是H的扩展,实现如下结构:
长→高→高
此插件的内容类型定义为 class Batch(ATFolder)。这个插件也有自己的模式和它们的接口(interface)标记 IcontentA。
批处理.py
class Batch(ATFolder):
implements(IBatch)
schema =....
接口(interface).py
class IBatch(Interfaces)
这个插件从 L 获取内容类并扩展它
批处理.py
from archetypes.schemaextender.interfaces import IOrderableSchemaExtender
class BatchSchemaExtender(Object):
adapts(IBatch)
implements(IOrderableSchemaExtender)
配置.zcml
<adapter factory=".batch.BatchSchemaExtender " />
好的,现在我想用另一个插件扩展内容的架构。我做了类似的事情:
批处理.py
class Batch(ATFolder):
implements(IBatch)
schema =....
接口(interface).py
class IBatch(Interfaces)
批处理.py
from archetypes.schemaextender.interfaces import IOrderableSchemaExtender
class BatchSchemaExtender(Object):
adapts(IBatch)
implements(IOrderableSchemaExtender, IBatchH)
配置.zcml
<adapter factory=".batch.BatchSchemaExtender”
provides=”archetypes.schemaextender.interfaces.IOrderableSchemaExtender" />
接口(interface).py
class IBatchH(Interface)
批处理.py
from archetypes.schemaextender.interfaces import IOrderableSchemaExtender
class BatchV(Object):
adapts(IBatchH)
implements(IOrderableSchemaExtender, IbatchV)
接口(interface).py
class IBatchV(Interface)
配置.zcml
<adapter
for="L.interfaces.IBatch"
provides="archetypes.schemaextender.interfaces.IOrderableSchemaExtender"
factory=".batch.BatchV"
/>
如您所料,它不起作用...但我不知道是否可以扩展扩展类。我必须指出,每个类都有自己的 init
、getFields
和 getOrder
函数。如果我更改 V 插件上的 adapts 定义,我会收到错误消息。 V 插件中的每个函数都有一个 `pdb.set_trace() 定义,但实例不会停止...
编辑:我在 this mail 中找到: "你不能覆盖一个覆盖。你唯一的希望可能是 z3c.unconfigure:
最佳答案
为单一内容类型注册多个模式扩展器应该会按预期工作;我认为您在 V 中的注册不正确。
在 V 中,你说的地方
<adapter
for="L.interfaces.IBatch"
provides="archetypes.schemaextender.interfaces.IOrderableSchemaExtender"
factory=".batch.BatchV"
/>
对应的类有一行:
适应(IBatchH)。
这可能是
adapts(L.interfaces.IBatch)
如果 Plone 启动时有任何配置冲突,那么你需要在附加注册中添加一个 name="something_unique"来消除冲突。
关于python - 如何在 Plone 上扩展扩展内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29770366/
有没有办法查看谁当前登录了 Plone 站点? 理由:我想确保在我重新启动实例时不会干扰处理内容的用户。 最佳答案 开箱即用,没有办法查看用户当前是否正在使用您的网站,只有当他们刚刚使用它时。只需关注
我需要 plone 默认用户注册表单中的验证码字段 (@@register)。 最佳答案 使用 https://plone.org/products/quintagroup.formlib.captc
如果 Plone 版本升级,是否需要删除安全补丁? 假设示例: Plone X.4.4 从 2015 年 5 月 4 日起开始运行安全补丁-XYZ Plone 升级至 X.4.5,在 Security
我有一个 Plone (4.2) 形式。我想要一个特定领域的动态来源。架构的相关部分: from plone.directives import form from z3c.relationfield
我正在尝试制作一个兼容 Plone 4 和 Plone 5 的插件。我遇到的问题是配置文件/默认 XML。 Plone 5:我有一个用于注册 CSS 的 registry.xmlPlone 4:我有一
我正在使用 Plone 4.0.5,我花了一天时间试图理解 plone.app.contentmenu。 我有一个基于自定义文件夹的原型(prototype)类型,并且我已经为它编写了一个 View
Plone 4 包含一个新的文件夹实现(在 plone.app.folder 包中),它对于包含许多项目的文件夹效率更高。是否可以升级 Plone 3 站点以使用此文件夹实现,而无需将站点完全升级到
PloneTestCase、plone.testing 和 plone.app.testing 包有什么区别? 顺便说一下,不建议将 PloneTestCase 用于测试新的 Plone 4 产品吗?
我们想从我的 Java 应用程序创建 plone 用户,那么我该怎么做呢? 已通过https://github.com/plone/plone.restapi ,但还没有得到清晰的看法。 我想在jav
我正在尝试通过 portal_migration 工具将 Plone 4.3.7 升级到 Plone 5.0,并遇到以下错误。有什么想法吗?这是一个简单的站点(没有附加组件),但它的历史可以追溯到 P
我正在为我的站点创建一个新的 plone.app.theming (Diazo) 主题。我的 rules.xml 有规则: 这会取消许多弹出窗口的样式,但不会取消联系人信息 AJAX 弹出框的样式,
我正在尝试将现有站点从 Plone 3.3.6 升级到 Plone 4.3.7,然后升级到 Plone 5.0。 现有站点非常小,并且没有安装任何附加产品(vanilla Plone、vanilla
我想让我的编辑在几个正交词汇表上标记内容,然后有一个很好的搜索界面,让用户可以根据这些词汇表搜索内容。 似乎解决方案的一部分存在 ATVocabularyManager - 让编辑器创建不同的词汇表
我在我工作的研究所中使用带有 Doormat 和 Diazo 的 Plone 4.1.4,并且必须通过添加内部链接到主菜单中项目的每个列和项目来手动制作页脚。 我想要的是这个页脚,即站点地图,每次用户
Plone 产品安装的日志轮换将是一个不错的功能。当前将日志轮换集成到 Plone 的最佳实践是什么? 我找到了这篇文章:http://encolpe.wordpress.com/2010/06/17
在一个 Plone 实例中,我有两个 Plone 站点。 在其中一个中,我有一个专门用于它的产品。 我想为 Products.PluggableAuthService.interfaces.event
是否可以使用每个插件扩展控制面板 View ? 例如 ca.db.core -> 为数据库连接设置制作基本字段集/选项卡 ca.db.person -> 如果已安装,则向“核心”设置添加一个新的字段集
这是一个普遍的问题,但受到一个例子的启发。一般的问题是:如何从未使用的附加组件中清除 Plone 站点?您可以通过多种方式生成未使用的附加组件,例如,如果您将一个附加组件用于一件事,然后您更喜欢另一件
2004 年,Mahendra 发表了关于使用 Plone 和 DSpace 管理数字 Assets 的演讲。 http://linux-bangalore.org/2004/schedules/ta
plone.resource 提供了将静态媒体文件放入 Plone 的简单方法 http://pypi.python.org/pypi/plone.resource 然而,plone.resource
我是一名优秀的程序员,十分优秀!