2

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

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

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

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

4

5 回答 5

4

如果您真的不想创建自定义模块,可以使用手册页面来创建清除缓存的页面,其中包括使用 PHP 输入格式添加到页面的片段评论中的改进。请记住,通常不鼓励使用 PHP 输入格式。

于 2011-02-24T22:31:16.347 回答
3

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

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

我不确定此选项与纯 drupal GUI有何不同。毕竟,它们的构建方式相同。

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

于 2011-02-24T21:01:42.593 回答
1

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

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

于 2012-06-07T11:52:09.677 回答
1

如果您使用的是 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'),
    );
  );
}

那声音怎么样?

于 2012-07-05T16:21:05.733 回答
0

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

于 2013-04-20T10:20:25.177 回答