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

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

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

#1楼 票数:0

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

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

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

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

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

#2楼 票数:-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);

  ask by Maxime Clavel translate from so

未解决问题?本站智能推荐:

1回复

在Apostrophe CMS / Nunjucks中显示单个图像

非常简单的问题来了! 在我的Apostrophe标头中,我想对图像进行“硬编码”,使其始终显示在特定(横幅)位置。 我不希望任何编辑者/用户能够更改或删除图像 所以我假设我不需要使用任何单例类型的方法 而且我不需要任何类型的小部件。 因此,我要做的只是最
1回复

如何从窗口小部件中的for循环加载索引以在if条件下使用它

我有小部件加载件,我设置了for循环以在此小部件中加载单个项目,并且我想在for循环中设置每个元素的索引以利用它来确定条件,我该怎么做? 这是我的小部件内的for循环:{%代表data.widget._pieces%} 并且我试图像这样设置索引,但是没有用:{%set index =
1回复

Apostrophe-cms:无法运行撇号cms版本0.5

我是Apostrophe-cms的新手。 我正在尝试使用撇号cms版本0.5编辑我的项目。 安装新的撇号项目时,出现此错误,然后运行命令:nodeapp.js。 这些是我安装的软件包:-节点:v6.2.1-Homebrew 1.1.10-mongodb:v3.0.12-npm:v4
1回复

如何从控制器渲染nunjucks模板

我想用要传递的一些数据来渲染另一个模块的html。 我正在尝试- 我正在尝试在nunjucks模板中控制台温度变量(例如{{apos.log(temprature)}} ),但我undefined 请帮忙!
1回复

Apostrophecms在更新页面和管理员弹出窗口时发出错误

我正在尝试添加widget,即custom-image-widget如: 和其他页面中的nunjucks html呈现如下: 从页面添加工作正常,而管理员试图编辑配置文件件我得到以下错误。 请指导解决此问题,因为页面正在加载而不是打开管理员编辑配置文件的弹出窗口。 小
1回复

在模板中获取小部件选项

我知道可以为index.js添加别名,但是不建议将其用于NPM模块 。 那么,如何将诸如options对象之类的JavaScript变量传递给Nunjucks模板? data.widget仅包含一个id , type和editable 。 奇怪的是,它不包含label 。 i
1回复

ApostropheCMS-错误:不得从嵌套在另一个对render()的调用中的Nunjucks帮助器函数调用render()

我的生产中正在运行Apostrophe CMS项目。 最近,我更新了应用程序,还更新了Apostrophe CMS版本。 在此之后,我反复收到此错误: 问题是我无法检查此错误的来源。 同样,这是非常随机发生的。 在开发服务器中,我没有这个问题,也无法复制以找到根本原因。 在上述
1回复

我如何访问Apostrophe CMS上页面的子页面小部件

我的项目页面之一上有以下代码: 其中“摘录”是当前页面的所有子页面上的区域,但是显示该页面时,我只会看到一个空框: 空框 我在文档上看到了一些类似的方法:子级和联接 ,但是我不确定将示例代码用于何处(也许文档不够清晰)。 请给我一些建议,谢谢。