小编Dan*_*dez的帖子

如何在创建内容类型后执行操作?

我正在尝试在创建Dexterity内容类型后执行一些任意代码.例如,内容类型可以代表马.

import logging
logger = logging.getLogger("Plone")

class IHorse(form.Schema):

    def __init__(self, context):
        logger.info('Creating horse')
        super(self).init(self, context)
Run Code Online (Sandbox Code Playgroud)

我想在前台运行应用程序时在控制台中打印记录器消息"Creating horse".但马是创造的,我没有得到它的消息.我猜内容类型对象是由它创建的__init__,但也许我错了.

plone dexterity

6
推荐指数
1
解决办法
194
查看次数

将Archetype新闻项目迁移到Dexterity内容类型

我正在尝试将新闻项目中的内容复制到我编写的其他内容类型中.在我的脚本中,我有news项目和project项目.第二个project是使用Dexterity定义的内容类型.这将是美好的,如果我能到图像和正文从复制newsproject在未来的方式.

project.text = news.text
project.image = news.image
Run Code Online (Sandbox Code Playgroud)

其中文本和图像在project架构中定义为RichText和NamedBlobImage.我不知道新闻项中的属性如何.我只知道我可以使用该方法获取新闻项中的图像,getImage()但是将其分配给项目在渲染项目时会产生错误.

所以我需要一些指针来解决我的基本问题:

  1. 如何知道Archetype内容类型的属性名称.例如,在这种情况下,我需要知道新闻项的正文文本的属性名称.

  2. 如何将附加到新闻项目的图像转换为附加到灵巧内容类型的图像.

plone archetypes dexterity

6
推荐指数
1
解决办法
598
查看次数

如何从Plone站点清除未使用的附加组件?

这是一个普遍的问题,但是以一个例子为动机.一般问题是:如何从未使用的附加组件中清除Plone站点?您可以通过多种方式生成未使用的加载项,例如,如果您为一件事使用一个加载项,之后您更喜欢另一个加载项.

我开始学习Plone,也许我犯了一些错误.但我认为一些附加组件可能会产生问题,因为它们会留下一些不会自动卸载的东西.然后我的问题也是关于如何将数据与可能的附加组件足迹隔离开来.

所以,这是一个例子:

当我开始使用Plone时,我安装了一个名为zettwerk.ui的附加组件.但后来我卸载了它.我使用Plone Web界面和buildout配置删除了附加组件.然后我遇到了问题:每次我尝试安装另一个加载项时都会出现一条错误消息:

2012-04-28 00:21:54 INFO GenericSetup.rolemap Role / permission map imported.
2012-04-28 00:21:54 INFO GenericSetup.archetypetool Archetype tool imported.
2012-04-28 00:21:54 INFO GenericSetup.browserlayer Browser layers imported
2012-04-28 00:21:54 INFO GenericSetup.resourceregistry KSS registry imported.
2012-04-28 00:21:54 ERROR GenericSetup Step zettwerk.ui.disable_sunburst_patch has an invalid import handler
2012-04-28 00:21:54 INFO GenericSetup.rolemap Role / permission map imported.
2012-04-28 00:21:54 INFO GenericSetup.toolset Class zettwerk.ui.tool.tool.UITool not found for tool portal_ui_tool
2012-04-28 00:21:54 ERROR Zope.SiteErrorLog 1335586914.990.0334188015457 http://localhost:8080/Plone/portal_quickinstaller/installProducts
Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in …
Run Code Online (Sandbox Code Playgroud)

plone

5
推荐指数
1
解决办法
1188
查看次数

如何找到冲突要求的模块?

我在运行buildout时遇到错误:

Installing instance.
The version, 1.4.4, is not consistent with the requirement, 'plone.app.jquery>1.6'.
While:
  Installing instance.
Error: Bad version 1.4.4
Run Code Online (Sandbox Code Playgroud)

我想有一个带有'plone.app.jquery> 1.6'的模块.怎么才能找到它呢?有命令这样做吗?这是在buildout中设置egg版本时遇到的常见问题.

这个问题很笼统.假设我的蛋A和B需要蛋C,但版本不兼容.作为上面的代码,我收到了一条关于C的错误消息,但没有关于A和B的消息,这是不兼容的来源.

python plone buildout

5
推荐指数
0
解决办法
396
查看次数

我如何向州询问内容对象?

本教程结束时,列出了几个对象属性.但是我需要访问状态(已发布,私有,......).我也使用搜索该属性,dir()但我没有看到名为state或类似的属性.即,我需要这样的东西:

>>> app.Plone.foo.bar.state
"published"
Run Code Online (Sandbox Code Playgroud)

plone

4
推荐指数
2
解决办法
136
查看次数

如何定义升级加载项的过程?

当我更改我写的附加组件的配置文件版本时,我总是收到上面的消息.

此附加组件已升级.旧配置文件版本为10.新配置文件版本为11.没有为此附加组件定义升级过程.有关升级信息,请参阅附加文档,或与附加组件作者联系.

那么我如何定义一个升级add-one的过程呢?

plone

4
推荐指数
1
解决办法
551
查看次数

我怎样才能获得所有定义的类?

有没有办法获取所有已定义的类的列表.我正在寻找这样的代码:

Class.instances.each do |klass|
  puts klass.name
end
Run Code Online (Sandbox Code Playgroud)

如果没有办法做到这一点.可以定义一个A类,使其后代在其中注册?例如,以这种方式:

class A
  ...
end

class B < A
end

class C < B
end

A.descendants   # => [B, C] 
Run Code Online (Sandbox Code Playgroud)

ruby

4
推荐指数
2
解决办法
1134
查看次数

Plone 4数据库有多大?

2004年,Mahendra谈到了使用Plone和DSpace来管理数字资产.

http://linux-bangalore.org/2004/schedules/talkdetails.php?talkcode=C0300032

马亨德拉说:

Zope提供了许多功能和用于处理数字内容的出色架构.但是,Zope存在问题,因为存储的数据会缩放到Giga/Tera字节的顺序.Zope + Plone的组合非常适合作为门户管理系统,但如果尝试使用它来存储数字资产,性能可能下降.

所以他建议使用DSpace来管理数字资产而不是Plone.但也许它今天已经改变了.现在使用Plone作为数字资产管理器的限制是什么?

scalability plone

3
推荐指数
1
解决办法
284
查看次数

更改Zope模板中的属性

我正在为包含文件的对象编写模板.我正在按照主题构建块说明进行操作.

<a tal:attributes="href item/id">foo</a>
Run Code Online (Sandbox Code Playgroud)

这使得liks下载文件,如下所示:

<a href="foo">foo</a>
Run Code Online (Sandbox Code Playgroud)

但我希望该链接指向文件的视图页面,显示其标题,描述以及允许下载它.所以我想获得下一个输出:

<a href="foo/view">foo</a>
Run Code Online (Sandbox Code Playgroud)

如何生成该属性?

zope plone zpt template-tal

3
推荐指数
1
解决办法
83
查看次数

Dexterity中的多值属性

借助Dexterity,我可以创建一个具有电子邮件属性的联系人卡片模型.

class IContact(form.Schema):
    email = schema.TextLine(
            title=_(u"Email"),
            description=_(u"Contact email"),
        )
Run Code Online (Sandbox Code Playgroud)

如何修改此架构以为每个联系人提供多封电子邮件?我知道可以将电子邮件添加为嵌套内容类型.因此,我的问题是Dexterity是否支持内容类型中的多值属性.

plone dexterity

2
推荐指数
1
解决办法
164
查看次数

有没有办法在调试控制台中删除plone站点?

我想使用调试控制台从Zope实例中删除Plone站点.下一个代码就是它的例子.

$ bin/instance debug
>>> del(app.plone)
Run Code Online (Sandbox Code Playgroud)

我认为也许存在类似的功能.我怎样才能做到这一点?

zope plone

2
推荐指数
1
解决办法
354
查看次数

如何设置仅使用OpenID的Plone站点

我有一个使用OpenId模块的Plone 4.1站点.当用户单击登录时,它会打开使用OpenId登录的对话框,但也使用经典的登录名/密码.我不是一个只使用OpenId的网站.是否有一种简单的方法来配置网站来执行此操作?

openid plone

1
推荐指数
1
解决办法
284
查看次数

如何使用Dexterity类型的属性作为url部分

我正在使用Dexterity编写类似这样的内容类型:

class IArticle(form.Schema):

    title = schema.TextLine(
        title=_(u"Name"),
    )

    code = schema.TextLine(
        title=_(u"Code"),
    )
Run Code Online (Sandbox Code Playgroud)

如果某些用户创建了一个新文章,将"foo"设置为标题,将"bar"设置为代码,则标题将为"foo",文章URL将为".../foo".如何才能将内容网址设为".../bar"?

plone dexterity

1
推荐指数
1
解决办法
253
查看次数

标签 统计

plone ×12

dexterity ×4

zope ×2

archetypes ×1

buildout ×1

openid ×1

python ×1

ruby ×1

scalability ×1

template-tal ×1

zpt ×1