Dobrý den, vytvořil jsem si nový Typ obsahu s názvem xyz. Tento typ obsahu bude
mít jiné stylizování než zbytek webu. Proto se snažím vytvořit novou šablonu.
Bohužel netuším , jak šablonu pro tento typ obsahu pojmenovat. Zkoušel jsem
page–xyz.tpl.php a nic. Pomůžete mi? Děkuji
Vytvořil jsem novou node--xyz.tpl.php a nic se nastalo..
Chápu to dobře, když vytvořím node--xyz.tpl.php, nastavím tak všechny node pro určitý typ obsahu, v mém případě xyz?
Přesně tak. Musíte ještě vyresetovat registr témat vzhledu. Buď jej vypnout zapnout, nebo použít modul admin menu a funkci Vyprázdnit veškerou mezipaměť > Registr témat vzhledu.
Pokud byste chtěl jen šablonu pro uzel daného typu, pak node--typuzlu.tpl.php (všimněte si, že v Drupalu 7 se na rozdíl od šestky používají dvě pomlčky, nikoli jedna). Pokud zásadně neměníte strukturu stránky, můžete využít toho, že ve značce body se generuje třída odpovídající prohlíženému typu obsahu. Pokud přesto potřebujete odlišné HTML, pak buď použijte v page.tpl.php nějakou podmínku, kde ověříte, zda $node->type == 'typobsahu'.
Šablonu page.tpl.php Drupal 7 přímo neumí, musíte mu pomoci v tématu vzhledu tím, že do template.php implementujete funkci themename_preprocess_page(). Jak přesně, to ukazuje třeba pěkný příklad Page templates depending on node type, kde to máte pro různé verze Drupalu.
Jak vytvářet názvy šablon obecně vám zase poradí přehled Drupal 7 Template (Theme Hook) Suggestions. Sám na tyto stránky občas kouknu, takže netřeba je sem kopírovat.