【问题标题】:Allow a non-site administrator access to clear-cache through administrator menu, Drupal 6允许非站点管理员通过管理员菜单访问清除缓存,Drupal 6
【发布时间】:2011-02-24 20:38:03
【问题描述】:

我有一个具有自定义权限的站点编辑用户角色。目前他们可以访问管理菜单中的一些操作,但他们不能访问 clear-cache。

我只想将该选项公开给非管理员(站点编辑)用户角色。我在权限中找不到细粒度的选项。

我找到了一些替代选项,但它们涉及编码、自定义页面等。我想要一个纯 drupal GUI 选项(如果有的话)。不是:http://drupal.org/node/152983

原因是站点编辑器输入内容,但我正在缓存面板和视图。我需要他们能够清除缓存,以便他们可以看到所做的更改。

【问题讨论】:

    标签: drupal caching views panels


    【解决方案1】:

    如果您真的不想创建自定义模块,creating a page to clear your cache 上有手册页面,其中包括 snippet to add to a page using the PHP Input formata refinement in the comments。请记住,通常不鼓励使用 PHP 输入格式。

    【讨论】:

      【解决方案2】:

      创建带有清除缓存按钮的自定义表单不会花费很多时间,您可以让您的编辑访问。

      清除缓存需要调用的函数是drupal_flush_all_caches

      我不确定这个选项与 pure drupal GUI 有何不同。毕竟它们的构建方式相同。

      或者,您可以编写一些自定义代码,以在创建或编辑内容时清除面板/视图缓存,从而消除这种需要。

      【讨论】:

      • 是的,我知道这是一个选项。我正在寻找(希望错误)我忽略了标准 GUI / 权限中的某些内容。但是很酷,是的,我可能最终会做类似的事情。
      【解决方案3】:

      使用刷新页面缓存模块? http://drupal.org/project/flush_page_cache

      您可以指定要刷新的内容并允许特定角色

      【讨论】:

        【解决方案4】:

        如果您使用的是 admin_menu,则刷新缓存功能将授予“管理站点配置”权限,这比需要的要大得多。我正在考虑创建一个简单地执行以下操作的小模块:

        <?php
        function flusher_menu_alter($items) {
          $items['admin_menu/flush-cache']['access arguments'] = array('flush cache');
        }
        function flusher_permission() {
          return array(
            'flush cache' => array(
              'title' => t('Flush the cachce'),
              'description' => t('This allows non admins to flush the cache'),
            );
          );
        }
        

        听起来怎么样?

        【讨论】:

          【解决方案5】:

          检查新的CacheFlush 模块以清除具有不同角色的缓存,您还可以创建用于清除缓存的预设,只是您需要帮助节省开发过程的时间。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-03-16
            • 2019-11-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多