Drupal 7 Drupal中带有hook\u filter\u info()的自定义过滤器

Drupal 7 Drupal中带有hook\u filter\u info()的自定义过滤器,drupal-7,Drupal 7,尝试使用hook\u filter\u info()创建自定义筛选器时遇到问题。 我必须根据当前查看节点的字段进行一些替换。我只是使用下面的代码 return str_replace('%people1%', 'REPLACING WORKING', $text); 在进程回调中,该代码工作正常,但我无法获取当前节点ID(菜单\u get\u item()或arg())。此外,每次进行某些更改时,我都必须清除缓存('cache'=>FALSE) 关于处理流程回调中的数据,有什么我需要知道的吗?

尝试使用
hook\u filter\u info()
创建自定义筛选器时遇到问题。 我必须根据当前查看节点的字段进行一些替换。我只是使用下面的代码

return str_replace('%people1%', 'REPLACING WORKING', $text);
在进程回调中,该代码工作正常,但我无法获取当前节点ID(
菜单\u get\u item()
arg()
)。此外,每次进行某些更改时,我都必须清除缓存(
'cache'=>FALSE

关于处理流程回调中的数据,有什么我需要知道的吗?

菜单\u get\u item()
arg()
从输入筛选器的流程回调调用时,不要返回不同的值;它们没有返回您期望的值,可能是因为输入筛选器是在与您想象的不同的上下文中调用的

在以下情况下调用输入筛选器:

  • 需要渲染节点主体
  • 需要呈现注释正文
  • 需要呈现使用输入格式的实体字段
  • 使用“视图”模块创建的视图使用输入格式呈现用户输入的文本
  • 模块使用输入格式呈现用户输入的文本
即使使用输入过滤器渲染节点主体,也可能有两种情况:

  • 节点在页面中单独呈现(例如)
  • 该页面显示多个节点(例如,显示提升到首页的节点列表的首页)
实现输入过滤器的模块无法理解调用它的实体,并且当前页面的路径不一定给出该信息。例如,我可以有一个模块,在mymodule/disclaimer中显示ID等于2的节点的内容,或者我可以有一个视图,在example_path/just_to_make_a_示例中显示从匹配我决定的某些条件的节点中提取的摘录

如果需要替换节点正文中的某些单词,例如,将%author%替换为节点创建者的用户名,则应该实现。

菜单\u get\u item()
arg()
从输入筛选器的进程回调调用时,不要返回不同的值;它们没有返回您期望的值,可能是因为输入筛选器是在与您想象的不同的上下文中调用的

在以下情况下调用输入筛选器:

  • 需要渲染节点主体
  • 需要呈现注释正文
  • 需要呈现使用输入格式的实体字段
  • 使用“视图”模块创建的视图使用输入格式呈现用户输入的文本
  • 模块使用输入格式呈现用户输入的文本
即使使用输入过滤器渲染节点主体,也可能有两种情况:

  • 节点在页面中单独呈现(例如)
  • 该页面显示多个节点(例如,显示提升到首页的节点列表的首页)
实现输入过滤器的模块无法理解调用它的实体,并且当前页面的路径不一定给出该信息。例如,我可以有一个模块,在mymodule/disclaimer中显示ID等于2的节点的内容,或者我可以有一个视图,在example_path/just_to_make_a_示例中显示从匹配我决定的某些条件的节点中提取的摘录


如果您需要替换节点正文中的某些单词,例如用节点创建者的用户名替换%author%,您应该实现。

非常感谢您的澄清。基于其他自定义模块,我遇到了一系列问题。帮助我的一个模块是。再次非常感谢。@CornelAndreev您能告诉我您是如何处理您的案件的,因为我面临着类似的问题吗?非常感谢您的澄清。基于其他自定义模块,我遇到了一系列问题。帮助我的一个模块是。再次非常感谢。@CornelAndreev您能告诉我您是如何处理您的案件的,因为我面临着类似的问题吗?