2011-06-01 174 views
1

我有一个Drupal网站,我需要创建一个链接到不同版本的同一页面,打开一个新窗口,但隐藏所有边栏,块和标题,只是显示主要内容。这样人们可以打印页面的主要内容,而不用额外的位。Drupal弹出窗口打印

我知道我可以添加链接到打印版本,如<a href="print version of page" target="_blank">print version</a>。但后来我想添加一个新的CSS类到我可以用来隐藏额外位的页面。我不知道如何将CSS类添加到链接/页面。

我想我也可以使用JavaScript,但不确定使用哪种方法。

回答

4

试试Drupal Print模块,它提供了在Drupal中打印页面的定制。

+0

该模块听起来很完美。我以前没听说过。非常感谢您的建议。 – Ben 2011-06-01 14:03:02

+0

这个模块只有一个限制,这可能不是什么大问题,但请记住它只能打印节点(所以没有自定义模块代码)。 – hross 2011-06-01 23:28:35

2

如果Drupal的打印模块不会为你创建CSS使用的打印视图中工作(由于某种原因),标准的方法是在你的主要样式,包括以下内容:

@media print { 
    /* style sheet for print goes here */ 
} 

你会重新定义该节内的类,元素等以更改或禁止它们进行打印。

祝你好运!

+0

非常感谢您的回答。 – Ben 2011-06-01 14:01:38

0

您不需要创建新的只打印页面。

取而代之,您可以在stylesheet的底部添加类似以下内容的内容,用户将打印该页面而无需额外的额外功能。

@media print { 

body {background-image:none; background-color:#fff;} //turns off bg images 
                //sets bg to white 

div#header, div#footer, div#nav {display:none;} //hides elements 
               //change to match your divs etc. 

h1, h2, h3, h4, h5, ul, ol, div, p, a {color:black;} //changes text to black 

} 
+0

谢谢杰森,这是非常有用的,虽然我仍然希望他们在打印之前在新窗口中打开打印版本。 – Ben 2011-06-01 14:00:57

+0

在这种情况下,强制打开一个新窗口(使用相同的页面内容)并将相同的样式应用于该新页面。 – 2011-06-01 14:03:31