- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个具有多种敏捷类型的自定义产品,setuphandler 使用其中的几种来创建站点结构。这在测试之外没有任何问题,但在测试中它总是失败:
Traceback (most recent call last):
[snip]
File "/opt/ctcc_plone/src/ctcc.model/ctcc/model/setuphandlers.py", line 52, in setupStructure
random = createSiteFolder(portal, 'ctcc.model.servicefolder', 'Randomisation', 'random')
File "/opt/ctcc_plone/src/ctcc.model/ctcc/model/setuphandlers.py", line 35, in createSiteFolder
return createContentInContainer(context, type, title=title, id=id)
File "/opt/ctcc_plone/eggs/plone.dexterity-1.1-py2.7.egg/plone/dexterity/utils.py", line 166, in createContentInContainer
content = createContent(portal_type, **kw)
File "/opt/ctcc_plone/eggs/plone.dexterity-1.1-py2.7.egg/plone/dexterity/utils.py", line 112, in createContent
fti = getUtility(IDexterityFTI, name=portal_type)
File "/opt/ctcc_plone/eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 169, in getUtility
raise ComponentLookupError(interface, name)
ComponentLookupError: (<InterfaceClass plone.dexterity.interfaces.IDexterityFTI>, 'ctcc.model.servicefolder')
我确保在安装过程中导入包的配置文件:
class CTCCModelSandboxLayer(PloneSandboxLayer):
defaultBases = (PLONE_FIXTURE,)
def setUpZope(self, app, configurationContext):
import ctcc.model
self.loadZCML(package=ctcc.model)
def setUpPloneSite(self, portal):
self.applyProfile(portal, 'ctcc.model:default')
虽然它们在包的设置中被列为安装要求,但我还在 plone.app.dexterity
上尝试了显式的 applyProfile
,以及 quickInstallProduct
,但由于某些原因,Dexterity FTI 在调用时似乎未注册。
我正在使用 Plone 4.1、Dexterity 1.1 和 plone.app.testing 4.2
最佳答案
按照 Mikko 的建议,我将 setuphandler 配置从产品的 zcml 移到了 GenericSetup import_steps.xml
中,从而允许指定对 typeinfo
的显式依赖:
<?xml version="1.0"?>
<import-steps>
<import-step
id="ctcc-setup"
title="Additional CTCC setup"
handler="ctcc.model.setuphandlers.setupVarious"
version="20120731"
>
<dependency step="typeinfo" />
</import-step>
</import-steps>
测试现在在 applyProfile
阶段运行而不是失败,并且站点结构的测试显示它正在按预期设置。
再次感谢!
关于testing - 测试期间 Dexterity 类型的 ComponentLookupError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11734176/
对于一个项目,我有一个复杂的主对象,其中包含许多子组件。这些对象的设置由构造函数接口(interface)控制,我将其绑定(bind)到各种生命周期和工作流事件,如下所示: @grok.subscri
我正在关注这里的测试:https://github.com/plone/plone.app.referenceablebehavior/blob/master/plone/app/referencea
我正在使用灵活性来构建内容类型。我们有出生日期字段,默认年份范围是从当年起 +- 10 年。 日期字段需要修改,年份应该从 1950 年开始。我仔细看了看,找不到我想要的正确信息。 下面是我的 DOB
我是 Stack Overflow 的新手,我刚刚开始开发一个内部网站来记录我们正在进行的用户研究的结果。 我正在使用 Plone 4.1 并且刚刚开始学习使用 Dexterity 框架作为页面来显示
我创建了一种非文件夹式的内容类型并允许讨论。显示了添加评论的表单,但是当发表评论时我得到了下一个错误: 2013-03-09 22:24:32 ERROR root Exception while r
我使用的内容类型使用 IBasic 行为(标题 + 描述)。我想在添加和编辑表单时隐藏描述字段。 我熟悉如何处理原型(prototype),但在试错结束后找不到处理敏捷的好方法 - 我认为 IBasi
在 Archetypes 中,为了将一个字段从一个字段集(或模式)移动到另一个,我们可以执行以下操作: schema['creators'].schemata = 'default' 但是,我使用 D
我需要添加一个条件,以避免在添加我的内容类型的对象时加载一些 javascript 代码;以下条件仅在编辑对象时有效: 此 javascript 代码负责创建选项卡界面,但我想在我的用例中绕
我的 Dexterity 内容类型中有 datagridfield,使用 Collective.z3cform。我有一个接口(interface)类,它将我的内容类型中主数据网格字段的 value_t
如何创建混合类型(即保持模型驱动类型的便利性但根据需要利用模式驱动类型的类型)? 我最近的探索使我将模型驱动的敏捷类型作为最方便的敏捷开发方法。我一直在关注这篇文章:http://developer.
在创建时使用 INameChooser 选择对象 ID 很简单。但我们也希望能够在 Plone 后选择对象 ID(并避免在对象 ID 中使用 copy_of)。 我们尝试了几种不同的解决方案: 事件订
我正在尝试将文件夹默认 View 设置为我创建的 Dexterity 内容类型。但我看到 Dexterity 内容类型不在文件夹的可能默认内容 View 列表中。为什么?我必须在内容类型中设置一个选项
我有一个具有多种敏捷类型的自定义产品,setuphandler 使用其中的几种来创建站点结构。这在测试之外没有任何问题,但在测试中它总是失败: Traceback (most recent call
我认为可以创建一个调用默认工厂的自定义 Dexterity 工厂,然后将一些子内容(在我的例子中是基于原型(prototype)的)添加到创建的“父”Dexterity 内容。 我在创建和注册自定义工
我已经实现了 Dexter在我的应用程序中。它适用于 CAMERA、EXTERNAL STORAGE 和 INTERNAL STORAGE 权限。我想用 Dexter 的 PHONE_CALL 权限打
我有一个运行 Plone 4.1 的站点,它具有使用 Dexterity 1.1 开发的自定义内容类型。我的内容作者可以使用“分类”选项卡将关键字添加到基本的 Plone 页面,如果用户使用其中一个关
我正在尝试将新闻项目中的内容复制到我编写的其他内容类型。在我的脚本中,我有 news项目和 project元素。第二个,project , 是使用 Dexterity 定义的内容类型。如果我能从 ne
我一直在研究基于灵巧的 Plone 应用程序。 我创建了几个新类型。这是我为激活对名为“activity_report”的特定敏捷内容类型的评论所做的: 在 Plone 控制面板 在讨论部分,我启用了
我希望为基于 Dexterity 的自定义内容类型的属性(“扇区”)启用一个名为“扇区”的特殊索引。 在我的架构中,在 types/mycontent.py 中,我有: class IMyConten
感谢您检查。所以我一直在做一个项目,该项目最终将扩展/添加一些功能,目前我正在努力向 Dexter (https://github.com/Karumi/Dexter) 请求权限。我已经能够让它工作,
我是一名优秀的程序员,十分优秀!