SimpleLayout提供基于块的页面内容
项目描述
简介
SimpleLayout提供了一种直观的方法,通过拖放功能添加和排列页面上的不同元素,如段落、图像、文件和链接。这些元素作为可添加和易于排列的“块”实现。由于文本、图像和其他内容元素的尺寸限制,整体结果是整个网站内容具有统一的视觉和感觉。
兼容性
Plone 4.3.x
请使用Plone 4安装上的plone4附加组件,以获取正确的依赖项。
Plone 5.1.x
对于Plone 5.1.x删除了功能
从块中提取页面锚点的锚点。
升级步骤,从所有SL内容类型中删除了plone.app.referenceablebehavior.referenceable.IReferenceable。
主题
为了保持Simplelayout UI的一致性风格,我们建议使用plonetheme.blueberry。
从Plone 4.3.x升级到Plone 5.1.x
待办:需要实现和测试。
回收站
ftw.simplelayout在两个都安装的情况下,会自动与ftw.trash集成。
版本3.0.0中的更改
由于使用工作副本功能时的性能不佳,我们决定实施一个新的概念(实际上是旧的Plone概念),即GalleryBlock和FilelistingBlock如何获取其内容。
从版本3开始,默认行为是,GalleryBlocks和FileListingBlocks显示从引用的媒体文件夹中的内容。使用工作副本功能时不会复制媒体文件夹,因此速度大大提高,因为不再需要重新索引文件。
这也具有优势,即文件和图像可以集中组织。
安装
将包添加到您的buildout配置中
[instance] eggs += ... ftw.simplelayout[mapblock]
在ftw.simplelayout 2.0.0中,我们引入了对Plone 5的支持。但Plone 4有不同的依赖关系。为了使用ftw.simplelayout 2.0.0与Plone 4,还需要安装plone4额外组件
[instance] eggs += ... ftw.simplelayout[mapblock, plone4]
然后您可以选择多个配置文件
ftw.simplelayout lib 配置文件 - 只包含基本功能,没有内容类型。此配置文件也适用于Plone 5
ftw.simplelayout default 配置文件 - 安装Simplelayout和默认内容类型以及您需要用Simplelayout方式创建内容所需的一切。
用于操作块的覆盖,例如添加、删除和修改。
保存当前Simplelayout状态。
加载简单layout页面的配置。
重新加载带有额外参数、视图或数据属性的块。
用法
第一步
安装默认配置文件是个好主意,它包含一些基本内容类型,例如ContentPage和TextBlock。
只需添加一个新的ContentPage而不是Plone文档。在右侧会出现一个工具箱,允许您使用Simplelayout在ContentPage中创建内容。
默认情况下,您可以选择1列、2列或4列布局。Simplelayout默认添加一个空1列布局,因此您可以直接开始添加一个块。
只需将您选择的块(例如TextBlock)拖放到布局中。输入标题、正文文本和/或图片。然后点击保存。
如您所见,您永远不会离开ContentPage,所有Simplelayout操作都是异步的。这意味着添加、删除和编辑总是打开一个覆盖,您可以在其中进行修改。
RESTAPI
Simplelayout支持plone.restapi(只读)。可以通过“simplelayout”键访问simplelayout页面状态。键“slblocks”存储UID -> Block Json映射,这有助于通过页面状态访问块。通过键“block-configuration”可以按块访问块配置
键“blocks”已经被Plone使用。
通过将以下内容添加到您的buildout配置中,加载restapi额外组件
[instance] eggs += ... ftw.simplelayout[contenttypes, restapi]
内容类型
Simplelayout默认包含两种内容类型。一种文件夹类型,即ContentPage,以及一种块类型,即TextBlock。
ContentPage
ContentPage是一个简单的基于dexterity的文件夹内容类型,它几乎什么都不做,但默认配置了@@simplelayout-view视图。可以在ContentPage中添加ContentPage
TextBlock
TextBlock提供以下字段
标题(嗯,这将作为块的标题,以h2形式渲染)。
显示标题?(决定是否显示标题)。
文本
图片
标题、文本或图片是成功添加新块所必需的。
TextBlock配置允许您使用此块仅显示文本、仅显示图片,或者当然两者都显示。无需为图片和文本各创建一个块。
添加TextBlock
额外块
别名块
别名块可以通过额外的aliasblock安装。该块使用SCSS变量$color-primary进行样式设置,这可以通过自定义设计覆盖。将dropzonewrapper类设置为display: none;以避免在别名块上尝试上传内容时出错。同时提供了一个链接,可以跳转到原始内容。
本包中的所有块,包括ftw.addressblock和ftw.sliderblock,都受支持。来自不同包或策略的其他块不会工作,因为可别名块的列表是硬编码的。此块列表可通过ftw.simplelayout.aliasblock.contents.aliasblock.get_selectable_blocks获取。
还可以在别名块中渲染整个内容页面。然而,无法选择已经包含别名块的内容页面,或者正在创建别名块的页面,以防止递归。
行为
TextBlock默认启用预览行为。它允许您向块添加内部或外部链接。
show_title行为默认禁用。可以启用它,以便在内容页面的配置中添加复选框。使用此复选框,可以隐藏标题。
部件
ftw.simplelayout提供了一个Simplelayout Portlet,允许您将块移动到右侧或左侧列。您只需在特定上下文或类型上分配端口即可。
示例(如何默认将端口分配给所有Simplelayout内容页面)。
portlets.xml
<?xml version="1.0"?>
<portlets>
<assignment
manager="plone.rightcolumn"
category="content_type"
key="ftw.simplelayout.ContentPage"
type="ftw.simplelayout.portlet"
insert-before="*">
</assignment>
</portlets>
使用Simplelayout构建您的站点
是的,很简单
通过拖放添加布局
通过拖放添加块
直接通过拖放上传图片[即将推出]
直接在块本身上更改块的表现形式
默认响应式
轻松创建多列页面。
卸载配置文件
开发
Python
分支此存储库
克隆您的分支
Shell: ln -s development.cfg buidlout.cfg
Shell: python boostrap.py
Shell: bin/buildout
运行bin/test以测试您的更改。
或通过运行bin/instance fg启动一个实例。
创建新的块
只需两步即可使您的内容“块状”。
块与其他DX内容类型之间的唯一区别是SimplelayoutBlockBehavior。您可以通过在FTI中添加以下行简单地将块行为添加到您的内容中:
<property name="behaviors">
<element value="ftw.simplelayout.interfaces.ISimplelayoutBlock" />
</property>
为了使您的块知道如何在简单布局页面上表示自己,您需要为您的内容注册一个block_view。
使用zcml注册视图
<browser:page
for="my.package.content.IMyBlock"
name="block_view"
permission="zope2.View"
class=".myblock.MyBlockView"
template="templates/myblockview.pt"
/>
相应的模板
<h2 tal:content="context/Title">Title of block</h2>
<!-- Assume you got a text field on your content -->
<div tal:replace="structure here/text/output | nothing" />
基本上就是这样 :-) 您刚刚创建了一个新的块!!
为块创建自定义操作
全局Simplelayout配置
创建新的块表示
直接编辑文件夹状块中的项目
为了实现这一点,您只需在渲染的块中放置一个链接。假设您想编辑一个列表块中的文件:您需要一个指向./sl-ajax-inner-edit-view的链接,具有css类inneredit和一个名为uid的数据属性,该属性包含内容的uid。
<a href="./sl-ajax-inner-edit-view"
class="inneredit"
tal:attributes="data-uid file_object/UID">EDIT</a>
编辑内容后,视图将自动重新加载该块。
额外的plone.restapi方法
在简单布局的内容页创建块后,它们应与页面配置同步。否则,前端可能显示的顺序错误。它还会删除页面配置中有但页面本身中没有的对象。
要执行此操作,您可以简单地向您的页面路径发送一个 RestAPI Post 请求(有关 plone.restapi 的更多信息),并在路径后附加 @sl-synchronize-page-config-with-blocks。返回一个包含 added 和 removed 块 UIDs 的字典。
暂存
Simplelayout 提供了用于为内容页面设置预发布解决方案的集成级别工具。一个 IStaging 适配器提供了创建工作副本并将其更改内容应用于基线的功能。Simplelayout 不提供集成;集成必须在项目级别实现。
简单使用示例
from Acquisition import aq_inner
from Acquisition import aq_parent
from ftw.simplelayout.staging.interfaces import IStaging
# Make a working copy of "baseline" in the folder "target"
target = aq_parent(aq_inner(baseline))
working_copy = IStaging(baseline).create_working_copy(target)
# Apply the working copy content to the baseline:
IStaging(working_copy).apply_working_copy()
# Or discard the working copy:
IStaging(working_copy).discard_working_copy()
尽管预发布可以通过各种方式(操作、事件等)集成,但它通常在工作流中集成。自 ftw.lawgiver >= 1.15.0 以来,它支持 [拦截转换](https://github.com/4teamwork/ftw.lawgiver/blob/master/README.rst#intercept-and-customize-transitions),可用于集成预发布解决方案。
当创建工作副本时,只有简单布局块子项将从基线复制到工作副本。这具有优势,因为大型结构的根页可以修订和复制,而不会因为许多子页而出现性能问题。
当将工作副本应用回时,其子项的内容将复制回基线。简单布局的状态和关系将相应更新。
运行自定义JS代码
某些块需要在渲染后或在其自身添加/编辑时运行一些 JS 代码。对于此用例,您可以直接监听 jquerytools Overlay 事件。
添加和编辑块后运行JS
此示例来自 MapBlock。它使用 jquerytools Overlay 的 onBeforeClose 事件加载 collectivegeo 地图。
$(function(){
$(document).on('onBeforeClose', '.overlay', function(){
if ($.fn.collectivegeo) {
$('.widget-cgmap').filter(':visible').collectivegeo();
}
});
});
在显示覆盖层后运行JS
此示例来自 MapBlock。它使用 jquerytools Overlay 的 onLoad 事件在编辑模式下加载 collectivegeo 地图。
$(function(){
$(document).on('onLoad', '.overlay', function(){
if ($.fn.collectivegeo) {
var maps = $('.widget-cgmap').filter(':visible');
var map_widgets = $('.map-widget .widget-cgmap').filter(':visible');
maps.collectivegeo();
map_widgets.collectivegeo('add_edit_layer');
map_widgets.collectivegeo('add_geocoder');
}
});
});
更多JS事件
jQueryTools Overlay 提供了另外两个事件
onBeforeLoad
onClose
修改Simplelayout配置
simplelayout JS 库可以通过 simplelayout 容器上的 data-sl-settings 进行修改。目前支持的设置
布局
可以更改布局
您可以通过 Simplelayout 控制面板全局修改这些设置。例如
{"layouts": [1]}
所有 Simplelayout 网站配置为只有 1 列布局
使用 ISimplelayoutContainerConfig 适配器,它适配 上下文 和 请求,这意味着您可以为不同启用 Simplelayout 的类型设置不同的设置。
示例
from ftw.simplelayout.contenttypes.contents.interfaces import IContentPage
from ftw.simplelayout.interfaces import ISimplelayoutContainerConfig
class ContenPageConfigAdapter(object):
implements(ISimplelayoutContainerConfig)
def __init__(self, context, request):
pass
def __call__(self, settings):
settings['layouts'] = [1]
def default_page_layout():
return None
provideAdapter(ContenPageConfigAdapter,
adapts=(IContentPage, Interface))
注意 1:适配器使用设置字典调用,因此您不必返回它。
注意 2:使用 default_page_layout 方法,您还可以定义默认布局,这些布局可以在空页上预先渲染。
通过覆盖 update_simplelayout_settings 方法使用视图本身。
from ftw.simplelayout.browser.simplelayout import SimplelayoutView
class CustomSimplelayoutView(SimplelayoutView):
def update_simplelayout_settings(self, settings):
settings['layouts'] = [1, 4]
默认情况下,canChangeLayouts 选项由 Simplelayout 提供程序注入。它检查当前登录用户是否具有 ftw.simplelayout: Change Layouts 权限。
OpenGraph支持
Simplelayouts 提供了一个基本的 OpenGraph 集成。您可以按需禁用 plone 根目录的 Opengraph(Simplelayout 设置 - 控制面板),因为它默认启用。在 Simplelayout 网站本身,可以通过 OpenGraph 标记行为 控制 OpenGraph 元标签。
从ftw.contentpage迁移
本包是ftw.contentpage的继任者。为了将ftw.contentpage类型迁移到ftw.simplelayout类型,请查看ftw.simplelayout的migration.py模块中预配置的本地迁移器。
客户端库
构建
重建库(resources/ftw.simplelayout.js)
yarn build
监视更改并自动重建包
yarn watch
您可以通过在Gruntfile.js
中禁用压缩并使用附加选项optimize: "none"来获取编译js的扩展版本。
测试
运行所有测试
npm test
或
grunt test
运行特定的测试
grunt test --grep="Name of your test"
入门
工具箱
为simplelayout提供工具箱实例。
var toolbox = new Toolbox({
layouts: [1, 2, 4],
canChangeLayout: true, // Decides if toolbox get rendered
blocks: [
{ title: "Textblock", contentType: "textblock", formUrl: "URL",
actions: {
edit: {
class="edit",
description: "Edit this block",
someCustomAttribute: "someCustomValue"
},
move: {
class: "move",
description: "Move this block"
}
}
},
{ title: "Listingblock", contentType: "listingblock", formUrl: "URL" }
],
layoutActions: {
actions: {
move: {
class: "iconmove move",
title: "Move this layout arround."
},
delete: {
class: "icondelete delete",
title: "Delete this layout."
}
}
},
labels: {
labelColumnPostfix: "Column(s)" // Used for label in toolbox
}
});
块
key |
是必需的 |
description |
title |
工具箱中的标题 |
|
description |
用于titleattribute |
|
contentType |
是 |
代表每个块的类型 |
actions |
是 |
描述动作 |
操作
key |
是必需的 |
description |
key |
是 |
动作的名称 |
class |
动作的class属性 |
|
description |
用于title属性 |
|
custom |
将作为数据属性提供 |
Simplelayout
使用工具箱实例初始化simplelayout。
var simplelayout = new Simplelayout({toolbox: toolbox});
反序列化
使用现有的标记来反序列化simplelayout状态。
提供的HTML结构
<div class="sl-simplelayout" id="slot1">
<div class="sl-layout">
<div class="sl-column">
<div class="sl-block" data-type="textblock">
<div class="sl-block-content"></div>
</div>
</div>
<div class="sl-column">
<div class="sl-block" data-type="textblock">
<div class="sl-block-content"></div>
</div>
</div>
<div class="sl-column">
<div class="sl-block" data-type="textblock">
<div class="sl-block-content">
<p>I am a textblock</p>
</div>
</div>
</div>
<div class="sl-column"></div>
</div>
</div>
确保结构中的每个数据类型都在工具箱中得到覆盖。
事件
使用eventEmitter的单例实例附加事件。
var simplelayout = new Simplelayout({toolbox: toolbox});
simplelayout.on(eventType, callback);
事件类型
blockInserted(block)
block-committed(block)
block-rollbacked(block)
beforeBlockMoved(block)
blockMoved(block)
blockDeleted(block)
layoutInserted(layout)
layout-committed(layout)
layout-rollbacked(layout)
layoutMoved(layout)
layoutDeleted(layout)
DOM属性
每个块和布局都通过ID在DOM中表示。
每个DOM元素提供以下属性
object –> simplelayout中的对象表示
parent –> simplelayout中的父对象表示
id –> 此元素的生成UUID
represents –> 来自原始的representer(如果对象仅存在于本地则为空)
这些属性可以作为jQueryElement提取
var block = $(".sl-block").first();
var blockObj = block.data().object;
待办事项
更新/完成示例。
更新/添加图像(动画GIF)。
改进Plone 5支持(可能使用plone 5 contentttypes)。
Archetypes块集成(用于旧包)。
链接
版权
本软件包版权由4teamwork所有。
ftw.simplelayout采用GNU通用公共许可证,版本2。
变更日志
3.0.4 (2022-10-04)
Restapi:改进sl集成。[mathias.leimgruber]
3.0.3 (2022-08-22)
Restapi:不要在页面中递归包含块信息。[mathias.leimgruber]
3.0.2 (2022-08-15)
预发布改进:不要在旧容器中索引父索引中的位置。[mathias.leimgruber]
3.0.1 (2022-07-11)
错误修复预发布:不要复制没有目标的关系值。[mathias.leimgruber]
3.0.0 (2022-07-06)
新功能“媒体文件夹”:使MediaFolder能够在FileListingBlock和GalleryBlock中引用。[mathias.leimgruber]
媒体文件夹包含文件和/或图像,并通过GalleryBlock或FileListingBlock引用。
这是新的默认实现。
您可以通过删除IMediaFolder行为并直接在GalleryBlock或FilelistingBlock中添加文件/图像来选择退出。
如果您升级到这个版本,请确保将文件和图像迁移到媒体文件夹中。
2.8.7 (2022-06-09)
修复裁剪图像版本丢弃的条件。[mathias.leimgruber]
2.8.6 (2022-05-04)
实现ftwlogo回退,用于具有opengraph支持的sl页面。[mathias.leimgruber]
2.8.5 (2022-05-04)
将twitter:image元标签添加到opengraph元标签中。[mathias.leimgruber]
使用ftw.logo的LOGO端点以确保提供PNG而不是SVG。[mathias.leimgruber]
2.8.4 (2021-10-04)
重新添加FileListingBlock列的法语翻译。
2.8.3 (2021-08-09)
确保TextBlock的内容中没有有害的CSS类。[mathias.leimgruber]
2.8.2 (2021-07-20)
仅将20200929161226_fix_contenttype_jquery_dependency应用于Plone 5.x站点。[mathias.leimgruber]
2.8.1 (2021-04-02)
确保地理设置无需始终可用。[mathias.leimgruber]
2.8.0 (2021-04-02)
在plone.restapi响应中实现simplelayout。[mathias.leimgruber]
“simpleayout”键包含simplelayout页面状态。
“slblocks”键包含所有通过其UID可访问的块。
Simplelayout数据仅在ISimplelayout上可用。
“block-configuration”键包含在ISimplelayoutBlock上存储的块配置。
为videoblock添加高度字段,以便为vimeo/youtube nocookie块设置固定高度。[mathias.leimgruber]
使aliasblock的添加/编辑表单视图更安全。[mathias.leimgruber]
2.7.18 (2021-03-18)
使aliasblock标题更健壮,因为内容可能通过脚本创建。[mathias.leimgruber]
2.7.17 (2021-03-01)
移除aliasblock对sl内容类型的显式依赖。[mathias.leimgruber]
在删除块时检查所有传入的引用。这包括AliasBlocks。[mathias.leimgruber]
2.7.16 (2020-12-10)
修复Videoblock的YouTube集成[Nachtalb]
2.7.15 (2020-11-10)
实现dropzone上传的错误处理。[mathias.leimgruber]
2.7.14 (2020-10-15)
修复与plone.formwidget.namedfile 2.0.10+(包含在Plone 5.1.7+中)的兼容性[Nachtalb]
修复复制粘贴子页面时页面配置损坏的问题[Nachtalb]
如果可以编辑当前的aliasblock,则aliasblock将显示指向目标块/页面的提示。[mathias.leimgruber]
如果存在RelationValue,则aliasblock仅允许访问_to_object/isBroken。[mathias.leimgruber]
在暂存区中移动而不是复制在工作副本中创建的块,以保留UID。否则,工作副本内的内部链接将不再工作。[mathias.leimgruber]
2.7.13 (2020-10-01)
从FTI中移除非行为接口。[djowett-ftw]
修复加载jquery两次以及因此创建冲突[Nachtalb]
2.7.12 (2020-09-08)
在小屏幕(< 480px)上移除100%宽的sl-image的左右边距[djowett-ftw]
2.7.11 (2020-09-08)
转义opengraph标题和描述中的特殊字符。[mathias.leimgruber]
修复Plone 5上的链接完整性检查[Nachtalb]
2.7.10 (2020-08-20)
Hansle开始/查询字符串为youtube视频。[mathias.leimgruber]
2.7.9 (2020-08-05)
修复aliasblock结果中列的故障[Nachtalb]
2.7.8 (2020-08-05)
修复aliasblock中的错误[Nachtalb]
修复当aliasblock链接到页面时状态保存错误[Nachtalb]
2.7.7 (2020-07-27)
修复tinymce prependToUrl值,以便在Plone根目录上使用内部链接工作。[mathias.leimgruber]
2.7.6 (2020-07-01)
更新aliasblock集成JS以支持全多列/布局内容页面。[mathias.leimgruber]
如果能够修改aliasblock,则仅显示指向引用页面的链接。[mathias.leimgruber]
2.7.5 (2020-06-22)
修复ftw.logo opengraph集成[Nachtalb]
2.7.4 (2020-06-19)
为Plone根目录的opengraph集成添加ftw.logo支持。[mathias.leimgruber]
2.7.3 (2020-06-15)
修复引用对象的链接[Nachtalb]
移除< span class="docutils literal">aliasblock和< span class="docutils literal">contenttypes条件,因为无法检查空额外项[Nachtalb]
2.7.2 (2020-06-12)
为plone域添加AliasBlock的缺失翻译[Nachtalb]
2.7.1 (2020-06-12)
在aliasblock上显示链接页面的标题。[mathias.leimgruber]
不允许引用正在创建AliasBlock的内容页面,以防止递归[Nachtalb]
修复AliasBlock中链接到引用内容页面的文本[Nachtalb]
2.7.0 (2020-06-10)
添加用于加载自定义代码的块添加/编辑表单视图管理器。[mathias.leimgruber]
ContentPage支持AliasBlock。[mathias.leimgruber]
2.6.1 (2020-06-02)
在plone4中添加collective.quickupload。[busykoala]
2.6.0 (2020-06-02)
添加新的块(AliasBlock),该块渲染其他块的内容。必须安装此块才能使用额外“aliasblock”。[busykoala]
2.5.14 (2020-05-28)
添加vimeo视频iframe包装器以提供更好的样式选项。[busykoala]
2.5.13 (2020-04-24)
始终加载videoblock js,而不仅仅是当登录时[Nachtalb]
2.5.12 (2020-04-24)
修复“在此上传文件”拖放区域除创建画廊块后不工作的问题。[djowett-ftw]
升级ftw.colorbox以解决画廊块叠加问题并使我们的initializeColorbox在Plone5中工作。[djowett-ftw]
2.5.11 (2020-03-24)
修复父项不是simplelayoutish时删除块的问题。[mbaechtold]
2.5.10 (2020-03-24)
使迁移更加健壮。[mbaechtold]
修复youtube播放器集成问题。[mathias.leimgruber]
2.5.9 (2020-01-21)
允许通过列表块或画廊块上传文件时添加描述。[djowett-ftw]
2.5.8 (2020-01-15)
将“删除文件”图标添加到Dropzone的文件预览中(这包括开始使用previewTemplate来为Dropzone)。[djowett-ftw]
2.5.7 (2020-01-09)
将ftw.simplelayout portal_types翻译添加到plone域。[tinagerber]
2.5.6 (2020-01-07)
修复叠加样式。[djowett-ftw]
要创建文件,从模式中获取正确的文件类型。[tinagerber]
2.5.5 (2019-12-20)
修复“在此上传文件”的翻译。[djowett-ftw]
修复在filelisting-block迁移到plone5后的潜在错误。[busykoala]
2.5.4 (2019-12-18)
修复js模块名称冲突。[Nachtalb]
修复在plone 4中将文件作为ZPublisher.HTTPRequest.FileUpload上传时的错误。[Nachtalb]
2.5.3 (2019-12-18)
提供预编译包。[buchi, jone]
2.5.2 (2019-12-05)
ftw.sliderblock的旧版本依赖于此产品来要求collective.upload,但在2.0.0版本之后不再这样做。我们在启动时引发ImportError以使其明确。[djowett-ftw]
修复测试在二进制模式下不打开文件的问题(这是与ftw.testbrowser的最新版本一起工作的必要条件)。[busykoala]
由于弃用,移除unittest2。[busykoala]
2.5.1 (2019-11-29)
修复升级步骤。[tinagerber]
2.5.0 (2019-11-27)
将tab上的事件绑定从onClick更改为仅click,以便在plone 5上也触发该功能。[mathias.leimgruber]
不再意外地加载两次google maps api js。[mathias.leimgruber]
默认情况下,当添加mapblock时添加ftw.simplelayout.contenttypes配置文件。[busykoala]
为简化起见,用ftw.builder中的替换(AT)LinkBuilder。[djowett-ftw]
2.4.1 (2019-11-14)
改进README.rst中的英文。[djowett-ftw]
使FileListingBlock中的上传小部件根据其
allowed_content_types
选择创建的内容类型。[djowett-ftw]
2.4.0 (2019-11-14)
Leadimage:支持在视图调用中更改缩放方向。[jone]
2.3.0 (2019-11-11)
添加ftw.theming:default(未提供升级步骤)。[busykoala]
统一跨内容类型和Plone版本“保存”的翻译[Nachtalb]
改进基线和工作副本之间的链接[Nachtalb]
2.2.0 (2019-10-30)
修复画廊块在点击时没有大图可用[Nachtalb]
修复设置描述中的错误[jone]
默认安装contenttypes extras并弃用该额外组件[Nachtalb]
将通过dropzone上传的文件保存为blob[Nachtalb]
修复通过dropzone上传的图片旋转[Nachtalb]
将collective.quickupload作为plone 4的依赖项移除(在2.0.0中由dropzone.js替换)。[Nachtalb]
2.1.2 (2019-08-29)
修复在应用工作副本时与plone.app.events EventBasic时区冲突的问题[Nachtalb]
2.1.1 (2019-08-27)
修复mapblock.js与plone5的兼容性[Nachtalb]
将contenttypes js移动到资源包。[busykoala]
修复data-googlejs url中的html实体[mathias.leimgruber]
修复contenttypes和mapblock js资源[mathias.leimgruber]
在应用工作副本时保留子子孙孙的顺序[Nachtalb]
2.1.0 (2019-05-21)
为便于定制,在块视图中添加宏和槽。[jone]
将地图首选项行为包含在mapblock.js中[Nachtalb]
2.0.2 (2019-05-17)
修复地图块的JavaScript[mdbaechtold]
撤销:abc8误删除IReferencable[mdbaechtold]
暂存:创建工作副本时删除自动生成的子项[jone]
为了触发plone转换链,我们需要维护RichTextValue的mimeType。[mathias.leimgruber]
暂存:在警告消息中添加工作副本链接[mathias.leimgruber]
通过将collective.z3cform.datagridfield固定到1.4.0来修复plone 4的构建[mathias.leimgruber]
2.0.1 (2019-03-08)
更新Readme以包含一些plone 4/5安装提示[mathias.leimgruber]
更新包元数据[mathias.leimgruber]
将collective.quickupload作为plone4额外依赖项添加。
2.0.0 (2019-03-06)
添加Plone 5.1兼容性[jone, mbaechtold, mathas.leimgruber]
移除开发GS配置文件,因为它不起作用[jone]
通过用Dropzone.js替换quickupload来重新实现文件上传[mathias.leimgruber, jone]
使 mapblock 与 Plone 5.1 兼容。主要通过更新到一套已知的好用的 c.geo 包 [mathias.leimgruber]
1.23.5 (2018-12-18)
在废纸篓相关处理程序中添加 zcml:condition="have ftw.simplelayout:trash"。[mathias.leimgruber]
1.23.4 (2018-12-13)
废纸篓:不再索引已删除的块。[mathias.leimgruber]
1.23.3 (2018-11-20)
预览:修复了当有子页面链接时破坏预览的错误。[jone]
1.23.2 (2018-11-16)
设置父对象的最后修改者,当 sl 块被编辑且安装了 collective.lastmodifier 时。此功能适用于 collective.lastmodifier 版本 1.1.3 及以上。[Nachtalb]
1.23.1 (2018-11-12)
实现 unrestricted_uuidToObject 以获取预览视图小部件的信息,不受工作流限制。[mathias.leimgruber]
添加对 www.youtube-nocookie.com 视频 URL 的支持。[mathias.leimgruber]
1.23.0 (2018-10-08)
添加创建预览解决方案的工具。[jone]
1.22.3 (2018-10-03)
将 missing_value 属性添加到 image_limits 和 image_cropping_aspect_ratios 接口,以防止在未提供值时保存 None。[elioschmutz]
1.22.2 (2018-09-26)
修复一个缓存问题,其中裁剪覆盖在上传新图片后显示了旧图片。[elioschmutz]
1.22.1 (2018-09-25)
修复了蓝色莓营销主题中的图像裁剪器样式。[elioschmutz]
1.22.0 (2018-09-25)
为文本块图像添加可配置的宽高比图像裁剪。[elioschmutz]
为文本块添加可配置的硬和软图像限制。[elioschmutz]
添加 plone.restapi 端点以同步块与页面配置。[Nachtalb]
添加额外的 opengraph 标签 og:description fb:app_id fb:admins。[Nachtalb]
1.21.1 (2018-07-06)
支持 Plone 4.3.17(快速修复以从 base 标签中获取 base-url)。[mathias.leimgruber]
通过实际传递事件对象作为参数来修复 FF 中的 JS 错误。[mathias.leimgruber]
1.21.0 (2018-07-05)
添加对 ftw.trash 的可选支持。[jone]
1.20.3 (2018-07-05)
在滑动块迁移中设置图像裁剪的默认值。[raphael-s]
为预告块迁移设置 simplelayout 插槽。[raphael-s]
1.20.2 (2018-03-26)
为 colorbox 覆盖视图缩放图像以修复图像缓存边缘情况。[raphael-s]
1.20.1 (2018-03-01)
将标题和 show_title 字段移动到 MapBlock 的坐标模式。[mathias.leimgruber]
修复在选项卡内加载 google / geo 地图覆盖的加载问题。[mathias.leimgruber]
1.20.0 (2018-01-26)
添加对“ftw.gopip”的支持。[jone, mbaechtold]
可选地渲染地图块的标题。[mbaechtold]
内容页面构建器仅在页面包含块时同步页面配置。[mbaechtold]
实现更具体的 MapLayers 工厂以防止多次添加相同的层。[mathias.leimgruber]
实现持久地图层和缩放值。两者都可以在选择器编辑中选中,并将重用于显示小部件。[mathias.leimgruber]
1.19.0 (2017-11-01)
当打开覆盖时,浏览器不再跳转到顶部。[Kevin Bieri]
处理 Unicode 字符串中的视图名称。[mbaechtold]
新功能:非对称布局。[Kevin Bieri, mathias.leimgruber]
引入布局配置(布局上的类)
默认情况下,我们有黄金比例-1-2-1-3-1、1-1-2 布局
此更改引入了两个新包装(div 标签),在渲染 simplelayout 内容时请注意,这些新包装可能会破坏您的 CSS 选择器。
1.18.5 (2017-07-25)
处理 Unicode 字符串中的视图名称。[mbaechtold]
为新创建的块添加锚点。[Kevin Bieri]
当要显示的图像被截断时,相册块现在将渲染一个回退图像。[mbaechtold]
使 iframe 修复与 ftw.iframefix 2.0 兼容。[Kevin Bieri]
为相册块的排序选项使用静态词汇表。[mbaechtold]
安装 ftw.iframefix。[Kevin Bieri]
1.18.4 (2017-06-15)
向相册块添加更多排序选项(父元素中的位置、id)。[mbaechtold]
将意外定义在 plonetheme.blueberry 中的打印样式移除。[Kevin Bieri]
迁移:处理不同的 simplelayout 布局。[lknoepfel]
禁用 kss spinner。[Kevin Bieri]
1.18.3 (2017-04-06)
修复 Plone 网站根目录上的排序错误。[jone]
1.18.2 (2017-03-30)
修复 simplelayout 小部件中的 UnboundLocalError。[mbaechtold]
使锚点提取更健壮。[mbaechtold]
从simplelayout视图中移除未使用的“addable_block_types”方法。[jone]
1.18.1 (2017-03-23)
修复与p.a.referenceablebehavior相关的复制/粘贴错误。[jone]
确保安装了plone.app.referenceablebehavior。[jone]
1.18.0 (2017-03-23)
改进锚点提取。[mbaechtold]
将simplelayout块顺序同步到Plone的有序容器。[jone]
改进对1.2.1中引入的隐藏块的支持。[mbaechtold]
1.17.2 (2017-03-07)
默认在plone站点上使MapBlock可添加。[raphael-s]
1.17.1 (2017-02-28)
在readme中包含主题兼容性提示。[Kevin Bieri]
防止plone ajax spinner显示。[Kevin Bieri]
删除最后一个布局时恢复slot默认值。[jone]
1.17.0 (2017-01-26)
在布局的工具栏上条件性地显示移动操作。[Kevin Bieri]
在分布式库中包含handlebars。[Kevin Bieri]
修复地图块不显示Google地图的问题。[mbaechtold]
使用browserify作为JavaScript打包器。
使用karma更新测试。
使用babeljs添加对ES6的支持。
[Kevin Bieri]
1.16.0 (2017-01-23)
扩展textblock,添加“data-caption”属性,该属性可以保存colorbox中渲染的标题(需要“ftw.colorbox” 1.2.4)。[mbaechtold]
1.15.1 (2017-01-17)
在非simplelayout内容类型上渲染simplelayout portlet。[mbaechtold]
1.15.0 (2017-01-16)
TinyMCE:在创建链接时禁用“锚点”选项卡。[jone]
TinyMCE:配置内容页面以包含锚点。[jone]
更改文本块的“主要”字段,从“图像”字段更改为“文本”字段,以支持锚点。[jone]
实现一个simplelayout渲染对象。这使我们能够在没有simplelayout提供者表达式的情况下渲染simplelayoutish结构。此外,现在可以仅渲染槽的一个布局。[mathias.leimgruber]
当无法渲染块时,记录跟踪信息。[jone]
1.14.0 (2017-01-04)
将隐藏块的选项移动到行为中,以便可以在其他块上使用它。[mbaechtold]
将ftw.referencewidget依赖项移动到contenttypes附加组件。[jone]
删除对plone.formwidget.contenttree的依赖。[jone]
1.13.0 (2016-12-06)
防止当包含具有元音符号标题的图像对象时,画廊块失败。[mbaechtold]
在overlay中禁用Plone表单的行内验证。[mbaechtold]
在小设备上隐藏工具箱。[Kevin Bieri]
突出显示活动布局。[Kevin Bieri]
修复工具栏zindex。[Kevin Bieri]
修复当块被移动时布局删除按钮的问题。[Kevin Bieri]
1.12.2 (2016-11-11)
不允许所有非文件夹类型作为默认页面选择。如果没有这个,像TextBlock这样的类型会被选中,并会破坏站点。[lknoepfel]
1.12.1 (2016-11-01)
为匿名用户启用mapblock.js。[mathias.leimgruber]
1.12.0 (2016-10-21)
实现一个inner_edit.json视图,允许我们在文件夹状块中编辑项。例如,在FilelistingBlock中直接编辑文件。此视图几乎像块编辑视图,区别在于,inner_edit.json视图返回其父级(块)的渲染HTML。[mathias.leimgruber]
1.11.1 (2016-10-13)
使youtube-videoblocks自动调整到最大可用空间。[raphael-s]
修复SCSS linting错误。
这需要ftw.theming≥1.7.0。
1.11.0 (2016-10-05)
移除调试语句::pig。[Kevin Bieri]
支持Chameleon缓存。[jone]
1.10.0 (2016-09-30)
在创建块时在新标签页上打开外部链接。[Kevin Bieri]
1.9.0 (2016-09-26)
停止支持标准plone主题(sunburst)。[Kevin Bieri]
扩展inplace migrator以创建ftw.news和ftw.events的列表块。[jone]
1.8.3 (2016-09-16)
使用ftw.referencewidget而不是plone.formwidget.contenttree。[tschanzt]
保护新的显示/隐藏标题行为。[mathias.leimgruber]
1.8.2 (2016-09-14)
为“图像替代文本”和“在overlay中打开图像”添加字段描述。[raphael-s]
修复图标位置。现在它位于图像而不是容器中。[tschanzt]
向视频块添加可选标题(默认禁用)。[mbaechtold]
1.8.1 (2016-09-06)
为内容页添加可选行为以添加复选框以显示/隐藏标题。[raphael-s]
1.8.0 (2016-09-05)
修复下落动画的背景颜色。[Kevin Bieri]
使leadimages的“has_image”和“get_scale”可使用。[jone]
错误修复:复制的event被递归调用。检查块是否实际上属于当前页面。[mathias.leimgruber]
修复文本块中的图像覆盖问题 [Kevin Bieri]
设置更改布局的权限,网站管理员和经理现在可以更改布局。 [raphael-s]
实现从 ftw.contentpage 迁移的内嵌式迁移器。 [jone]
1.7.4 (2016-08-16)
以 2/3 的比例显示地图块。 [mathias.leimgruber]
实现一种非常巧妙的方式来支持 IE11。原生的 c.geo 实现总是两次实现地图 API 并存在缓存问题。 [mathias.leimgruber]
1.7.3 (2016-08-12)
修复 1.7.2 版本的 simplelayout.js 构建和发布中的错误。 [mathias.leimgruber]
1.7.2 (2016-08-11)
修复在容器之间移动布局时的布局状态。 [mathias.leimgruber]
在停止/接收布局后禁用 iframe 修复。 [mathias.leimgruber]
像块一样移动布局。 [mathias.leimgruber]
修复在容器之间移动布局的问题。可用性仍然不是最好的。 [mathias.leimgruber]
为标记颜色盒图像添加一个图标。 [tschanzt]
1.7.1 (2016-08-05)
修复列表块表格中的单词断行。 [Kevin Bieri]
1.7.0 (2016-08-05)
实现新的块坐标行为,该行为使用自己的小部件以支持 JS 兼容性(它处理谷歌地图 API 集成)。 [mathias.leimgruber]
修复工具箱标签 zindex [Kevin Bieri]
为 InAndOutWidget JavaScript 添加 IE11 修复。在 IE11 中,修改选项文本后无法操作选择(多选)。 [mathias.leimgruber]
为 ftw.simplelayout.contenttypes 添加卸载配置文件。 [elioschmutz]
为 ftw.simplelayout.mapblock 添加卸载配置文件。 [elioschmutz]
1.6.0 (2016-07-18)
修复视频块上缺失的工具栏。 [Kevin Bieri]
使用 ftw.theming 中的 zindex 系统修复 iframe 边界。 [Kevin Bieri]
显示默认的 YouTube 播放器控件。 [Kevin Bieri]
在文件列表和相册块的重叠中翻译快速上传的标题。 [elioschmutz]
修复在移动视图中浮动图像。 [Kevin Bieri]
使 simplelayout 事件全局可用。 [raphael-s]
将 min-height 添加到空 Simplelyout 门户。这修复了在删除最后一个布局后无法重新添加布局的问题。 [mathias.leimgruber]
向图像库块添加排序选项。 [raphael-s]
1.5.2 (2016-05-26)
在加载工具箱时不要显示加载指示器。 [jone]
1.5.1 (2016-05-26)
通过聚焦第一个输入字段修复 IE11 中的编辑问题。 [jone]
1.5.0 (2016-05-26)
实现请求跟踪器。 [Kevin Bieri]
块视图:在设置 view_name 值之前检查现有视图名称。 [mathias.leimgruber]
通过检查缩放来使获取 og:image URL 更健壮。 [mathias.leimgruber]
1.4.2 (2016-05-25)
为 IE11 视频块修复错误:防止 iframe 在 IE 中停止事件冒泡。 [Kevin Bieri]
1.4.1 (2016-05-24)
修复 IE 11 中的编辑问题。 [jone]
1.4.0 (2016-05-24)
如果用户允许编辑内容,则在 simplelayout 容器上添加 css 类。 [Kevin Bieri]
实现 statekeeter 以跟踪 DOM 更改。 [Kevin Bieri]
1.3.0 (2016-05-20)
将 z3c.form 更新到 2.9.3。修复在 IE11 中添加文件列表块时的错误。 [Kevin Bieri]
从仅包含标题的文本块中删除块底部边距。 [mathias.leimgruber]
如果文本块中只有标题,则不要显示空块警告。 [mathias.leimgruber]
在 1 列时每行显示 4 个图像,在 2 列时每行显示 2 个图像,在 4 列时每行显示 1 个图像。 [mathias.leimgruber]
向 SimplelayoutBlock 空列添加 min-height。 [mathias.leimgruber]
根据 openlayers 指针修复鼠标指针位置。 [mathias.leimgruber]
向文本块添加图像标题字段。 [mathias.leimgruber]
在打开重叠时隐藏主滚动条。 [jone]
支持所有插槽的主图像。 [jone]
支持相册块的主图像。 [jone]
从文件列表块中删除“审查状态”列。通常不使用,因为文件在 simplelayout 网站上没有工作流程。 [mathias.leimgruber]
1.2.1 (2016-04-14)
重置文本块图像的默认缩放行为。 [Kevin Bieri]
现在可以隐藏一些块。允许编辑块的用户仍然会看到该块。 [mbaechtold]
1.2.0 (2016-03-30)
从 ftw.theming 匹配图像缩放尺寸。 [Kevin Bieri]
使用文本块图像的裁剪缩放。 [Kevin Bieri]
使文本块图像在中等屏幕上全宽显示。 [Kevin Bieri]
通过类图扩展文档。 [Kevin Bieri]
1.1.0 (2016-03-03)
配置 TinyMCE 资源类型。 [jone]
尊重请求中的 disable_border 键,并在存在时不要加载 simplelayout。 [mathias.leimgruber]
删除铅图缓存键。[jone]
在空列表和相册块上显示提示。[mathias.leimgruber]
为相册块和文本块实现更好的图像alt文本。提高可访问性。[mathias.leimgruber]
右侧栏重叠工具栏,应用固定z-index。[Kevin Bieri]
将样式从客户端库移动到ftw.theming集成,使用ftw.theming的基本变量。[Kevin Bieri]
修复simplelayout动态scss资源,防止在选择器为空时返回无效代码。[mathias.leimgruber]
使用默认表格列表样式。还为列实现一些合理的默认宽度。[mathias.leimgruber]
将Simlelayout视图作为可能的首页布局添加到Plone站点。此更改不需要升级步骤,因为它可能会破坏配置。[mathias.leimgruber]
1.0a1 (2015-12-04)
初始化发布
项目详情
ftw.simplelayout-3.0.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c0b05d6fd037d59da813d2800d5ba470f62b39a15b3a34b475c76f35e99e0d59 |
|
MD5 | 446f233d4a587c773087e4b4700e26e4 |
|
BLAKE2b-256 | 6597d7c15671bde41d87b268676955658ef0bbf3d355f7020d6ddef22aa17bc1 |