【发布时间】:2012-06-22 15:49:37
【问题描述】:
我在名为“协议”的自定义内容类型的正文字段中存储了一些文本。当您查看节点时,存储在 body 字段中的内容并不完全是我希望看到的内容。要么是完整的,要么是预告片。例如我可能会存储这样的东西:
"[usage]可重复使用 DNA 模板微阵列进行无细胞合成的蛋白质排列。[/usage] [安全注意事项]测试安全注意事项[/安全注意事项]"
但是当你查看它时我想要显示的是这样的:
“可重复使用 DNA 模板微阵列进行无细胞合成的蛋白质排列。 测试安全注意事项"
我教过这是你可以使用 hook_view 的,所以我在我的模块中尝试了这个功能:
function molmethtag_node_view($node, $view_mode, $langcode) {
if ($node->type == 'protocol2' && $view_mode=='full') {
$body = $node->body;
$prot_array = _molmethtag_extract_data($body['und'][0]['value']);
$protocol = '';
foreach($prot_array as $tag => $prot_row) {
$protocol .= "<div id='molmethtag_".$tag."'>".$prot_row."</div>";
}
$body['und'][0]['value'] = $protocol;
}
}
但这并没有如我所愿。我希望protocol中保存的文本在查看时显示为正文,但显示的是原始文本。
有人知道我做错了什么吗? hook_view 不用于此吗?我应该改用/做什么?
【问题讨论】: