我在TinyMCE和Plone 5上遇到了一个问题,但我不确定问题的核心是Plone CMS还是TinyMCE.
我在TinyMCE控制面板配置中添加自定义样式("TinyMCE设置" - >"内联样式").
新配置是这样的:
Bold|bold|bold
Italic|italic|italic
Underline|underline|underline
Strikethrough|strikethrough|strikethrough
Superscript|superscript|superscript
Subscript|subscript|subscript
Code|code|code
Custom style|customClass|custom-class
Run Code Online (Sandbox Code Playgroud)
然后TinyMCE编辑器正确呈现菜单:
但新闻条目是"禁用",点击它将无能为力.检查TinyMCE菜单的标记我发现:
<div aria-checked="false" aria-disabled="true" role="menuitem" id="mceu_155" class="mce-menu-item mce-menu-item-preview mce-stack-layout-item mce-last mce-disabled" tabindex="-1">
<i class="mce-ico mce-i-custom-class"></i>
<span id="mceu_155-text" class="mce-text">Custom style</span>
</div>
Run Code Online (Sandbox Code Playgroud)
所以:TinyMCE正在禁用它.问题似乎与我正在使用的课程有关,而不是我给的名字或缺少的图标.如果我使用另一种风格的副本,比如...
...
Custom style|italic|custom-class
Run Code Online (Sandbox Code Playgroud)
...有用.同样如果我使用另一个知道Plone类就像......
...
Custom style|discreet|custom-class
Run Code Online (Sandbox Code Playgroud)
......但是某些其他课程是不允许的.
这与TinyMCE内部相关吗?TinyMCE是否正在"测试"该类以启用/禁用它们?或者这个问题与Plone有关吗?
我和Zope实用程序使用一种执行网络进程的方法.由于该结果有效一段时间,我正在使用plone.memoize.ram缓存结果.
MyClass(object):
@cache(cache_key)
def do_auth(self, adapter, data):
# performing expensive network process here
Run Code Online (Sandbox Code Playgroud)
...和缓存功能:
def cache_key(method, utility, data):
return time() // 60 * 60))
Run Code Online (Sandbox Code Playgroud)
但是我想阻止在do_auth调用返回空结果(或引发网络错误)时发生memoization .
看看plone.memoize代码,似乎我需要raise ram.DontCache()异常,但在这之前我需要一种方法来调查旧的缓存值.
如何从缓存存储中获取缓存数据?
我在dexterity内容类型中有一些代码,如下所示:
form.fieldset(
'transitionsLog',
label=_(u"Transitions Log"),
fields=['t_log']
)
form.mode(t_log='hidden')
t_log = schema.TextLine(
title=_(u'Transitions log'),
)
Run Code Online (Sandbox Code Playgroud)
在添加/编辑表单中,字段t_log隐藏但字段集选项卡"转换日志"仍显示在表单中,如上所示...

我不知道在添加/编辑表单中隐藏"过渡日志"选项卡,
我能怎么做 ?
在 webpack 环境中,我有一个定义变量的 ES6 模块:
let my_var1 = 0
// other vars follow
Run Code Online (Sandbox Code Playgroud)
然后在同一个模块中,我为这个变量设置了一个 setter 函数,但我想按如下方式构建它:
export const set_var(name, value) => {
// set "value" as new value for "name" variable of this module
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是通过名称引用模块内部的变量,因此在外部调用类似set_var('my_var1', 5)
有没有办法访问“模块”对象?类似于 window 对象,但用于模块。
我正在使用Python Dexterity Type编写产品,我有,Title并且Description,这些字段来自一个行为plone.app.dexterity.behaviors.metadata.IDublinCore,但我需要用我的字段重新排序这些字段.
例:
我的领域:文件,拼贴画,年龄,传记
IDublinCore:标题,描述
顺序:拼贴,标题,文档,年龄,传记,描述
我是怎么做到的
场景如下:
他们只获得Authenticated访问权限以查看一些区域.如何禁止某些用户组的工具栏?或者最好的方法是什么?
虽然您可以使用以下划线开头的id来生成代码内容,但是" _foo"似乎您无法遍历具有此特殊ID的项目.每次尝试使用浏览器访问以此方式命名的内容都会导致NotFound错误.这两种方法都不喜欢__bobotraverse__或被__getitem__调用,比如很早就检查了这个限制.
此限制如何工作以及如何更改?我可以访问ID中带有前缀下划线的子对象吗?
在顶部导航栏中有一个名为"用户"的按钮.我想隐藏那些没有登录到网站的人的按钮,以便它实际上不会出现在菜单中.有什么办法可以做到吗?
我正在使用Plone 4.
在Zope和Plone上,你可以注册这样的权限:
<permission
id="choosen.id.for.your.permission"
title="Old Zope 2 permission, shown in ZMI"
/>
Run Code Online (Sandbox Code Playgroud)
当您知道权限的ID时,从Python获取权限标题的方法是什么?
我的意思是:
>>> something_magic.get('choosen.id.for.your.permission')
'Old Zope 2 permission, shown in ZMI'
Run Code Online (Sandbox Code Playgroud) 我想要一个站点设置中的新链接.如何在站点设置(@@plone_control_panel)中添加外部链接?
运行Plone 5.0.0
1.注册管理机构许可问题
我正在做类似以下的检索:
registry = getUtility(IRegistry)
building_hours = registry['polklibrary.hours.cache']
return building_hours
Run Code Online (Sandbox Code Playgroud)
登录时效果很好,但对于匿名用户,它返回None类型.不会抛出错误.我有点失落为什么?可能是因为#2.
2.重新启动plone后,注册表中的数据丢失了.
#1中的小时类型是Dict类型(在注册表中允许).但是在重启时丢失了.
我没有运气检查所有这些资源:https : //pypi.python.org/pypi/plone.registry https://github.com/plone/plone.app.registry
(顺便说一下,注册表真棒!)
编辑:
我有一个灵巧的自定义类型(模式驱动)没有标题或描述字段.
class IAnimal(model.Schema):
name = schema.TextLine(title=_(u"Name"),required=True,)
specie = schema.Choice(title=_(u"Specie"),vocabulary=animalSpecies)
weight = schema.TextLine(title=_(u"Weight"))
(etc)
Run Code Online (Sandbox Code Playgroud)
我真的不需要我的模型上的标题字段,但是当我创建一些内容时,文件夹列表显示:
— by admin — last modified Oct 17, 2015 02:27 PM
Run Code Online (Sandbox Code Playgroud)
我用mr.bob创建了这个产品,并没有覆盖任何形式.这可以通过覆盖任何形式,自定义行为(如plone.app.content.interfaces.INameFromTitle)或什么来实现?
我只想将"名称"字段作为"标题"而不更改"标题"的"名称",即使我必须隐藏模型中的"标题"字段.
看一些旧的原型产品,它是一种方法,如:
def at_post_create_script(self):
title = self.name
plone_utils = getToolByName(self, 'plone_utils', None)
new_id = plone_utils.normalizeString(title)
self.setTitle(new_id)
Run Code Online (Sandbox Code Playgroud) plone ×11
zope ×4
dexterity ×3
plone-4.x ×2
plone-5.x ×2
python ×2
ecmascript-6 ×1
fieldset ×1
javascript ×1
memoization ×1
permissions ×1
tinymce ×1
webpack ×1
z3c.form ×1
zope3 ×1