我正在尝试创建一个函数来根据给定的 URL 仅检索和显示 Drupal 节点的 Body 字段。
目前,我已经扩展了标准 Drupal RSS 的功能来做一个检测方法。如果您输入以下 url,就会发生这种情况: http : //mysite.com/rss.xml/page=54
最后一部分很关键——它告诉从哪个节点 ID 加载。就代码而言,我已经修改了 /modules/node/node.module 中的 node_feed() 函数来执行以下操作:
if (stristr($nids, 'page=') !== FALSE) {
$nid = substr($nids, stripos($nids, 'page=') + 5);
$result = NULL;
if ((string)(int)$nid === $nid) {
$result = db_result(db_query("SELECT `nid` FROM {node} WHERE `nid` = %s AND `type` = 'flashnode'", $nid));
}
if ($result) {
$item = node_load($result);
print($item->body);
}
exit;
}
虽然这可行,但我们担心它有两个原因:
1)结果缓存吗?这是一个非常繁重的页面,会被调用很多。
2)有没有“官方”的方式来做到这一点?一个使用带有缓存的模块,而不是半hacky的解决方法?
提前感谢您的任何指导。-汤姆