如果连接了编辑器/管理员,如何隐藏小部件(Apostrophe CMS和Nunjucks)

时间:2018-10-12 15:13:44

标签: apostrophe apostrophe-cms nunjucks

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

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

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

2 个答案:

答案 0 :(得分:0)

这将在许多情况下起作用:

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

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

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

(第二种技术仅对页面模板有意义。您没有提到这是哪种模板,所以我认为最好指出这一点。)

答案 1 :(得分:-1)

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

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);