使用drupal hook_nodeapi

时间:2010-12-24 09:11:06

标签: drupal-6

我有一个页面tweety,其中包含一个表单,用户在文本框中输入单词,在按下搜索时,会显示与该单词对应的推文。

我想使用 hook_nodeapi 添加这些推文,但我希望这些内容仅在特定网址上而不是所有网页(或任何节点类型)。

我将使用 hook_menu 制作该页面并显示搜索表单。之后我该怎么办我用twiiter api来获取推文,这不是问题。

1 个答案:

答案 0 :(得分:0)

我认为您尝试做的是通过将发布的信息传递到页面来将推文加载到预定页面上,这是正确的吗?

我认为你可以通过几种方式实现这一目标 - 最简单,并且不需要任何复杂的脚本编写方法就是接受他们输入的单词并生成一个路径,然后您可以使用该路径来制作相关页面。

制作菜单项目:

function mymodule_menu() {
 $items = array();
 $items['mymodule/tweets/%'] = array(
  'title' => t('Tweets about' . check_plain(array(2))),
  'page callback' => 'mymodule_tweet_display',
  'page arguments' => array(2) // This is the 3rd argument in the path, the %
 );
}

在您的表单中,您需要将用户发送到此路径,以便添加到您的hook_submit函数:

$tweet_topic = $form_state['values']['your-field-name-here'];
drupal_goto('mymodule/tweets/' . $tweet_topic);

现在添加您的页面模块,您可以在这里使用twitter api:

function mymodule_tweet_display($tweet_topic) {
 $tweet_topic = check_plain($tweet_topic); 

 // Use this variable in your Twitter API call
 // ...
 // Make sure you assign your display content to the page by returning a variable
 return $page;
}