templates - template - Usar front.tpl en Drupal 7 para otra página
nexus template drupal (1)
Puede agregar la función theme_preprocess_page
al archivo template.php
su tema y luego agregar el nombre de su plantilla en la lista de sugerencias de plantillas.
function mytheme_preprocess_page(&$vars) {
// you can perform different if statements
// if () {...
$template = ''page__front''; // you should replace dash sign with underscore
$vars[''theme_hook_suggestions''][] = $template;
// }
}
EDITAR
Si desea especificar el nombre de la plantilla por alias de ruta, puede escribir un código como este:
function phptemplate_preprocess_page(&$variables) {
if (module_exists(''path'')) {
$alias = drupal_get_path_alias($_GET[''q'']);
if ($alias != $_GET[''q'']) {
$template = ''page_'';
foreach (explode(''/'', $alias) as $part) {
$template.= "_{$part}";
$variables[''theme_hook_suggestions''][] = $template;
}
}
}
}
Sin esta función, tendrías las siguientes sugerencias de plantillas de nodos por defecto:
array(
[0] => page__node
[1] => page__node__%
[2] => page__node__1
)
Y esta función aplicaría a su nodo las siguientes nuevas sugerencias de plantilla. Nodo de ejemplo con node/1
ruta y page/about
alias:
array(
[0] => page__node
[1] => page__node__%
[2] => page__node__1
[3] => page__page
[4] => page__page_about
)
Entonces, después de eso, puede usar page--page-about.tpl.php
para su página.
Si desea aplicar page--front.tpl.php
a su node/15
let node/15
, entonces en esta función puede agregar if statement.
function phptemplate_preprocess_page(&$variables) {
if (module_exists(''path'')) {
$alias = drupal_get_path_alias($_GET[''q'']);
if ($alias != $_GET[''q'']) {
$template = ''page_'';
foreach (explode(''/'', $alias) as $part) {
$template.= "_{$part}";
$variables[''theme_hook_suggestions''][] = $template;
}
}
}
if ($_GET[''q''] == ''node/15'') {
$variables[''theme_hook_suggestions''][] = ''page__front'';
}
}
Esto le daría las siguientes sugerencias de plantilla:
array(
[0] => page__node
[1] => page__node__%
[2] => page__node__1
[3] => page__page
[4] => page__page_about
[5] => page__front
)
El índice más alto: la prioridad de plantilla más alta.
Pregunta bastante directa:
Tengo páginas de la página front.tpl y page.tpl en uso en un sitio de drupal 7. Sin embargo, me gustaría usar page-front.tpl en otra página. ¿Es esto posible o necesito crear otra página .tpl para hacer esto?
El sitio en el que estoy trabajando está dividido en dos secciones, esencialmente son dos sitios web separados entre los que puede cambiar si es un consumidor o propietario de un negocio. Así que quiero usar la plantilla front.tpl para la página de inicio de cada sitio.
Aclamaciones.