如何查找我的Drupal网站上是否正在使用某个区块?

3
我想从我的Drupal 6.x网站中删除一个模块。
我已经确定该模块仅在一个块中使用,现在必须遍历8个站点* 30个上下文,以确保其已被删除。有没有更快的方法来确定我的块是否正在使用以及在哪里使用?
更新:我使用上下文来控制我的内容位置,因此查看admin/build/blocks并不能帮助我。
3个回答

3

我也遇到了同样的问题。找到了一种比较麻烦的解决方法,需要使用数据库。

首先,在管理页面admin/build/blocks上获取块的机器名称,例如block-74,然后可以在上下文表中运行SELECT语句以获取正在使用该块的上下文。

SELECT name FROM context WHERE reactions LIKE '%block-74%'

根据您的安装情况更改表名和块名。希望能有所帮助。尚未进行全面测试,但似乎可以有效地解决那些棘手的块问题。


0
如果我理解你的意思正确的话...请查看 admin/build/block。在那里你可以看到所有可用的区块,它们所放置的区域,并且可以访问它们的配置(显示给用户,显示在哪些页面等)。
浏览列表,如果你没有看到这个区块,那么它就没有被使用。

1
我在问题中没有明确表达出来,但是我正在利用上下文而不仅仅是块,所以在<code>admin/build/block</code>上没有任何东西显示,因为它将所有内容都显示为禁用状态。 - undefined

-1
我不确定这是否适用于您的情况,但如果访问这些网站的数据库更快,您可以通过这种方式进行判断。
Drupal 6有一个名为"blocks"的表,列出了站点上所有已配置为每个启用的主题的块。这意味着您可以使用"module"字段和"status"字段来过滤查询,以搜索是否为该模块启用了任何块。然后,您可以进入管理界面禁用它们,或者运行数据库更新并将它们的状态设置为0以禁用该块。
希望这对您有所帮助。

OP问的是当使用上下文模块放置块时,这些块存储在哪里。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接