Problem med template

MiSc's picture

Vet inte om jag gjort någon inställning någonstans som gör att det här inte fungerar, men i alla fall.

Mitt problem är följande:

Jag har skapat en ny content-type som heter No heading (machine: noheading), för att jag vill ha en innehållstyp där titel inte skrivs som rubrik. Jag har sedan skapat en tpl som jag kallar node-noheading.tpl.php som formar innehållet som jag vill. Men när skapar nytt innehåll mitt innehållstypen så blir det istället default-mall på de nyskapade noderna. Vad har jag gjort för fel?

Comments

Har själv stött på samma

HansRoberto's picture

Har själv stött på samma problem och löste det med att tömma cachen på admin/settings/performance. Kanske det kan vara till någon hjälp.

Fridens
/Hans

Tyvärr inte

MiSc's picture

Cachen är tömd och det fungerar inte...

/* Mikke Schirén, http://nodeone.se/ */

Saknar du node.tpl.php?

Har du en vanlig node.tpl.php i samma mapp? Annars tror jag inte du kan overrida med node-[type].tpl.php?

Har du rätt rättigheter?

Jämför med de andra filerna (ls -l). När jag skapar nya filer eller laddar upp nya filer sker det med en annan användare och då måste jag ändra behörigheten och ägandet med chmod och chown för att det ska fungera.

Nästan...

MiSc's picture

Helt plötsligt så fungerar min node-noheading.tpl.php, och jag vet faktiskt inte vad av allt jag gjorde som fungerade. Men något som inte fungerar är page-noheading.tpl.php - visst ska det få att göra samma sak med själva sidvisningen?

/* Mikke Schirén, http://nodeone.se/ */

Lite av en djungel?

Upplever också i bland att det är lite oklart vad som gäller, men det finns bra vägledning bara man hittar den :-)

Starta här: http://drupal.org/node/132442
Gå vidare här: http://drupal.org/node/190815#template-suggestions

Om jag tolkar det rätt så är följande alternativ giltiga från exemplet "http://www.example.com/node/1/edit":

  1. page-node-edit.tpl.php
  2. page-node-1.tpl.php
  3. page-node.tpl.php
  4. page.tpl.php

från mönstret page-[front|internal/path].tpl.php
dvs page-noheading.tpl.php ska INTE fungera.

Utgår från att du kör 6.x

Ingen för page

MiSc's picture

Tack. Men hur gör jag då om jag vill göra en template för en sida som är specifik för en nod-typ (i detta fall noheading)? Vad jag är ute efter mer specifikt är att skapa noder där $title inte skrivs ut på sidan i en h-tagg.

/* Mikke Schirén, http://nodeone.se/ */

Om du kör in devel-modulen

Om du kör in devel-modulen o sätter igång devel-theme så ser du vilka namn som overridar vilka.

Testa preprocess_node

I din template.php kan du manipulera variabeln som innehåller titeln.

<?php
function phptemplate_preprocess_node(&$variables) {
   
/*
     ?>

      <pre>
            <?php
              print_r
($variables);
          
?>

      </pre>
       <?php  exit;
    */

   if (
$variables['type'] == 'noheading') {
      
$variables['title'] = "";
   
//eller unset($variables['title']);
    //eller $show_title == false;
 
}
}
?>

Fulhack

MiSc's picture

Jag har en fulhacklösning i min page.tpl som fungerar:

<?php if($node->type=='noheading')
<?
php else: ?>

<h1 class="title"><?php print $title; ?></h1>
<?php endif; ?>

Men jag hade hellre viljat lösa med en egen template, hade blivit så mycket snyggare då... Men man kan kanske inte få allt :-)

/* Mikke Schirén, http://nodeone.se/ */

Sweden

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week