小编And*_*ord的帖子

将collective.z3cform.datagridfield与Dexterity一起使用

我有点像Plone的新手,我试图将DataGridField与Dexterity一起使用.目标是使用Plone 4.1在我们的Intranet上发布可用性研究的结果.我已经创建了一个自定义文档类型(称为交互),我想在其中一个字段中使用datagrid来建模一个包含两列显示结果摘要的表.

根据collective.z3cform.datagridfield中列出的说明,我已成功将collective.z3cform.datagrid egg添加到我的buildout中的egg列表中,我可以看到新的Add-on在我的附加组件列表中显示为Active对于我的网站.我已经创建了一个简单的模式Python模块,它描述了一个文档,显示了我正在记录的可用性研究的结果:

from five import grok
from zope import schema
from zope import interface

from plone.directives import form

from plonetheme.mytheme import InteractionMessageFactory as _

from plone.app.textfield import RichText

from z3c.form import field, button
from Products.CMFCore.interfaces import IFolderish

from collective.z3cform.datagridfield import DataGridFieldFactory, DictRow

class IFinding(interface.Interface):
    summary = schema.TextLine(title=_(u"Summary"))
    percentage = schema.TextLine(title=_(u"Percentage"))

class IInteraction(form.Schema):

    findings = schema.List(
        title=_(u"Overview of findings"),
        required=False,
        value_type=DictRow(
            title=_(u"Finding"),
            schema=IFinding
            )
        )

class EditForm(form.EditForm):
    grok.context(IInteraction)
    grok.require('zope2.View')
    fields = field.Fields(IInteraction)

    fields['findings'].widgetFactory = DataGridFieldFactory
Run Code Online (Sandbox Code Playgroud)

我通过在profiles/default/types.xml中添加一行来注册我的新交互内容类型:

<?xml …
Run Code Online (Sandbox Code Playgroud)

python plone dexterity z3c.form

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

如何为SexchableText添加Dexterity内容类型的关键字?

我有一个运行Plone 4.1的站点,它具有使用Dexterity 1.1开发的自定义内容类型.我的内容作者可以使用"分类"选项卡向基本Plone页面添加关键字,如果用户使用其中一个关键字进行搜索,则用户可以成功找到这些页面.

我的内容作者也使用我开发的Dexterity自定义内容类型制作了页面.这是使用基于Python的文件系统架构定义的.如果用户在敏捷内容类型的标题和描述中搜索术语,他们将在搜索结果中返回敏捷页面.如果他们在关键字字段中使用查询字词进行搜索,则无法获得任何结果.但是,在高级搜索表单下,如果他们突出显示标签列表中的相应标签,他们可以找到Dexterity页面.

我使用ZMI中的portal_catalog工具检查了搜索索引的内容.似乎关键字被添加到SearchableText字段中以获取基本内容类型(如Page),但对于基于Dexterity的自定义内容类型,它们不是.

我是否需要编写其他代码以将关键字字段的内容插入SearchableText索引?

plone dexterity

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

Android - Lollipop Screen固定是否适用于同一个应用中的多个活动?

我正在尝试将自助服务终端功能添加到Android应用程序中.我希望利用Lollipop的屏幕固定功能,一旦启动就自动固定应用程序.应用程序UI已经构建了几个不同的活动.我在入口点活动startLockTask()onCreate()方法中调用一次,但是一旦我导航到应用程序中的另一个活动,它就会取消.

我需要startLockTask()在每次活动中打电话onCreate()/onResume()吗?这将产生糟糕的用户体验,因为每次我在应用程序中从一个活动移动到另一个活动时,将出现"屏幕固定"烤面包.

我正在开发运行Android 5.0.2的Moto E(第二代)上的应用程序.

android android-5.0-lollipop android-screen-pinning

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

使用robolectric v3.0测试WiFi连接时,ShadowNetworkInfo始终为TYPE_MOBILE

我正在尝试使用Robolectric(3.0 RC2)为Android应用程序中的SyncAdapter实现编写一些离线测试.该应用程序将在将使用wifi连接的工厂中的无SIM卡手机上运行.所以我希望能够针对我的wifi连接检查代码编写测试.

我已经编写了一个简单的测试,基于我在网上找到的示例来影响ConnectionManager,以模拟在wifi上.但是,尽管将NetworkInfo设置为TYPE_WIFI,但连接管理器始终返回TYPE_MOBILE的NetworkInfo类型.所以我的testSimple的最终断言失败了.我错过了一步吗?

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

import test.app.BuildConfig;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowConnectivityManager;
import org.robolectric.shadows.ShadowNetworkInfo;

import java.io.IOException;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;



@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, manifest = "/src/main/AndroidManifest.xml")
public class DownloadSyncAdapterTest {

    private ConnectivityManager connectivityManager;
    private ShadowConnectivityManager shadowConnectivityManager;
    private ShadowNetworkInfo shadowOfActiveNetworkInfo;

    @Before
    public void setUp() throws IOException {
        connectivityManager = getConnectivityManager();
        shadowConnectivityManager = Shadows.shadowOf(connectivityManager);
        shadowOfActiveNetworkInfo = Shadows.shadowOf(connectivityManager.getActiveNetworkInfo());

    }

    @Test
    public void testSimple() {

        NetworkInfo …
Run Code Online (Sandbox Code Playgroud)

android robolectric

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