【问题标题】:Get current page/url in a hook在挂钩中获取当前页面/网址
【发布时间】:2011-03-02 01:50:55
【问题描述】:

在 hook_css_alter 中,我想禁用特定页面上的样式表。 符合以下 sn-p 的首页要求:

function morin_css_alter(&$css) {
  if(drupal_is_front_page()){
    foreach ($css as $data => $item) {
      unset($css[$data]);
    }
  }
}

现在我需要删除相册页面上的特定样式。我已经想到了几种方法来做到这一点,但我想用drupal的方式来做。

我发现最接近的函数是 drupal_get_destination() , 我不认为它是为此而设计的,但它确实返回数组中的当前路径,如 css_alter 钩子中添加的以下 sn-p 所示。

echo " PATH = " . var_dump(drupal_get_destination());

Output: PATH = array(1) { ["destination"]=> string(6) "photos" }

这是从函数/钩子内部获取路径的推荐方式,还是我应该使用全局命名空间中的一些变量?

【问题讨论】:

  • this post... 如果伊顿这么说,那是我书中的 Drupal 方式 :)

标签: drupal drupal-modules drupal-7


【解决方案1】:

你想要http://api.drupal.org/api/drupal/includes--bootstrap.inc/function/request_path/7

对于 Drupal 6,必须使用 $_GET['q']

【讨论】:

  • drupal_get_destination() 并不总是返回当前路径。当前路径实际上是未提供其他目的地(例如,在成功提交表单的情况下用于重定向)时的默认值。请参阅 drupal_get_destination() 的文档。
  • 我对 drupal_get_destination() 只字未提,我猜你的意思是作为附加信息?
  • 是的,这是使用 drupal_get_destination() 提到的原始问题的附加信息。对不起,我应该说得更清楚。
  • 大家好,感谢您的洞察力,正是我正在寻找的。 drupal_get_destination 不适合这个,现在我明白为什么了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
相关资源
最近更新 更多