代码之家  ›  专栏  ›  技术社区  ›  Finbarr

Drupal允许完整的HTML作为输入格式

  •  0
  • Finbarr  · 技术社区  · 14 年前

    我有一种特定的节点,用户必须将完整的HTML粘贴到body字段中。例如HTML,包括HTML、head和body标记。显然,Drupal的“full html”版本并不是“full html”,因为它去掉了这些标签。

    我怎么能避开德鲁帕尔?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Finbarr    14 年前

    我通过在模块中使用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
        }
    }
    
        2
  •  0
  •   jpluijmers    14 年前

    您不能使用普通节点和静态页面特定块吗?

        3
  •  0
  •   Scott Reynen    14 年前

    你不是真的规避了Drupal;你得到了Drupal所有的开销,几乎没有任何好处。要真正绕过Drupal,您根本不应该将这些静态文档放在Drupal中。Drupal的.htaccess设置为仅在URL与实际文件不匹配时加载Drupal,因此将实际文件放在当前的位置,并在Drupal所在的位置添加Drupal(该位置不应与.html文件重叠),既可以更好地工作,也更容易实现。

    如果您真的想在输出静态HTML之前在cck中转储HTML并运行大量的数据库查询,您可以将该字段更改为纯文本。