Benytte page-front.tpl.php ved læsning af blog indlæg

6 replies [Seneste indlæg]
willowwillow
User offline. Last seen 4 dage 14 timer ago. Offline
Joined: 26/01/2010

Hej med jer. jeg har 2 templates: page-front.tpl.php og page.tpl.php

Min blog bliver vist på forsiden, dog vil jeg gerne have at når man læser det enkelte indlæg fra bloggen, at den også benytter page-front.tpl.php (ingen venstre menu og mere plads til at læse) desværre gør den brug af page.tpl.php.

har kigget på http://drupal.org/node/223440 og http://www.lullabot.com/articles/hacking_phptemplate men kan ikke få det til at virke.

Nogle der har et fif?

kimm
User offline. Last seen 1 dag 33 minutter ago. Offline
Joined: 09/07/2007
Skjul blokke på de aktuelle sider

For hver blok du ikke vil have vist kan du i blokkens egenskaber sætte, at den skal vises på alle sider, undtagen [sti-på-den-side-den-ikke-skal-vises]. Det er forklaret ret præcist i hjælpeteksten under den boks, hvor man skal indsætte stien.

willowwillow
User offline. Last seen 4 dage 14 timer ago. Offline
Joined: 26/01/2010
øhm - Tror ikke lige det er det jeg søger.

Tror ikke lige det er det jeg søger.

Det er når man klikker ind på det enkelte blog indlæg og læser den fulde node for indlægget, at jeg vil have den til at bruge det samme udenomliggende design som page-front.tpl.php, istedet for page.tpl.php.

googletorp
User offline. Last seen 20 timer 59 minutter ago. Offline
Joined: 12/11/2008
Du kan ikke få Drupal theming

Du kan ikke få Drupal theming system til at bruge page-front-tpl.php, den vil kun blive brugt til forsiden. Ellers skal du override Drupals template vælger system, hvilket er en noget kompleks opgave.

Istedet er det meget letter som kimm skriver at styre hvornår indholdet i den sidebar bliver vist. Det skulle være ret enkelt at skjule indholdet i den alle blog indlæg sider. Hvis det theme er skruet fornuftigt sammen, vil sidebaren forsvinde hvis der ikke er noget indhold i den og det vil løse dit problem.

Alternativt kan du lave en kopi at page-front og prøve at navngive den, så Drupal vil bruge den på dine blog sider.

Du kan også tage fat i en preprocess funktion i dit theme, og styre din sidebar den vej igennem.

beltofte
User offline. Last seen 2 dage 19 timer ago. Offline
Joined: 28/11/2007
Du burde kunne gøre det

Du burde kunne gøre det rimelig simpelt i template.php filen i dit tema. Prøv noget i denne retning:

<?php
/**
* Override or insert PHPTemplate variables into the templates.
*/
function phptemplate_preprocess_page(&$vars) {
  if (
arg(0) == 'blog' || (isset($vars['node']->type) && $vars['node']->type == 'blog')) {
   
$suggestions[] ='page-front';
  }
  if (
is_array($suggestions)) {
   
$vars['template_files'] = array_merge($vars['template_files'], $suggestions);
  }
}
?>

willowwillow
User offline. Last seen 4 dage 14 timer ago. Offline
Joined: 26/01/2010
Den har jeg prøvet men den kalder bare hele blog listen

Den har jeg prøvet men den kalder bare hele blog listen og ikke blog indlægget. Men det blev til i page.tpl.php

<?php
if ($node->type!='blog'):
?>
Udskriv venstre side
<?php
else:
?>
Udelad venstre side og giv mere plads til blog indlæg
<?php
endif;
?>

Takker for svar :-)

beltofte
User offline. Last seen 2 dage 19 timer ago. Offline
Joined: 28/11/2007
Lyder mystisk da

Lyder mystisk da "(isset($vars['node']->type) && $vars['node']->type == 'blog')" netop fanger dine blog noder.

Udgiv indhold