gpt4 book ai didi

Drupal - 从 View 中获取节点 ID 以自定义 block 中的链接

转载 作者:行者123 更新时间:2023-12-04 13:04:55 24 4
gpt4 key购买 nike

如何在 Drupal 中构建一个能够显示该 block 当前所在的 View 页面的节点 ID 的 block ?

我正在使用 View 来构建我的网站的一大块,但我需要能够在 PHP 模式下制作“智能” block ,这将根据 View 显示的内容具有动态内容。

如何找到 View 当前显示的 $nid?

最佳答案

这是获取节点 ID 的更可靠的方法:

<?php
// Check that the current URL is for a specific node:
if(arg(0) == 'node' && is_numeric(arg(1))) {
return arg(1); // Return the NID
}
else { // Whatever it is we're looking at, it's not a node
return NULL; // Return an invalid NID
}
?>

即使您的节点具有 path 的自定义路径,此方法也有效。和/或 pathauto模块。

仅供引用,如果不开启 path模块,Drupal 生成的默认 URL 在文档中称为“系统路径”。如果你打开 path模块,您可以设置在文档中称为“别名”的自定义路径。

因为我总是有 path模块打开,一开始让我感到困惑的一件事是 arg 是否有可能函数返回别名的一部分而不是系统路径的一部分。

事实证明, arg函数将始终返回系统路径,因为 the arg function is based on $_GET['q'] ... 经过一番研究,似乎 $_GET['q']将始终返回系统路径。

如果要从实际页面请求中获取路径,需要使用 $_REQUEST['q'] .如果 path模块已启用, $_REQUEST['q']可以返回别名或系统路径。

关于Drupal - 从 View 中获取节点 ID 以自定义 block 中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1668874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com