Drupal的新手,如果我的理解是错误的,请纠正我,但是通常,当Views创建一个Block时,该Block的机器名会附加到Views的机器名上。
即“ article_listing_view-block_1”
当使用block_load($ module,$ block_id)函数时,我一直在这样调用它:$ block = block_load(“ views”,“ article_listing_view-block_1”);
但是,由于某些非常奇怪的原因,一个特定的Block具有机器名称:
“ flag_comments_as_offensive-block_1”
哈希计算机ID为:
“ 92a591f5a81d13a3dd5492f073f9e135”
我之所以说“已散列”,是因为机器ID直接根据块的机器名称更改。如果我将其从block_1更改为block,它将更改,并且当我从block_1恢复为block_1时,它将把机器ID恢复为上述值。因此,计算机名称与其生成的“哈希” ID之间存在直接关联。
我不必使用block_load(“ views”,“ machine name”),而必须使用哈希的计算机ID,这不是问题,但花了我很长时间才能弄清楚。我发现的方法是进入“结构”->“块”,然后将鼠标悬停在“配置”链接上,然后查看URL。我注意到我所有其他块都有一个包含其机器ID的URL,但是对于此特定块,它是哈希的机器ID。一旦我将机器ID放入中提琴block_load中,它就像一个魅力!
所以我想这个问题可以归结为:怎么回事,为什么Drupal哈希我的机器名?这是错误还是我的错误?