2012-09-04 6 views

Odpowiedz

8

Możesz dodać tę funkcję do tematu template.php

function customethemename_preprocess_node (&$vars) { 

     if ($vars["is_front"]) { 
      $vars["theme_hook_suggestions"][] = "node__front"; 
     } 
    } 

Następnie można strona strona - front.tpl.php

To rozwiąże problem

1

Polecam rozwiązanie tego problemu poprzez ustawienie określonego węzła treści na pierwszą stronę.

http://www.inmotionhosting.com/support/edu/drupal-7/homepage/change-front-page

Następnie chciałbym użyć określonego szablonu node ID.

node--[insert id here].tpl.php tj node--1.tpl.php

trzeba zrobić dwie rzeczy, zanim to będzie działać:

  1. Upewnij się, że masz kopię oryginalnego pliku node.tpl.php w folderze motywu (Zastępowana plik szablonu nie zostanie odebrany inaczej).
  2. cache Wyczyść Drupal
0

Nie trzeba ręcznie stworzyć pierwszą stronę, po prostu creaate do FrontPage przez poglądów lub inny i ustawić go w jako pierwszej stronie w:

www.yoursite.com/?q=admin/config/site-information 
6

Powinno być page--front.tpl.php

należy także pamiętać, że masz prekursorów w hierarchii do tematu (np page.tpl.php)

0

Poniższe kroki rozwiązały problem polegający na utworzeniu niestandardowej strony głównej w Drupal 7.

  1. Utwórz plik: page - front.tpl.php. Zwróć uwagę na dwa myślniki zamiast na .
  2. wyczyścić pamięć podręczną: Konfiguracja >> Rozwój >> Wyniki >> wyczyścić wszystkie bufory
0

Myślę, że najlepszym rozwiązaniem jest użycie programu FrontPage NID

function YOURTHEME_preprocess_node (&$vars) { 
list(, $frontpage_nid) = explode('/', drupal_get_normal_path(variable_get('site_frontpage', 'node'))); 

    if ($vars['node']->nid == $frontpage_nid) { 
    $vars['theme_hook_suggestions'][] = "node__frontpage"; 
    } 
} 

Ponieważ

if ($vars["is_front"]) { 
    $vars["theme_hook_suggestions"][] = "node__front"; 
} 

dodaj sugestię tematu dla wszystkich węzłów na stronie głównej, nie tylko dla węzła strony głównej