【问题标题】:Apostrophe cms: do not want to render image title撇号 cms:不想渲染图像标题
【发布时间】:2019-04-28 20:03:02
【问题描述】:

我正在使用撇号图像在我的页面中插入图像。 当这个小部件被渲染时,有一个带有标题的标题 h4。 我想删除它。 谢谢

【问题讨论】:

    标签: apostrophe-cms


    【解决方案1】:

    我过去用 CSS 做过这个:

    .apos-slideshow h4 { display: none; }
    

    但是,您可以扩展图像小部件并在新模板中扩展 widget.html 扩展:

    {% extends 'widgetBase.html' %}
    

    然后覆盖标题栏,放入一个条件(我认为这实际上应该在基础中!):

    {%- block title -%}{% if data.widget.hideTitle %}<h4>{{ image.title }}</h4>{% endif %}{%- endblock -%}
    

    这将让您在新的小部件中指定隐藏它,即:

    {{ apos.singleton(data.page, 'logoHeader', 'apostrophe-images', {
            limit: 1,
            minSize: [ 100, 100 ],
            addLabel: 'Set header logo',
            editLabel: 'Change header logo',
            hideTitle: true,
            controls: {
              movable: false,
              removable: false,
              position: 'bottom-right'
            }
          }) 
    }}
    

    ...当然,css方式更快!

    • 也许其他人知道这样做的更好方法。

    【讨论】:

    • 建议扩展您自己的小部件模板以对库存模块进行项目级更改。
    • 最后一种方法似乎不起作用。显然没有data.widget.hideTitle。给定的示例可能有效,因为它是逻辑错误:“如果 data.widget.hideTitle 是 ,则呈现 。”
    • 正确的变量是data.options.hideTitle,所以正确的块是{%- block title -%}{%- if data.options.hideTitle -%}{%- else -%}&lt;h4&gt;{{ image.title }}&lt;/h4&gt;{%- endif -%}{%- endblock -%}。 (请务必使用%- 语法省略不必要的空格和换行符)
    【解决方案2】:

    我有类似的问题,我想在某些模块中隐藏图像标题,但在其他模块中设置不同的样式。

    现在有一个类 .apos-image-widget-image-title 应用于撇号图像 h4,您可以使用它来根据需要设置标题样式。

    也可以覆盖@bionara 的回答中提到的撇号图像模板,我想如果您想对所有图像小部件进行站点范围内的更改,这就是要走的路。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 1970-01-01
      • 2017-09-17
      • 2022-12-21
      相关资源
      最近更新 更多