在Eloquent JavaScript第4章中,通过创建对象并将值存储为属性名称,将任意值(例如,true)指定为属性值来创建一组值.要检查该值是否已包含在集合中,请使用in运算符:
var set = {};
if (!'Tom' in set) {
set.Tom = true;
}
Run Code Online (Sandbox Code Playgroud)
这是惯用的JavaScript吗?不会使用阵列更好吗?
var set = [];
if (!'Tom' in set) {
set.push = 'Tom';
}
Run Code Online (Sandbox Code Playgroud) 如何覆盖嵌套的portal_skins文件夹中的文件?
如果要覆盖单个文件,则默认行为似乎是需要复制整个文件夹结构.这是一场维护噩梦.
例如,如何覆盖文件:
Producs.TinyMCE/skins/tinymce/plugins/table/js/table.js
Run Code Online (Sandbox Code Playgroud)
...无需为整个Products.TinyMCE创建副本皮肤代码库?
我有一个非常长的portlet编辑屏幕,所以我想使用fieldsets对其字段进行分组(然后可能将它们布局为本机表单选项卡,就像在内容的编辑视图中使用的那些).
zope.formlib可以实现吗?
考虑到我有一个vanilla ZopeSkel plone3_portlet formlib生成的包,我需要做些什么修改?即:
我可以一直使用它,包括five.grok和plone.directives.form吗?
我正在尝试修复为自定义portlet管理器分配的日历portlet的月份导航.从特定的浏览器页面模板调用此管理器:
<div id="calendar"
tal:content="structure provider:my.custom.portletmanager" />
Run Code Online (Sandbox Code Playgroud)
不幸的是,管理器没有为我呈现带有哈希的包装器,所以我试图手动将kssattr-portlethash css类附加到上面的<div>标签,以使月导航工作(refreshPortlet()需要它).我试过这个:
from plone.portlets.utils import hashPortletInfo
class SectionHomeView(BrowserView):
"""SectionHome browser view
"""
implements(ISectionHomeView)
def __init__(self, context, request):
self.context = context
self.request = request
@property
def getHash(self):
info = dict(manager = 'my.custom.portletmanager',
category = 'context',
key = '/my-section',
name = 'mycalendar',
)
return hashPortletInfo(info)
Run Code Online (Sandbox Code Playgroud)
使用此代码我得到一个哈希,但日历导航仍然无法正常工作.如何才能访问portlet信息,例如经理,类别,密钥和名称,以便正确计算?
我希望我有来自plone.app.portlets.browser.templates的column.pt及其类ColumnPortletManagerRenderer(portlets/manager.py)所描述的行为,但我不知道如何让我的自定义管理器提供那些(即:like默认经理做).
我正在为我的视图类使用DisplayForm并成功渲染NamedBlobImage字段:
<span tal:replace="structure view/w/image/render" />
Run Code Online (Sandbox Code Playgroud)
如何调整ZPT以显示不同的图像大小,如'image_mini'或plone.app.imaging中的任何其他图像?
我正在开发一个plone4网站,每个用户都有一个可排序的项目库存.ATFolder的folder_content视图非常适合这种情况.唯一的问题是,而不是像这样的URL:
/site/user/inventory
Run Code Online (Sandbox Code Playgroud)
或这个
/site/inventory/user
Run Code Online (Sandbox Code Playgroud)
网址应该是:
/site/inventory
Run Code Online (Sandbox Code Playgroud)
我想过几个解决方案,但每个人都有自己的疑虑.
你会怎么做?
谢谢.
我刚刚注意到,默认情况下,http://host/yourplonesite/folder/folder_contents它将始终显示Plone文件夹的内容.
是否可以隐藏folder/folder_contents未经身份验证的用户?(Options -Indexes在httpd中思考)
谢谢!
我有一个带有pas.plugins.sqlalchemy的buildout实例.它出现在安装列表中,但在安装时会导致错误.
这是ZCML定义:
<configure xmlns="http://namespaces.zope.org/zope" xmlns:db="http://namespaces.zope.org/db">
<include package="z3c.saconfig" file="meta.zcml" />
<db:engine xmlns="http://namespaces.zope.org/db" name="pas" url="mysql://webadmin:password@rcs-mysql-dev/estep" />
<db:session xmlns="http://namespaces.zope.org/db" name="pas.plugins.sqlalchemy" engine="pas" />
</configure>
Run Code Online (Sandbox Code Playgroud)
回溯是:
Traceback (innermost last):
Module ZPublisher.Publish, line 127, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 47, in call_object
Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 575, in installProducts
Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 512, in installProduct
- __traceback_info__: ('pas.plugins.sqlalchemy',)
Module Products.GenericSetup.tool, line 330, in runAllImportStepsFromProfile
- __traceback_info__: profile-pas.plugins.sqlalchemy:install
Module Products.GenericSetup.tool, line 1085, in _runImportStepsFromContext
Module Products.GenericSetup.tool, line 999, in _doRunImportStep
- __traceback_info__: …Run Code Online (Sandbox Code Playgroud) Plone 3.3.x
在一台服务器上,self.request.post.values()是unicode(正确).在另一台服务器上,它们是字节串.
到底是怎么回事?
Zope怪物的深度在哪里决定?为什么他们不同?为什么我在30岁之前失去所有头发?