ApostropheCMS - 从用户组来宾中删除页面菜单

ApostropheCMS - Remove Page Menu from user group guest

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

如果有人能指出正确的方向,我会很高兴。

可能有更好的方法来做到这一点,但我通过在我的 outerLayout.html 文件中添加一个样式块来处理这个问题,该样式块仅在有人访问他们无权访问的页面时显示编辑。

页面菜单按钮的 class 是 .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 %}

你可以简单地覆盖撇号-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' });
}

这个解决方案对我有用。