Plone 如何将内容发布的默认日期和时间设置为当前日期和时间?

Plone 如何将内容发布的默认日期和时间设置为当前日期和时间?,plone,plone-3.x,Plone,Plone 3.x,在这个链接中,它描述了如何使用新的模式属性来实现这一点。我可以使用此方法更新系统中的所有无数内容类型,但我更喜欢工作强度稍低的内容,因为如果我必须更改无数内容类型,则很容易出错。我可以将“已发布”设置为默认工作流状态。这应该可以解决这个问题。也许是js soln?有一个onload事件,该事件按id(或其中一个公共属性)查找datetime小部件,然后根据浏览器时间重置时间。您可以根据是否已填充了未预填充的必需属性(即标题)来筛选“新建”与“编辑”您可以使用archetypes.SchemaXt

在这个链接中,它描述了如何使用新的模式属性来实现这一点。我可以使用此方法更新系统中的所有无数内容类型,但我更喜欢工作强度稍低的内容,因为如果我必须更改无数内容类型,则很容易出错。

我可以将“已发布”设置为默认工作流状态。这应该可以解决这个问题。

也许是js soln?有一个onload事件,该事件按id(或其中一个公共属性)查找datetime小部件,然后根据浏览器时间重置时间。您可以根据是否已填充了未预填充的必需属性(即标题)来筛选“新建”与“编辑”

您可以使用archetypes.SchemaXtender使用适配器修改这些类型:

在configure.zcml中

<adapter
    factory=".adapters.DefaultDateModifier"
    name="my-package-defaultdate"
    />

不幸的是,这种解决方案是不可接受的。我的任务是将新内容项的默认发布日期设置为当前日期。不创建工作流程更改。那么您的意思是使用一点JavaScript将默认的空生效日期字段设置为当前日期?我来试试。这个方法非常有效!完全基于视图,所以我不必修改无数的内容类型!对于Plone3.x中运行的许多(50+以上)Plone2.5内容类型,这将如何工作?我需要修改所有的内容类型吗?如果所有类型都有一个公共接口或子类(例如ATCTMixin),那么您只需要扩展一次。然后所有类型都可以免费获得添加。您还可以通过zcml使用接口标记所有这些类型(如果需要的话)。然后通过该接口进行扩展。这将是一个很好的修复,但我们没有一个通用的接口或子类。
class DefaultDateModifier(object):
    """DefaultDateModifier adapter
    """
    # XXX optionally adapt your content items iface here
    adapts(ATCTMixin)
    implements(ISchemaModifier)

    def fiddle(self, schema):
        # TODO switch out the default_method here...
        pass

    def __init__(self, context):
        self.context = context