Benytte page-front.tpl.php ved læsning af blog indlæg
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?
- log ind eller opret konto for at skrive kommentarer
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.
- log ind eller opret konto for at skrive kommentarer
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.
- log ind eller opret konto for at skrive kommentarer
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);
}
}
?>- log ind eller opret konto for at skrive kommentarer
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'):
?><?php
else:
?><?php
endif;
?>Takker for svar :-)
- log ind eller opret konto for at skrive kommentarer
Lyder mystisk da "(isset($vars['node']->type) && $vars['node']->type == 'blog')" netop fanger dine blog noder.
- log ind eller opret konto for at skrive kommentarer
Log ind
Seneste kommentarer
- Tusind tak for de mange
15 timer 5 minutter siden - Det letteste med de behov er
3 dage 20 timer siden - Kære Trine
Uddyb venligst
4 dage 12 timer siden - Der findes et modul som
4 dage 12 timer siden - Hej Alexander,
Jeg kender
5 dage 9 timer siden - SOAP Client modulet er måske
6 dage 16 timer siden - kan ikke lige finde ud af det
1 uge 11 timer siden - Lav bare en theme template
1 uge 21 timer siden - Tak :)
1 uge 3 dage siden - Lidt komisk at lave et modul
1 uge 3 dage siden

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.