【发布时间】:2010-08-19 20:56:51
【问题描述】:
我有一种特定类型的节点,用户必须将 FULL html 粘贴到正文字段中。例如。 html包括html、head和body标签。显然,Drupal 的“完整 html”版本实际上不是“完整 html”,因为它去除了这些标签。
如何绕过 Drupal?
【问题讨论】:
我有一种特定类型的节点,用户必须将 FULL html 粘贴到正文字段中。例如。 html包括html、head和body标签。显然,Drupal 的“完整 html”版本实际上不是“完整 html”,因为它去除了这些标签。
如何绕过 Drupal?
【问题讨论】:
我通过在模块中使用 nodeapi 钩子以一种相当残酷的方式解决了这个问题:
function your_module_name_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if($node->type == "the_relevant_type" && $op == "view") {
echo $node->body;
exit(); // stick that in your pipe and smoke it, Drupal
}
}
【讨论】:
你不能使用普通节点和静态页面特定块吗?
【讨论】:
您并没有真正绕过 Drupal;你得到了 Drupal 的所有开销而几乎没有任何好处。要真正绕过 Drupal,您根本不应该将这些静态文档放在 Drupal 中。 Drupal 的 .htaccess 设置为仅在 URL 与实际文件不匹配时加载 Drupal,因此将您的实际文件放在它们现在所在的位置并在 Drupal 所在的位置添加 Drupal(根本不应该与 .html 文件重叠)都可以工作更好,更容易实施。
如果您真的想在 CCK 中转储 HTML 并在输出静态 HTML 之前运行一堆数据库查询,您可以将字段更改为纯文本。
【讨论】: