Apostrophe CMS中的自定义图像库

时间:2017-01-12 00:00:19

标签: apostrophe-cms

图像的所有可能尺寸是什么?

基本上,我如何获得已“附加”到页面的图像列表?我正在尝试创建自己的图库,因为默认图库是有限的。这是否意味着我应该创建自己的小部件,扩展'撇号图像小部件'?

所以,一旦我这样做,并将小部件添加到页面,并添加图像,我如何获得图像列表?我想获得缩略图大小,并将更大尺寸的图像放置在模态中?可用的尺寸有哪些?

以下是显示Apostrophe附带的默认图库的代码: `      {% - 用于输入data.widget._pieces - %}         {% - 设置图片= entry.item或条目 - %}         {% - 设置关系= entry.relationship - %}                        {% - 块标题 - %} {{image.title}} {% - endblock - %}              

      {%- endfor -%}

` 以下是撇号资产的文档:http://apostrophecms.org/docs/modules/apostrophe-assets/index.html

文档记录了一些可能的大小,但感觉不完整。我没有关注如何为单个资产的多个大小请求多个网址。

1 个答案:

答案 0 :(得分:2)

我是P'unk Avenue的Apostrophe的首席开发人员。

我认为您的目标是更改apostrophe-images-widgets的呈现方式。

您可以在您自己的项目中创建lib/modules/apostrophe-images-widgets/views/widget.html(不要在node_modules中修改它,只需在项目中创建一个并行文件夹)。

从Apostrophe的相应文件夹中复制widget.html文件。

然后你可以根据需要修改它。

此处记录了可用的尺寸:

http://apostrophecms.org/docs/tutorials/getting-started/adding-editable-content-to-pages.html#code-size-code

绝对利用提供的实用程序正确构建网址,就像股票widget.html一样。

当然,我相信你也想改变玩家的JavaScript。为此,您将创建:

lib/modules/apostrophe-images-widgets/public/js/always.js

在你的项目中。复制并粘贴原件作为起点。它很短,所以我在这里引用它:

// example of a widget manager with a play method.
// You don't need this file at all if you
// don't need a player.

apos.define('apostrophe-images-widgets', {
  extend: 'apostrophe-pieces-widgets',
  construct: function(self, options) {
    self.play = function($widget, data, options) {
      $widget.projector(options);
    };
  }
});

(顺便说一句,你需要缩进四个空格来引用Stack Overflow上的代码。我建议在文本编辑器中这样做然后复制和粘贴。对我来说可靠。)

此默认版本调用我们的“jquery投影仪”插件来为幻灯片显示动画。您可以删除副本中的那一行(但至少保留一个空的self.play方法,以便覆盖我们的默认实现)。然后根本就没有动画。或者你可以编写自己的逻辑。

$el的{​​{1}}参数是一个引用相关小部件的jQuery对象。始终使用play来限制事物的范围,抵制在页面级别使用find()执行所有操作的诱惑。

如果您真的喜欢我们的小部件,但在某些情况下需要不同的行为,您可以使用新名称(在app.js中)扩展它:

$(...)

然后你会创建modules: { 'my-slideshow-widgets': { extend: 'apostrophe-images-widgets' } } ,并在某些区域允许的小部件和网站周围的单身人士中加入lib/modules/my-slideshow-widgets,但也可以采用与上述相同的模式。

另见:

http://apostrophecms.org/docs/tutorials/getting-started/custom-widgets.html

有关创建完全自定义小部件的真正好的介绍。