允许非站点管理员通过管理员菜单访问清除缓存,Drupal 6
Posted
技术标签:
【中文标题】允许非站点管理员通过管理员菜单访问清除缓存,Drupal 6【英文标题】:Allow a non-site administrator access to clear-cache through administrator menu, Drupal 6 【发布时间】:2011-02-24 20:38:03 【问题描述】:我有一个具有自定义权限的站点编辑用户角色。目前他们可以访问管理菜单中的一些操作,但他们不能访问 clear-cache。
我只想将该选项公开给非管理员(站点编辑)用户角色。我在权限中找不到细粒度的选项。
我找到了一些替代选项,但它们涉及编码、自定义页面等。我想要一个纯 drupal GUI 选项(如果有的话)。不是:http://drupal.org/node/152983
原因是站点编辑器输入内容,但我正在缓存面板和视图。我需要他们能够清除缓存,以便他们可以看到所做的更改。
【问题讨论】:
【参考方案1】:如果您真的不想创建自定义模块,creating a page to clear your cache 上有手册页面,其中包括 snippet to add to a page using the php Input format 和 a 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 模块以清除具有不同角色的缓存,您还可以创建用于清除缓存的预设,只是您需要帮助节省开发过程的时间。
【讨论】:
以上是关于允许非站点管理员通过管理员菜单访问清除缓存,Drupal 6的主要内容,如果未能解决你的问题,请参考以下文章