我有一个具有自定义权限的站点编辑用户角色。目前他们可以访问管理菜单中的一些操作,但他们无法访问 clear-cache。
我只想将该选项公开给非管理员(站点编辑)用户角色。我在权限中找不到细粒度的选项。
我找到了一些替代选项,但它们涉及编码、自定义页面等。我想要一个纯 drupal GUI 选项(如果存在的话)。不是:http ://drupal.org/node/152983
原因是站点编辑器输入内容,但我正在缓存面板和视图。我需要他们能够清除缓存,以便他们可以看到所做的更改。
我有一个具有自定义权限的站点编辑用户角色。目前他们可以访问管理菜单中的一些操作,但他们无法访问 clear-cache。
我只想将该选项公开给非管理员(站点编辑)用户角色。我在权限中找不到细粒度的选项。
我找到了一些替代选项,但它们涉及编码、自定义页面等。我想要一个纯 drupal GUI 选项(如果存在的话)。不是:http ://drupal.org/node/152983
原因是站点编辑器输入内容,但我正在缓存面板和视图。我需要他们能够清除缓存,以便他们可以看到所做的更改。
如果您真的不想创建自定义模块,可以使用手册页面来创建清除缓存的页面,其中包括使用 PHP 输入格式添加到页面的片段和评论中的改进。请记住,通常不鼓励使用 PHP 输入格式。
使用清除缓存按钮创建自定义表单不会花费很多时间,您可以让编辑器访问该按钮。
您需要调用以清除缓存的函数是drupal_flush_all_caches
我不确定此选项与纯 drupal GUI有何不同。毕竟,它们的构建方式相同。
或者,您可以编写一些自定义代码,以在创建或编辑内容时清除面板/视图缓存,这将消除这种需要。
使用刷新页面缓存模块? http://drupal.org/project/flush_page_cache
您可以指定要刷新的内容并允许特定角色
如果您使用的是 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'),
);
);
}
那声音怎么样?
检查新的CacheFlush模块以清除具有不同角色的缓存,您还可以创建用于清除缓存的预设,只是您需要帮助节省开发过程的时间。