跳转到主要内容

添加门垫视图组件并将其安装到Plone页脚中。门垫中的链接和文本可以像内容一样管理。

项目描述

https://travis-ci.org/collective/Products.Doormat.png https://coveralls.io/repos/collective/Products.Doormat/badge.png

简介

门垫是一些以结构化方式呈现的链接组合。一个例子是当前的plone.org,底部div#sitemap由一些内部和外部链接的有序集合组成,包括“下载”、“文档”、“开发者”、“Plone基金会”和“支持”等部分。更多门垫的示例

此产品添加了一些内容类型(Archetypes),用于创建用于生成门垫的结构。门垫上的小部件放置在Plone页脚中。门垫中的链接作为内容管理,使门垫比网站地图更灵活。也可以添加外部链接。还可以添加带有标记的文本片段。

快速功能概述

  • 内部链接

  • 外部链接

  • 文本块(包括图片)

  • 来自Plone集合的链接

  • 可以有任意数量的列

  • 每列可以有多个部分

类似的产品

collective.doormat

collective.doormat也允许你在网站上创建门垫,但它采用不同的方法:它不是创建内容对象的结构,而是提供一个配置面板,你可以在其中使用单个富文本字段创建门垫。

这种方法使维护门垫变得更加容易。

它不考虑权限,因此链接可能指向访客没有访问权限的内部内容。也无法从集合中添加内容。

入门

在你的网站上安装此产品后,你应该在Plone网站上有一个“门垫”项目,它应该出现在网站文件夹内容中。在里面,你可以创建列、部分、链接(内部和外部)、文档(Plone的页面类型)以及到集合的链接(门垫集合)的层次结构。应该已经有一个列、一个部分和一个文档。

门垫的示意图可能如下所示

+-- Doormat ----------------------------------------------------------------------------+
|                                                                                       |
|  +-- Column 1 ----------+  +-- Column 2----------+  +-- Column 3 ------------------+  |
|  |                      |  |                     |  |                              |  |
|  |  +-- Section 1 ----+ |  | +-- Section 1 ----+ |  | +-- Section 1 -------------+ |  |
|  |  |                 | |  | |                 | |  | |                          | |  |
|  |  |  +-- Link 1 --+ | |  | |  +-- Link 1 --+ | |  | |  +-- Document 1 -------+ | |  |
|  |  |  +------------+ | |  | |  +------------+ | |  | |  |                     | | |  |
|  |  |                 | |  | |                 | |  | |  | (Contact info)      | | |  |
|  |  |  +-- Link 2 --+ | |  | |  +-- Link 2 --+ | |  | |  |                     | | |  |
|  |  |  +------------+ | |  | |  +------------+ | |  | |  +---------------------+ | |  |
|  |  |                 | |  | |                 | |  | |                          | |  |
|  |  |  +- Document -+ | |  | |                 | |  | |  +- DoormatCollection -+ | |  |
|  |  |  |            | | |  | |                 | |  | |  |                     | | |  |
|  |  |  |            | | |  | |                 | |  | |  | Item 1 from Collctn | | |  |
|  |  |  +------------+ | |  | |                 | |  | |  | Item 2 from Collctn | | |  |
|  |  |                 | |  | |                 | |  | |  | (...)               | | |  |
|  |  |                 | |  | |                 | |  | |  | Link to Collection  | | |  |
|  |  |                 | |  | |                 | |  | |  |                     | | |  |
|  |  |                 | |  | |                 | |  | |  +---------------------| | |  |
|  |  |                 | |  | |                 | |  | |                          | |  |
|  |  +-----------------+ |  | +-----------------+ |  | +--------------------------+ |  |
|  |                      |  |                     |  |                              |  |
|  +----------------------+  +---------------------+  +------------------------------+  |
|                                                                                       |
+---------------------------------------------------------------------------------------+

实际上,你可以添加多个部分,它们将相互堆叠显示。在每个部分中,你可以混合内部链接、外部链接和文档。

在现实生活中

http://plone.org/products/doormat/screenshot

请注意,与plone.org门垫相比,此产品添加了一个额外的层次:它添加了一个列,可以包含多个部分。使用此结构的示例是Oosterpoort,实际上它是该产品的前身。

添加文档

将文档添加到门垫与在任何其他地方添加它一样简单。但是,请注意,只有“正文文本”字段将在门垫中显示。其他字段,尤其是标题和描述将被省略。

添加图片

要将图片添加到门垫,请添加一个文档并在其中包含图片。无法将图片上传到门垫部分,因此你需要首先将图片上传到网站上的其他地方。

确保首先启用“使用UID链接”(见上文),因为以相对方式定义图片的位置将与相对链接以相同的方式损坏。

简单配置

默认情况下,门垫被排除在导航之外。

在文件夹类型(门垫、列和部分)上有一个名为showTitle的字段,允许内容管理员决定是否在门垫中显示项目标题。

更高级的配置和样式

本节是为集成商和/或希望更详细地自定义门垫渲染方式的开发者准备的。

移动门垫

默认情况下,默认门垫视图小部件(doormat.footer)位于plone.portalfooter视图小部件管理器中。在附加产品中修改这很容易,因此门垫将显示在全局导航(门户选项卡)下方或网站中的任何其他位置。

显示不带额外div元素的门垫

默认视图小部件在Plone默认页脚元素内渲染门垫,因此它与Plone 4的默认Sunburst主题融为一体。

<div class="row">
  <div class="cell width-full position-0" >
    <div id="doormat-container" />
  </div>
</div>

使用doormat.footer.bare视图小部件将省略最外层的两个<div>。当在不同主题或自定义布局中使用门垫时,这可能很有用。您可以通过@@manage-viewlets隐藏默认视图小部件并启用裸版本,或者通过为您开发的产品添加自定义的viewlets.xml

注意事项

多个门垫

视图小部件会对门垫门户类型进行目录查找。如果您有多个此类对象(没有阻止您这样做),它将使用最旧的。

卸载时删除内容

如果您运行卸载配置文件,就像卸载产品时一样,所有内容都将被删除。这确保了产品可以干净地卸载,方便迁移以及那些只想尝试的人。

如果您网站中有门垫并且您对其满意,请勿点击卸载。

依赖项/要求

该产品适用于

  • Plone 3

  • Plone 4

鸣谢

查看更改日志。

此产品最初由GroningerForum赞助。

更改日志

1.2 (2016-08-22)

  • 在Dexterity链接中添加了对${navigation_root_url}${portal_url}的支持。抱歉,Archetypes不支持此功能。(关闭#9)。[idgserpro]

1.1 (2016-05-20)

  • 重新安装时不要删除现有内容[pbauer]

  • 在导入步骤中添加对正确GS配置文件的检查。[tmassman]

1.0 (2013-12-23)

  • 更新了包的分类器列表和关键字。[macagua]

  • 添加了西班牙语翻译。[macagua]

  • 添加了i18n支持。[macagua]

  • 修复了当与plone.app.contenttypes版本1.0b2或更高版本一起使用时破坏门垫的拼写错误[ericof]

  • 修复了DoormatCollection没有限制的问题[lccruz]

0.9.1 (2013-10-10)

  • 使内容创建依赖于类型,修复了安装中的错误。使点击“停用”运行卸载配置文件。[khink]

0.9 (2013-10-10)

  • 移除UML。添加测试,使用Travis和Coveralls。安装时创建门垫。添加卸载配置文件。[khink]

0.8 (2013-08-23)

  • 如果可用,则在门垫引用中使用archetypes.referencebrowserwidget。注意:archetypes.referencebrowserwidget 2.4.15和2.4.16破坏了非多引用选择,因此如果您的Plone版本使用这些版本之一,您应编辑您的buildout以使用较新版本。[maurits]

  • 转移到github:https://github.com/collective/Products.Doormat [maurits]

  • 使其与Dexterity和新集合兼容[pbauer]

  • 从BaseContent(来自https://github.com/pymilya/Products.Doormat)派生

  • 仅在导航根中搜索门垫。这允许在网站的部分中使用不同的门垫(或没有门垫)。[maurits]

0.7 (2011-06-22)

合并集合分支。

  • 添加“DoormatCollection”类型,该类型从集合中获取链接。感谢Alessandro Vermeulen在https://github.com/spockz/Products.Doormat分支上的工作。

  • 不要从DoormatMixin派生DoormatCollection。[khink]

  • 为字段添加标签和描述,在文档中添加指向它们的指针。[khink]

  • 使用contentValues()而不是objectValues()(仅公开CMS内容)[khink]

0.6 (2010-11-11)

0.5 (2010-10-25)

  • 通过在UML中添加标记值将DoormatSection的global_allow设置为False。(agx神秘地将它默认设置为True)[khink]

  • 开发者文档(关于使用AGX)

  • 显式设置Link类型对象的external-link类。

0.4 (2010-10-05)

0.3 (2010-07-19)

  • 删除空皮肤文件夹doormat_styles/和doormat_templates/(解决了http://plone.org/products/doormat/issues/4:皮肤目录从蛋中丢失)

  • 添加了视图小部件doormat.footer.bare,以显示不带div.row和div.cell包装的门垫。

0.2 (2010-06-11)

0.1.1 (2010-06-09)

0.1 (2010-06-08)

首次发布

对于开发者

UML弃用通知

本产品的内容类型是用ArchGenXML(AGX)创建的,AGX是一种从UML模型生成代码的工具。由于Dexterity内容类型已经取代了Archetypes成为默认内容类型故事,AGX不再广泛使用。

自0.9版以来,此包具有测试,使用plone.app.testing进行。似乎没有必要使AGX与这些测试一起工作。因此,UML模型及其所有相关内容都被删除了。

你仍然可以在代码的0.9版本之前的代码中找到UML及其文档。

待办事项

  • 为getDoormatData和getDoormatTitle方法添加某种缓存,或为整个视图小部件添加缓存。或者至少了解它们的成本。目前视图小部件每次渲染时都会计算整个门垫。

项目详细信息


下载文件

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

源分发

Products.Doormat-1.2.tar.gz (42.7 kB 查看散列

上传时间

由以下支持