HTML Drupal 节点标题中的 ich 文本?

问题描述 投票:0回答:4

我需要节点标题能够显示一些文本格式。

据我了解,Drupal 的标题字段只是纯文本,它不允许 HTML 或任何其他输入格式。真的吗?有没有办法覆盖这个,或者其他解决方案?

我正在使用 Drupal 6。

drupal drupal-6
4个回答
6
投票

您可以很容易地在您的主题中做到这一点,有不同的方法可以做到。最简单的可能是在你的 template.php 中完成它

/* this function generates the variables that are available in your node.tpl,
 * you should already have this in your template.php, but if not create it
 */
function mytheme_preprocess_node(&$vars) {
    // It's important to run some kind of filter on the title so users can't
    // use fx script tags to inject js or do nasty things.
    $vars['title'] = filter_xss($vars['node']->title);
}

函数中发生的情况是,它覆盖了保存用于标题的变量的node.tpl 中$title 的默认值。它通常放置在 h1 或 h2 标签内,因此您应该注意这一点。 filter_xss 用于仅允许基本的 html 标签,因此保护站点,您可以在here查看该功能。这是其他一些过滤器函数,例如 check_markup 和 filter_xss_admin,但是您可以为 filter_xss 提供第二个参数,它是允许的标签数组,因此如果默认值不够好,您可以更改它以满足您的需要。


0
投票

使用函数

mytheme_preprocess_page
代替
D7


0
投票

尽管最初的问题是针对 Drupal 6,但 10 年后这篇文章仍然出现在搜索结果中。

在现代 Drupal 中,可以使用一些自定义代码,就像这里的其他一些答案所建议的那样,但它们要么不完整、笨重,要么存在开放的安全漏洞。

相反,请查看 HTML Title 模块


-1
投票

扩展wiifm提到的模块,对于D7现在还有:https://drupal.org/project/html_title_trash

它允许更多标签,并且也适用于块标题,而不仅仅是节点标题。

© www.soinside.com 2019 - 2024. All rights reserved.