通过page.tpl.php制作干净的页面

时间:2010-06-07 04:55:10

标签: php javascript jquery drupal drupal-6

我有一个Drupal模块通过hook_menu()创建一个页面。我试图使它成为页面没有无关的html输出,只有我想要的。您可以在此处查看此页面http://www.thomashansen.me/chat/thomas。如果查看源代码,最后可以看到一个奇怪的脚本标记。

我的page-chat.tpl.php看起来像这样,

<?php
// $Id$
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
<head>
</head>
<body>
<?php print $content; ?>
</body>
</html>

脚本标签来自哪里?我该如何摆脱它呢?如果您需要更多信息,请询问。

4 个答案:

答案 0 :(得分:0)

如果你在谈论这个:

<script type="text/javascript" src="/sites/all/modules/google_analytics/googleanalytics.js?n"></script> 
<script type="text/javascript"> 
<!--//--><![CDATA[//><!--
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
//--><!]]>
</script> 
<script type="text/javascript"> 
<!--//--><![CDATA[//><!--
try{var pageTracker = _gat._getTracker("UA-15854642-1");pageTracker._trackPageview("/403.html?page=" + document.location.pathname + document.location.search + "&from=" + document.referrer);} catch(err) {}
//--><!]]>
</script>

这是由Google Analytics module添加的Google Analytics代码。您可以禁用该模块以删除代码。

答案 1 :(得分:0)

抱歉,该页面需要查看权限。无论如何,剧本现在已经消失了。也许只是时间修复它。

答案 2 :(得分:0)

您在评论中提到的内容来自devel_themer(devel模块的一部分)模块。它正在扩展全球Drupal js varaible。

Drupal创建一个全局的Drupal js变量,它包含不同的信息。模块和主题可以使用它来创建一些带有Drupal信息的变量,它们需要它们,比如API密钥或变量,以确定脚本的行为方式。

devel_themer将有关输出的不同部分的信息发布到脚本变量。这就是它如何使您可以检查标记并查看用于生成输出的主题函数或模板,以及如何覆盖它。它会创建大量span标记,并显示您在脚本中看到的信息,具体取决于您使用鼠标悬停在哪一个上。

答案 3 :(得分:0)

如果你想要Drupal.settings而不是其他脚本,你可以做的就是你的template.php中的设置:

function THEME_preprocess_page(&$vars) {
  //get javascript Drupal.settings
  $scripts = drupal_add_js(NULL,'settings','header');
  $js_settings['setting'] = $scripts['setting'];
  $vars['js_settings'] = drupal_get_js(null, $js_settings);
}

通过

将它们打印在你的page.tpl.php中
<?php print $js_settings ?>