【问题标题】:How to hide a widget if an editor/admin is connected (Apostrophe CMS and Nunjucks)如果连接了编辑器/管理员,如何隐藏小部件(撇号 CMS 和 Nunjucks)
【发布时间】:2018-10-18 01:40:07
【问题描述】:

如果编辑器(或管理员)已连接(使用撇号),我想隐藏一个小视图。

我想要这样的东西(伪代码)

{% if not connected %}
{% include "myView.html" %}
{% endif %}

【问题讨论】:

    标签: apostrophe apostrophe-cms nunjucks


    【解决方案1】:

    这适用于许多情况:

    {% if not data.user %}
      {% include "myView.html" %}
    {% endif %}
    

    或者,如果您只想知道当前用户是否可以编辑当前页面:

    {% if not data.page._edit %}
      {% include "myView.html" %}
    {% endif %}
    

    (第二种技术只对页面模板有意义。你没有提到这是什么类型的模板,所以我想我最好指出这一点。)

    【讨论】:

      【解决方案2】:

      您可以使用虚拟(空)模板。它有效,但我认为撇号有更好的方法:)

      var nunjucks  = require('nunjucks');
      var env = nunjucks.configure();
      
      var res = nunjucks.renderString(`
          {% include "myView.html" if connected else "dummy.html" %}
          `, {connected: false});
      
      console.log(res);
      

      【讨论】:

      • 提问者想知道如何根据用户是否登录来改变行为,并且提问者的原始if语句是可以的;它正在获取他们需要帮助的“已连接”的值。
      猜你喜欢
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多