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
3. februar 2010 - 12:39
Permalink
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
3. februar 2010 - 12:47
Permalink
ø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
3. februar 2010 - 15:22
Permalink
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
3. februar 2010 - 16:19
Permalink
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
3. februar 2010 - 17:08
Permalink
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
<?phpif ($node->type!='blog'):
?>
<?phpelse:
?>
<?phpendif;
?>
Takker for svar :-)
beltofte
3. februar 2010 - 20:13
Permalink
Lyder mystisk da
Lyder mystisk da "(isset($vars['node']->type) && $vars['node']->type == 'blog')" netop fanger dine blog noder.