gpt4 book ai didi

php - template.php 中的 hook_nodeapi

转载 作者:行者123 更新时间:2023-12-03 23:33:24 24 4
gpt4 key购买 nike

我正在尝试在 template.php 文件中使用 hook_nodeapi 来更改面包屑。我尝试过更改“if”语句,但似乎 Drupal 甚至没有在我的 template.php 中使用此 Hook 。

function gh_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
$productNodeType = 'product';
$tid = preg_replace('#[^\d+]#i', '', $_GET['bc']);
if ($node->type==$productNodeType && $op=='view' && $tid) {
$breadcrumb[] = l(t('Home'), NULL);
if ($parents = taxonomy_get_parents_all($tid)) {
$parents = array_reverse($parents);
foreach ($parents as $p) {
$breadcrumb[] = l($p->name, 'taxonomy/term/'. $p->tid);
}
}
drupal_set_breadcrumb($breadcrumb);
}
}

我从 Drupal: Hierarchical taxonomical breadcrumb trail 找到了这个函数(并对其进行了一些修改)

最佳答案

Hook 函数位于模块中,而不是主题中,因此这就是您的函数未被调用的原因。快速浏览一下,如果将其移动到模块,它看起来应该可以正常工作。为此,请在sites/all/modules 中创建一个具有唯一模块名称的文件夹,例如“modulename”,创建一个名为 modulename.info 的文件,如下所示:

name = Module Name
description = A module to set breadcrumbs on a product.
core = 6.x

然后创建一个名为 modulename.module 以 <?php 开头的文件然后是你的函数。启用该模块,它应该开始工作。

关于php - template.php 中的 hook_nodeapi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3950919/

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