跳转到主要内容

Plone微数据支持的核包

项目描述

简介

本产品旨在为您的Plone内容添加微数据支持。

如何使用

本包仅提供原始支持,本身并不十分有用。它旨在由希望为Plone提供微数据支持的第三方项目扩展。

以下所有指令的一个完整实现是collective.microdata.event

微数据词汇表

任何想要提供微数据信息的内类型都需要为IMicrodataVocabulary接口提供一个适配器。此接口仅限于一个信息:一个指向微数据词汇的URI

微数据词汇在HTML 5规范之外标准化,因此可能存在不同的词汇家族。您也可以创建自己的。

schema.org实现

如今,最有前途的微数据实现是在schema.org中定义的,因此本包支持它。这是通过提供最通用的类型定义来完成的:Thing类型。

这会自动应用于所有Plone内容类型和目录对象(对于目录:将在您的目录中添加一个新的目录元数据microdata_itemtype,其中保存找到的最具体的微数据词汇URL)。

这是通过为ISchemaOrgThing接口(它扩展IMicrodataVocabulary)提供适配器来完成的。

再次强调:知道所有你的Plone内容类型都是“事物”并不很有趣,也不是真正的进步。

如何扩展

从内容

要从内容类型中获取微数据信息,你的产品必须为其自己的实现提供 IMicrodataVocabulary

<adapter for="your.products.content.IType"
         provides="collective.microdata.core.interfaces.IMicrodataVocabulary"
         factory=".adapter.YourTypeMicrodataProvider" />

然后你需要提供适配器

class YourTypeMicrodataProvider(object):
implements(IYourMicrodataVocabulary)

def __init__(self, content):
    self.microdata_vocabulary = 'http://your.microdata.uri'
    # now get data from the content
    self.microdata_data1 = ...

然后你的内容视图必须获取你定义的微数据适配器

class YourTypeView(BrowserView):

    ...

    def microdata(self):
        return IMicrodataVocabulary(self.context)

最后,你的视图模板必须使用微数据信息

...
<article metal:fill-slot="main"
         tal:define="microdata view/microdata"
         itemscope="itemscope"
         tal:attributes="itemtype microdata/microdata_vocabulary">
...

从目录

门户目录的 microdata_itemtype 列表将自动存储内容微数据词汇表URL。默认值是“事物”URL(http://schema.org/Thing),但一旦你提供了更具体的适配器,这个URL将被新的URL所取代。

有一个适配器可以从所有Plone内容类型的目录大脑中获取原始的 Thing 微数据,但你的第三方内容类型也必须提供更具体的适配器

<adapter for="Products.ZCatalog.interfaces.ICatalogBrain"
         provides="collective.microdata.core.interfaces.IMicrodataVocabulary"
         factory=".adapter.YourTypeMicrodataBrainProvider"
         name="http://your.microdata.uri" />

然后你需要提供适配器

class YourTypeMicrodataBrainProvider(object):
implements(IYourMicrodataVocabulary)

def __init__(self, brain):
    self.microdata_vocabulary = 'http://your.microdata.uri'
    # now get data from the cataloged content
    self.microdata_data1 = ...

支持文件夹内容列表视图

如果你想也在文件夹内容视图中提供微数据信息(在单个页面上显示多个微数据对象),你可能想安装 collective.microdata.contentlisting

查看其文档以获取有关如何在你的产品中使用此信息的更多信息。

测试您的微数据

此产品还包括一个名为 Microdata Tool 的JavaScript测试微数据工具(经过修改,仅用于修复一些糟糕的Sunburst CSS规则)。

在测试你的网站时启用它,只需从你的 site_setup 工具运行 testing 通用设置配置文件。

这将使JavaScript测试器在每一页上都可用。

提示:持续时间检查器似乎工作不正常。

结束语

提供微数据并不能保证搜索引擎会使用它。

变更日志

0.1 (2012-09-08)

  • 初始发布

项目详情


下载文件

下载适合你平台文件的文件。如果你不确定选择哪个,了解更多关于 安装包 的信息。

源分布

collective.microdata.core-0.1.zip (33.1 kB 查看哈希)

上传时间

由以下支持