小编hve*_*rde的帖子

WAI-ARIA旋转木马的角色(又名滑块,幻灯片,画廊)

什么WAI-ARIA的角色应该用于旋转木马,类似下面?

USA.gov轮播示例

笔记:

  • 我熟悉滑块角色,但这指的是不同类型的小部件.
  • 这个例子来自USA.gov,我在使用中看到的唯一一个与旋转木马有关的咏叹调角色是aria-live在单个幻灯片上.

javascript html5 accessibility wai-aria

15
推荐指数
4
解决办法
6335
查看次数

如何在Plone中覆盖搜索结果排序顺序

Plone搜索功能在plone.app.search包中实现; 请求中包含的sort_on变量用于控制搜索模板上结果的排序顺序.

默认情况下,当此变量没有值时,Plone使用相关性作为排序顺序.

迄今为止最简单的更改方式是什么(最新的第一个)

search overriding plone

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

Plone控制面板的最佳实践

我正在开发一个包含使用plone.app.registry创建的控制面板的.我按照Timo的教程,但在尝试添加额外的记录时,我面临着臭名昭着的KeyError:一个没有记录的字段.

所以我对最佳实践有几个问题:

我的第一个问题是:一个包必须在卸载时删除它的注册表?

我在我的包的registry.xml中使用了这个:

<registry>
  <records interface="collective.nitf.controlpanel.INITFSettings" />
</registry>
Run Code Online (Sandbox Code Playgroud)

这在metadata.xml上:

<metadata>
  <version>1</version>
  <dependencies>
    <dependency>profile-plone.app.registry:default</dependency>
  </dependencies>
</metadata>
Run Code Online (Sandbox Code Playgroud)

但是在卸载配置文件中添加delete ="true"似乎不起作用.除了我在ZMI手动运行步骤之外,我还尝试通过名称列出所有记录而没有运气.

所以,我的第二个问题是:如何在卸载时优雅地删除控制面板记录?

要测试记录是否在注册表中,我执行以下操作:

def setUp(self):
    self.portal = self.layer['portal']
    setRoles(self.portal, TEST_USER_ID, ['Manager'])
    # Set up the NITF settings registry
    self.registry = Registry()
    self.registry.registerInterface(INITFSettings)

def test_record_sections(self):
    # Test that the sections record is in the control panel
    record_sections = self.registry.records[
        'collective.nitf.controlpanel.INITFSettings.sections']
    self.failUnless('sections' in INITFSettings)
    self.assertEquals(record_sections.value, set([]))
Run Code Online (Sandbox Code Playgroud)

第三个问题可能是如何测试记录是否在无意中被删除.

还有其他推荐吗?

registry plone uninstall

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

允许匿名用户添加Dexterity对象

我有一个基于Dexterity的容器,它容纳在一个基于敏捷的项目中.我需要让匿名用户在容器中添加此类型的对象.

我已经创建了一个rolemap.xml包含以下内容的文件:

<?xml version="1.0"?>
<rolemap>
  <permissions>
    <permission name="my.package: Add My Type" acquire="True">
      <role name="Anonymous"/>
    </permission>
  </permissions>
</rolemap>
Run Code Online (Sandbox Code Playgroud)

我宣布许可configure.zcml:

<permission
    id="my.package.AddMyType"
    title="my.package: Add My Type"
    />
Run Code Online (Sandbox Code Playgroud)

最后我添加了一个像这样的自定义添加视图:

class MyAddView(dexterity.AddForm):
    grok.name('MyType')
    grok.require('my.package.AddMyType')
Run Code Online (Sandbox Code Playgroud)

该表单已经显示给匿名用户但是,当我按下保存按钮时,我被重定向到登录表单.

此外,登录用户也可以看到表单,这应该不会发生.

还有什么我需要做的?

plone dexterity

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

ZODB临时存储的使用

plone.recipe.zope2instance中,有一个名为的选项zodb-temporary-storage,用于替换Zope的默认临时存储定义。

什么时候推荐?有哪些优点和缺点?

zope plone zodb

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

错误:无法找到Oracle软件安装

我正在研究Plone.

序幕

我安装了:

oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm oracle-instantclient12.1-sqlplus-12.1.0.1. 0-1.x86_64.rpm

还有cx_Oracle.我测试了安装,一切正常:数据库连接成功.

echo $ORACLE_HOME
/usr/lib/oracle/12.1/client64
echo $TNS_ADMIN
/usr/lib/oracle/12.1/client64/admin
echo $LD_LIBRARY_PATH
/usr/lib/oracle/12.1/client64/lib
Run Code Online (Sandbox Code Playgroud)

问题

我编辑了buildout.cfg如下:

[...]
eggs =
    Plone
    Pillow
    collective.documentviewer
    Products.OpenXml
    Products.AROfficeTransforms
    tus
    wildcard.foldercontents==2.0a7
    **cx_Oracle**
[...]
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Unused options for buildout: 'environment-vars'.
Installing instance.
Getting distribution for 'cx-Oracle'.
error: cannot locate an Oracle software installation
An error occurred when trying to install cx-Oracle 5.1.3. Look above this message for any errors that were output by easy_install.
While:
  Installing instance.
  Getting distribution for 'cx-Oracle'.
Error: Couldn't …
Run Code Online (Sandbox Code Playgroud)

python oracle cx-oracle plone buildout

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

如何在 Robot 框架中获取当前 URL?

单击“应用”链接时,它会在 Robot 框架中打开一个新浏览器。如何获取该页面的当前网址?这是代码:

Open Server     
Set Browser Implicit Wait   60  
Go To   ${server}/jobs  

Element Should Be Visible   xpath=.//*[@id='txtjobsearch']  

Input Text  xpath=.//*[@id='txtjobsearch']  ${job Title search}

Element Should Contain  xpath=(.//*[@class='clearfix tit-job']/div)[1]  ${Job title}

Element Should Be Visible   xpath=(.//*[@class='btn btn-sm btn-primary btnApply'])[1]   

Click Element   xpath=(.//*[@class='btn btn-sm btn-primary btnApply'])[1]
Run Code Online (Sandbox Code Playgroud)

在这一行之后,它会打开一个新窗口。如何获取新打开页面的 url 并执行输入文本等操作?

Set Browser Implicit Wait   20  

Wait Until Page Contains Element    xpath=.//*[@class='text-primary']   
Run Code Online (Sandbox Code Playgroud)

robotframework selenium-webdriver

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

避免创建Plone的默认内容

我正在一个项目中创建一个Plone 4.3站点,该站点安装了plone.app.contenttypes作为默认内容类型.创建网站后,我会看到所有默认内容(首页和一些文件夹和集合)仍然是基于Archetypes的内容.

我想避免创建该内容,我想知道是否有更好的方法来摆脱它在后安装步骤中手动擦除它.

我默认需要一个空站点.

plone genericsetup

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

Zope中的Python脚本在外部方法中找不到函数名

我在Plone中获取Python脚本以查找外部方法时遇到问题.鉴于三个不同的对象:

  1. 称为CloneList(Id和函数名称)的外部方法
  2. 使用此成功引用它的DTML文档

    <dtml-var "CloneList(PAGE,ORG,STATUS,CGAP_DATA_HOME,BASE)">
    
    Run Code Online (Sandbox Code Playgroud)
  3. 一个Python脚本,通过这个引用外部方法......

    return CloneList(PAGE,ORG,STATUS,CGAP_DATA_HOME,BASE)
    
    Run Code Online (Sandbox Code Playgroud)

DTML文档工作正常但Python脚本由于某种原因抛出:

Error Value: global name 'CloneList' is not defined
Run Code Online (Sandbox Code Playgroud)

为什么DTML模板可以看到CloneList,但Python脚本不能?

python zope plone dtml

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

如何以编程方式注册浏览器层

我知道可以使用GenericSetup和一个XML文件注册浏览器层,但我需要以编程方式进行注册.

这可能吗?

plone genericsetup

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

Plone文件上传中使用的主要空间在哪里?

在plone中我只上传了800 GB的数据(主要是pdfs),它已经占用了2 TB的硬盘空间.空间到底在哪里?我正在使用collective.documentviewer及其默认设置.和plone 4.3.documentviewer存储的文件是否已更改为各种图像大小,即缩略图,大图像等,并存储在blobstorage文件夹中?

plone zodb plone-4.x

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

修改Plone翻译内容

我假设Plone具有存储在Data.fs文件(Zope DB?)中的基本"系统"消息.这意味着,例如,当您退出时(英文)显示的文字显示"您现在已退出".它存储在Zope DB中的某个位置.

有没有办法改变这些消息的内容?我们有一个俄语翻译的网站,我们想修改"你现在已经注销"的消息 - 但我无法在ZMI或文件系统中的任何地方找到它.

如果我的假设是正确的,并且它们存储在Zope DB中,是否有一个很好的实用程序来浏览/修改这些内容?

plone internationalization

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