跳转到主要内容

plone中的suckerfish/superfish集成

项目描述

这是什么?

collective.superfish 将 jQuery Superfish 插件集成到 Plone。

Superfish 是一个使用 CSS、有效的 XHTML 和 JavaScript 的下拉菜单解决方案,当 JavaScript 不可用时可以优雅地降级。

哪个版本适合我?

从 2.0 版本开始,collective.superfish 仅针对 Plone 5。

如果您想在 Plone < 5 上使用它,请继续使用 1.x 版本。

如何使用它?

此包作为 plone.global_sections 的“即插即用”替代品。只需安装即可 :)

自定义

使用 Plone 的配置注册表来更改 Superfish 设置。筛选前缀 ISuperfishSettings 以查看可用选项。

对于集成者,您可以在主题配置文件的 registry.xml 中设置以下记录

<records interface='collective.superfish.interfaces.ISuperfishSettings' prefix='superfish'>
    <value key="add_portal_tabs">True</value>
    <value key="menu_depth">2</value>
    <value key="superfish_options">{ "delay": 800, "cssArrows": true }</value>
</records>

有关可用 superfish_options 的完整列表,请参阅 https://superfish.joelbirch.co/options/

待办事项

  • 从 Plone 4 -> 5 的迁移体验需要测试!有一个升级步骤,该步骤从 portal_css/portal_javascripts 中删除旧资源并将其导入资源注册表。也许有人可以提供一些反馈并提交一些 问题

  • 添加测试

谢谢

  • Daniel Widerin

  • Patrick Griffiths

  • Dan Webb

  • Joel Birch

  • Harald Friessnegger (fRiSi)

  • Peter Mathis (petschki)

历史

2.1 (2023-05-05)

  • Python 3 支持。

2.0 (2018-08-02)

  • 发布最终版本。

2.0a1 (2017-11-24)

  • 将 superfish 资源迁移到 Plone 5 资源注册表(请参阅升级步骤)[petschki]

  • 作为 global_sections 的“即插即用”替代品[petschki]

  • 添加卸载配置文件[petschki]

  • 更新 superfish 资源到 1.7.9 和 hoverIntent 到 1.9.0 [petschki]

1.1 (2016-06-23)

  • 将 superfish.js 从 1.7.3 更新到 1.7.5,并将 hoverIntend 从 r7 (1.7.0) 更新到 1.8.1 [fRiSi]

  • 当 jQuery 未定义时不要破坏 JS。例如,在 wildcard.foldercontents 文件内容视图中发生了这种情况[petschki]

1.0 - 2014-05-08

  • 将 superfish.js 从 1.4.8 更新到 1.7.3,并将 hoverIntent.js 从 r5 更新到 r7 [fRiSi]

  • 根据 superfish 默认 css 中的 DEMO SKIN 添加超级鱼菜单的默认格式化,使其适合 Sunburst 主题

    超级鱼菜单布局从

    <li><span class="selected"><a .../></span></li> 更改为

    <li class="selected"><a .../></li>

    因为 JavaScript 无法处理用于设置 .sf-with-ul 类的附加 span 标签。[fRiSi]

0.6 - 2010-08-11

0.5 - 2010-06-17

  • 使用带有文档字符串和版本信息的 官方 hoverIntent.js,并将 (function($){})(jQuery); 语法替换为 jQuery(function($){});,以便脚本不与 collective.carousel 冲突(当两者都通过 portal_javascript 合并到同一文件时)[fRiSi]

0.4 - 2010-05-12

  • 删除了 desc.replace(…) 并添加了一个自定义实体方法来修复 #1 [saily]

  • 不要在setup.py中使用metadata.xml中的版本号作为包版本。这个元数据版本是为了反映GS配置文件版本,不能与包版本混淆。[fRiSi]

0.3 - 2010-03-17

  • 如果描述中包含引号,请将“”替换为&quot;,以保持有效的HTML。[saily]

  • 增强了ID生成的抗重复性。我们现在使用规范化URL来生成项目ID。[saily]

  • 通过在子类中设置ADD_PORTAL_TABS = True,增加了对在superfish导航中包含portal_tabs的支持。[fRiSi]

  • 添加了一些针对集成商的文档。[fRiSi]

  • 不要使用inline=True渲染superfish_init.js,因为这会导致在Products.ResourceRegistries-2.0b2-py2.6.egg/Products/ResourceRegistries/browser/scripts.pt中产生奇怪的错误,例如添加一个静态文本插件时。[fRiSi]

    AttributeError: 'DirContainedFileResource5'对象没有属性'POST'。

    根据资源注册表文档,在任何情况下最好都将inline设置为False。[saily]

  • 经过与fRiSi讨论后,我们移除了缓存。我们保留了代码,但默认禁用了它,要再次启用,请取消注释ram.cache行。

    #@ram.cache(_render_sections_cachekey)
    def render(self):
        return self.index()
  • 只有当在portal_quickinstaller中安装时才显示superfish菜单,通过在browserlayer.xml文件中添加superfish-browserlayer来实现。[saily]

  • 更改了hoverIntent的默认值,hoverIntent控制子菜单的显示和隐藏过程。有关hoverIntent配置的更多信息,请参阅此处

0.2 - 2009-06-12

  • 将javascript文件从完整压缩改为安全压缩。[saily]

  • 移除了SuperFishViewlet的未使用类属性。[saily]

  • 添加缓存以提高渲染性能。[saily]

0.1 - 2009-06-09

  • 初始导入和想法[saily]

项目详情


下载文件

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

源分发

collective.superfish-2.1.tar.gz (106.7 kB 查看哈希)

上传时间

构建分发

collective.superfish-2.1-py3-none-any.whl (117.8 kB 查看哈希)

上传时间 Python 3

由以下机构支持