在Joomla中使用Microdata?
几个月前,我写了一篇关于我的Google Summer of Code项目的文章,该项目旨在在Joomla CMS中添加microdata语义。现在让我们更深入地看看这个项目的状态,看看都做了些什么。
您可以在Joomla杂志中找到我之前关于我的Google Summer of Code项目的文章: 改进Joomla!前端语义与可访问性
如果您不熟悉microdata,请观看这个快速的一分钟视频: https://www.youtube.com/watch?v=A-kX0Aut-18
项目状态
这类项目涉及大量的对网络标准的调研和持续的测试以保持有效的HTML。microdata库还需要灵活、快速、轻量且易于开发者使用。因此,我必须承认,为了保持上述列出的属性,库的设计架构已经改变过多次。
因此,经过一个月的研究和测试,库最终被合并到Joomla CMS的主分支中,您将在下一个Joomla 3.2版本中能够使用它。如果您是开发者,您可以使用这个库在您的扩展中实现microdata语义。
如果您想更深入地了解,您可以在这里找到库: libraries/joomla/microdata
如何使用JMicrodata库?
要使用新的microdata语义库,您需要在您的扩展中创建库的一个实例。
示例
$microdata = new JMicrodata('Article');
假设我们有以下字符串
Written by Alexandru Pruteanu
并且我们需要添加一个作者属性
echo 'Written by' . $microdata->content(“Alexandru Pruteanu”)->property('author')->fallback('Person', 'name')->display();
库将显示
Written by <span itemprop='author' itemscope itemtype='https://schema.org/Person'> <span itemprop='name'> Alexandru Pruteanu </span> </span>
如果当前的作用域不是'文章',而是例如'产品'作用域,并且当前作用域没有作者属性会发生什么?
它将回退到
<span itemscope itemtype='https://schema.org/Person'> <span itemprop='name'> Alexandru Pruteanu </span> </span>
如果我们想禁用microdata语义输出?
您可以简单地禁用microdata输出
$microdata->enable(false);
库将显示以下内容
Written by Alexandru Pruteanu
有关进一步文档,请参阅此Gist: https://gist.github.com/PAlexcom/6339949
或者直接联系我,我肯定会和你谈谈 ;)
在 Joomla CMS 中如何实现呢?
这只是需要接受的一个建议,以下展示的内容在官方 Joomla CMS 版本中尚未实现。
在我告诉你这个信息的同时,我还在处理 CMS 的实现工作,已经有了一个 pull request,但由于涉及 CMS 中的大量更改,还需要更多的测试。
以下是一个已经实现了微数据语义的在线网站:带有微数据语义的 Joomla 在线网站
以下是 Google Rich snippets 工具可以提取的内容
点击这里进行实时测试, (如果不起作用,请刷新或按 '预览')
那么在 Joomla CMS 管理区域中是如何实现的呢?
您可以从全局配置中启用/禁用微数据语义。
示例:管理 → 全局配置 → 网站(选项卡)→ SEO 设置
您可以从文章编辑选项中启用/禁用微数据语义输出,并选择范围。
当前有哪些问题?
目前,最大的问题是您不能从 微数据 切换到 RDFA 或 微格式,甚至不能更改 词汇表。因此,我们需要找到一种方法来实现这一点。
在撰写本文时,存在一个问题,即需要有一个 JMicrodata 全局实例,否则一切都将崩溃。
结论
对我而言,与 Joomla 团队/开发者合作并成为 Google Summer of Code 项目的一部分是一种极好且有趣的经验。我学到了很多东西,特别是如何维护开源项目以及来自世界各地的人们如何合作。但即使 GSoC 项目已经结束,我也希望继续在该项目上工作并添加新功能。如果您在使用库时遇到任何问题,有任何创新想法或想要帮助,请告诉我,我是 Alexandru Pruteanu,我一定会很高兴与您交谈 ;)
一些发表在 Joomla 社区杂志上的文章代表了作者对特定主题的个人观点或经验,可能并不与 Joomla 项目的官方立场一致
通过接受,您将访问 https://magazine.joomla.net.cn/ 之外的第三方外部服务
评论