ApostropheCMS - Удалить страницу меню из гостевой группы - PullRequest
0 голосов
/ 18 октября 2018

У меня есть экземпляр ApostropheCMS с двумя группами пользователей, admin и guest.Я хотел бы скрыть меню страницы для гостей.Ведь оно пустое.

Буду рад, если кто-нибудь укажет мне правильное направление.

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Вы можете просто перезаписать модуль apostrophe-ui, добавить public / js / always.less, добавить этот файл always.less в свой модуль и перезаписать часть css в всегда .less

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

Это решение работает для меня.

0 голосов
/ 18 октября 2018

Возможно, есть лучший способ сделать это, но я справился с этим, добавив блок стиля в мой файл outerLayout.html, который отображается только тогда, когда кто-то находится на странице, для которой у него нет разрешения на редактирование.

Класс для кнопки Page Menu - .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 %}
...