Файл шаблона основной темы Drupal для любого узлаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Файл шаблона основной темы Drupal для любого узла

Сообщение Anonymous »

Как я могу переключиться на другой файл шаблона темы для любого узла, который мне нужен?
Я понимаю, как создавать подтемы, такие как node-recipes.tpl.php, для узла, который имеет путь «рецепты». ". Но я хочу иметь контроль над всем базовым шаблоном, например page.tpl.php.
Могу ли я использовать для этого какую-нибудь функцию предварительной обработки в template.php?

Сейчас у меня есть это в файле template.php:

Код: Выделить всё

function mythemename_preprocess_node(&$vars) {

// template name for current node id
$suggestions = array('node-'. $vars['nid']);

// additional node template names based on path alias
if (module_exists('path')) {
// we already can have a path alias
if (isset($vars['path'])) {
$alias = $vars['path'];
}else{
// otherwise do standard check
$alias = drupal_get_path_alias('node/'. $vars['nid']);
}

if ($alias != 'node/'. $vars['nid']) {
$add_path = '';
foreach (explode('/', $alias) as $path_part) {
$add_path .= !empty($path_part) ? $path_part.'_' : '';
$suggestions[] = 'node-'. $add_path;
}
// adding the last one (higher priority) for this path only
// node-some-long-path-nofollow.tpl.php (not for anchestors)
$suggestions[] = end($suggestions) .'-nofollow';
}

$suggestions=array_map(stripTag, $suggestions);
//print_r($suggestions);

}
$vars['template_files'] = isset($vars['template_files']) ? array_merge($vars['template_files'], $suggestions) : $suggestions;
}
спасибо

Подробнее здесь: https://stackoverflow.com/questions/318 ... r-any-node
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»