ApostropheCMS-从用户组访客中删除页面菜单

时间:2018-10-18 10:35:33

标签: apostrophe-cms

我有一个具有两个用户组admin和guest的ApostropheCMS实例。我很想为访客用户隐藏页面菜单。毕竟,它是空的。

如果有人能指出我正确的方向,我会喜欢的。

2 个答案:

答案 0 :(得分:2)

可能有更好的方法,但是我通过在我的externalLayout.html文件中添加一个样式块来解决此问题,该样式块仅在某人位于其无权编辑的页面上时显示。 >

页面菜单按钮的类是.apos-ui .apos-context-menu-container。我的代码最终看起来像这样:

  {% if data.piece._edit or data.page._edit %}
    // Other special stuff that only editors should see
  {% else %}
    <style>
    .apos-ui .apos-context-menu-container {
      display: none !important;
    }
    </style>
  {% endif %}

答案 1 :(得分:1)

您可以简单地覆盖apostrophe-ui模块,添加public / js / always.less 在模块中添加always.less文件,并覆盖always.less中的css部分

modules / apostrophe-ui / public / always.less

.apos-ui .apos-context-menu-container {
      display: none !important;
    }

modules / apostrophe-ui / index.js

module.exports = {

  extend: 'apostrophe-widgets',
  label: 'Custom widget',
  contextualOnly: true,
  scene: 'user',
  construct: function(self, options) {
     self.pushAsset('stylesheet', 'always', { when: 'always' });
}

此解决方案对我有用。