允许非站点管理员通过管理员菜单访问清除缓存,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的主要内容,如果未能解决你的问题,请参考以下文章

怎么清除dns缓存批处理?

快速访问中的ftp怎样删除

Joomla 管理员重定向到安装

如何删除drupal中的缓存db条目?

shiro 退出 清除缓存

shiro 退出 清除缓存