2011-06-01 164 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