跳转到主要内容

为plone站点中的任何内容添加封面图

项目描述

collective.contentleadimage

概述

https://travis-ci.org/collective/collective.contentleadimage.svg?branch=master

本产品为Plone站点中任何基于Archetypes的内容添加了添加描述性图片的完整支持。每个对象都有一个新标签“编辑主图像”,允许上传新图像或删除当前图像。这与Plone新闻条目(您可以在新闻条目中添加图像,并且该图像将在新闻条目概览列表中显示)的行为类似。

存在一个folder_leadimage_view页面模板,可以用于列出文件夹中的所有项目以及附加的图像。

有一个配置控制面板,您可以在此设置上传图像的最大宽度和高度。宽度和高度应用于每个图像上传(图像将自动调整大小)。您可以指定较小的宽度和高度,用作以下内容标题视图中图像预览(在内容描述旁边)。大图像用于以上内容主体视图中(在内容主体顶部浮动)。

以下内容标题视图是首选的,但管理员可以轻松地在控制面板中切换视图中开/关。

在portal_catalog中存在FieldIndex和元数据:hasContentLeadImage(True/False)。这可能有助于开发人员创建针对显示主图像进行优化的自定义模板。

注意:对于Plone 4.4+和基于plone.app.contenttypes的内容,默认支持主图像行为。此插件仅与基于Archetypes的旧内容兼容。

安装

如果您使用zc.buildout和plone.recipe.zope2instance配方来管理您的项目,您可以这样做

collective.contentleadimage添加到要安装的egg列表中,例如。

[buildout]
...
eggs =
    ...
    collective.contentleadimage

告诉plone.recipe.zope2instance配方安装一个ZCML别名

[instance]
recipe = plone.recipe.zope2instance
...
zcml =
    collective.contentleadimage

重新运行buildout,例如使用

$ ./bin/buildout

更详细的安装说明可以在docs/INSTALL.txt中找到。

使用collective.contentleadimage与plone.app.scaling配合使用

plone.app.imaging自Plone版本4.1以来为所有Plone图像提供动态图像缩放。

以下是如何使用@@images与portal_catalog hasContentLeadImage元数据列一起使用以在文件夹列表中显示自定义尺寸的主图像缩放的示例。

文件夹列表的示例页面模板片段

<div class="tileItem visualIEFloatFix"
                  tal:define="item_has_leadimage item/hasContentLeadImage;
                                    item_object item/getObject;
                                    item_hide_from_nav item/exclude_from_nav;
                                "
                   tal:condition="not:item_hide_from_nav">

                     <img tal:condition="exists:item_has_leadimage"
                          tal:define="scale item_object/@@images; img python:scale.scale('leadImage', width=280, height=280)"
                          tal:replace="structure python: img.tag() if img else None" />

以下是如何修改事件内容类型视图模板以直接在事件详细信息表中显示主图像的另一个示例。该修改使用z3c.jbot并覆盖模板为Products.CMFPlone.skins.plone_content.event_view.pt进行。

模板头

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
      xmlns:tal="http://xml.zope.org/namespaces/tal"
      xmlns:metal="http://xml.zope.org/namespaces/metal"
      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
      lang="en"
      metal:use-macro="context/main_template/macros/master"
      i18n:domain="plone">
<body>

<metal:content-core fill-slot="content-core">
    <metal:content-core define-macro="content-core"
                        tal:define="kssClassesView context/@@kss_field_decorator_view;
                                    getKssClasses nocall:kssClassesView/getKssClassesInlineEditable;
                                    templateId template/getId;
                                    toLocalizedTime nocall:context/@@plone/toLocalizedTime;">


        <tal:comment replace="nothing">
            <!-- Show content lead image above event details on the event page.

            Match image dimensions to the event details table size.
            -->
        </tal:comment>

        <div class="lead">

        <div class="lead-image-wrapper" tal:define="scale context/@@images; img python:scale.scale('leadImage', width=300, height=300)" tal:condition="img">
            <img tal:replace="structure python: img.tag() if img else None" />
        </div>


        <div class="eventDetails vcard">
            <table class="vertical listing"
                   summary="Event details" i18n:attributes="summary summary_event_details;">

                <tbody>

更改日志

1.3.6 (2018-09-05)

  • 添加法语翻译 [laulaz]

  • 修复gitignore [laulaz]

  • 修复:不要在hasContentLeadImage索引上设置None值 [boulch]

1.3.5 (2014-04-30)

  • 将CSS资源注册为链接而不是导入以获得更好的性能。 [thet]

  • 还使用leadimage-body.pt中的IMAGE_FIELD_NAME配置属性 [thet]

  • 修复基于blob的图像不是语言中立的 [miohtama]

  • 添加法语翻译 [toutpt]

1.3.5-FHNW1 (2012-11-29)

  • 修复类型词汇表到ReallyUserFriendlyTypes [amleczko]

  • 更改collective.contentleadimage.full注册在zcml中:我们应该使用IViewView接口限制注册视图,这样它将仅在规范视图中显示 [lucabel]

  • 允许在所有皮肤中使用contententleadimage [tom_gross]

1.3.4 - 2011/12/28

  • 修复了对Plone 4.1的适配 [naro]

1.3.3 - 2011/12/28

  • 适配Plone 4.1 [davidjonas]

  • 修复了purge.py中的“//”错误 [adamt]

1.3.2 - 2011/05/24

  • 检查是否存在leadimage标题,这样我们就不在页面上显示空div。 [davidjb]

  • 添加了新的测试来检查渲染主图像及其相关标题的各种方面。 [davidjb]

1.3.1 - 2011/05/20

  • 在注册其订阅者之前检查Products.CacheSetup的存在 [silviot]

  • 向folder_leadimage_view添加allowed_atributes,以便可以从其他视图调用此视图 [shagi]

  • 添加mtool变量定义 [kroman0]

  • 在迁移期间删除缩放图像 [otacon]

1.3.0 - 2010/09/15

  • 修复了对blob的迁移。感谢David Jonas。 [naro]

1.3.0b1 - 2010/09/13

  • 添加了到blob的迁移 [naro]

1.3.0a1 - 2010/08/19

本版本添加了对BLOB的支持,成为PLONE4的默认主图像存储方式。尚未准备迁移到BLOB,如果您正在迁移到PLONE4,请不要使用此版本。在PLONE3或PLONE4上使用它是安全的。

  • 在folder_leadimage_view中使用正确的图像标题(字幕)。修复了#2 [naro]

  • 使主图像语言独立。修复了#1 [naro]

  • 如果已安装plone.app.blob,则将图像作为BLOB存储,并使用plone.app.imaging中定义的缩略图,请参阅TODO.txt了解可能出现的问题 [fRiSi]

  • 修复了folder_leadimage_view以仅显示标题的内容类型图标(在plonetheme.sunburst中,由于div的高度,内容类型-sprite.png中的下一张图像已可见)[fRiSi]

  • toLocalizedTime在plone4.0b2中不可用(与folder_listing一样进行检索)[fRiSi]

  • 添加了荷兰语翻译 [maartenkling]

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

  • 从PLONE4中删除了大型PLONE文件夹,为配置文件添加了zcml:condition - 为PLONE4重复并编辑了配置文件。[hpeteragitator]

  • 确保在添加和删除图像后不显示视图小部件 [enriquepablo]

1.2.0 - 2010/03/14

  • PLONE 4兼容性 - 添加了对plone.indexer的依赖,以与PLONE 3.2兼容-

  • PLONE 4兼容性 - 主图像缩略图必须存储在plone.app.imaging属性中。

1.1.7 - 2009/09/22

  • 可选的plone.indexer出现了一些问题。暂时禁用它。

1.1.6 - 2009/09/06

  • 修复了版本号

1.1.5 - 2009/09/02

  • 如果可能,请使用plone.indexer

  • 添加了控制面板图标

  • 重新安装时重新索引具有ContentLeadImage索引

1.1.4 - 2008/12/16

  • 修复了从版本0.x迁移时的错误。感谢Ben Chodoroff指出。

  • 添加了意大利语翻译。感谢[paulox]

  • 修复了拼写错误

1.1.3 - 2008/10/14

  • 在模式扩展器中访问cli_properties属性表时请更加小心。它可能被调用得太早,从而导致AttributeError。

  • 添加了卸载代码,该代码删除了配置文件

1.1.2 - 2008/10/10

  • 使主图像字段语言依赖。这解决了Linguaplone的问题,并有助于制作多语言屏幕截图等。

1.1.1 - 2008/10/10

  • 修复了正文视图小部件 - 即使没有图像,也存在图像标签

  • 修复了当对象模式没有“描述”字段时的潜在错误。

1.1 - 2008/09/23

  • 将整数和字符串属性从propertiestool.xml移至setuphandlers,因为属性在重新安装时被默认值覆盖。

  • 从控制面板中删除了最大大小设置,并从ATContentTypes设置中重用max_size(zconf.ATNewsItem.max_image_dimension)

  • 图像可以有标题

  • 如果图像在正文中显示,则可以全屏显示图像(与新闻项图像相同)

  • 可以在控制面板中指定在“描述”部分和“正文”部分显示图像时使用的缩略图。

  • 使图像类似新闻项。图像标签使用与新闻项相同的CSS类,主图像字段使用与新闻项相同的缩略图,还有一个用户在控制面板中定义的特殊的“leadimage”缩略图。

  • 可以指定允许的类型。默认情况下允许文档和文件夹。

  • 更改CSS - 在leadimage-wrapper上定义浮动,以便轻松样式化leadimage本身(例如,为添加图像边框)

1.0.1 - 2008/09/11

  • 修复了对plone.browserlayer的依赖

  • 使扩展器浏览器层感知

1.0 - 2008/09/09

  • 需要迁移!使用archetypes.schemaextender重写。如果您从版本<1.0升级,请勿忘记在portal_setup/Upgrades中运行升级步骤,选择collective.contentleadimage配置文件,检查(0.3 - 1.0)升级步骤,然后按升级按钮。[naro]

  • 将leadImage字段移至Description字段之后。[naro]

  • leadImage字段支持原始大小和一个缩略图。[naro]

  • 可以在控制面板中指定最大宽度和最大高度 [naro]

  • 在AboveContentBody视图管理器中创建了新的视图小部件。此视图小部件显示图像的大版本(大小在控制面板中指定为最大宽度/最大高度)。可以在@@manage-viewlets或leadimage控制面板中打开/关闭这两个视图小部件。[naro]

0.4 - 2008/09/03

  • 修复了门户操作条件。有一个新的浏览器视图,该视图检查对象是否提供ILeadImageable接口。此视图从操作条件调用。[naro]

0.3 - 2008/09/03

  • 修复了bug - hasContentLeadImage索引未注册。[naro]

  • 添加了德语翻译。感谢Rainer Schaffer [naro]

  • 修复了actions.xml中的错误(第二个icon_expr应该是available_expr)。感谢Dan Jacka指出这一点 [naro]

0.2 -

  • 修复了文档 [naro]

0.1 -

  • 首次发布

项目详情


下载文件

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

源分发

collective.contentleadimage-1.3.6.tar.gz (50.7 kB 查看散列)

上传时间