2010-03-16 48 views
2

所以我有一個問題,真的沒有發現任何解決這個,所以我希望這裏有人能幫助我。Drupal的 - 在新窗口中打開節點體

我買了書導航模塊的網站。我的首頁有多個塊,每個塊包含不同書籍的書籍導航和列表內容。

的問題是,我需要從一個新的窗口,一個街區,這個新窗口中打開的書頁應該只包含節點的身體數據,而周圍的模板的東西。

我已經設法在新窗口中打開這些節點的自定義模塊列表只從書中的書頁,但我無法弄清楚如何在這個新窗口中沒有模板的東西只打印節點體。

我在新窗口中打開書頁的解決方案是target =「_ blank」,所以它可能不是「drupal方式」來做到這一點,所以任何提示都會被讚賞。

非常感謝!

回答

0

如果你想要的是正文沒有任何的其他的「東西」,我建議重寫你正在使用的內容類型的默認主題。你可以手工完成(編寫PHP),也可以使用內容模板(模板)模塊。在的template.php(在你的主題文件夾)

+0

但這種行爲應該在沒有登錄用戶誰纔會發生。 所以基本上我需要能夠爲彈出窗口的內容指定自定義模板。它不應該影響其他相同的內容類型。只有在新窗口中打開。 – Jorgos 2010-03-16 12:12:20

1

function THEMENAME_preprocess_page(&$vars) { 
    if (isset($_GET['popup']) && $_GET['popup'] == '1') { 
    $vars['template_file'] = 'popup'; 
    } 
} 

,並創建一個popup.tpl.php與page.tpl.php中沿着你的主題裏面,與內容

<?php echo $content ?> 

刷新主題。現在你可以添加?popup = 1到你想要的任何鏈接。你將只能得到$內容

例如「用戶/ 1?彈出= 1」 :)

+0

這個解決方案似乎不適用於Drupal 7.對於如何適應Drupal 7的這個答案有什麼想法?我目前正在嘗試使用'$ vars ['theme_hook_suggestions'] [] ='page__popup';'替換'template_file'行。它*執行模板,但$內容未定義,所以只有標題顯示,沒有內容。 – cmcnulty 2013-11-07 05:07:53

+1

@cmcnulty在drupal 7中,'echo $ content'是'echo render($ page ['content'])' – Serjas 2013-11-07 12:19:36

+0

一個重大的飛躍!它仍然打印側邊欄,但至少現在它顯示的內容! – cmcnulty 2013-11-07 13:22:10