имею в папке темы файл Page.tpl.php - шаблон для всех нод, страниц, которые не имеют личные page.tpl.php как типы материала (news -> page-news.tpl.php)
но мне нужно создать вариацию page.tpl.php для урл адресов
например такой адрес site.ru/big-gun-88 (это вьюха), со своей page.tpl.php
адрес site.ru/big-gun-88/news (это другая вьюха), со своей page.tpl.php
адрес site.ru/big-gun-88/news/433.html (это другая это нода(тип news)), со своей page.tpl.php игнорируя общий шаблон page-news.tpl.php
Комментарии
пол задачи решил кодом
return;
}
$url_alias = drupal_get_path_alias('node/' . $vars['node']->nid);
if ($url_alias == ('node/' . $vars['node']->nid)) {
return;
}
$suggestions = array();
$path_parts = explode('/', $url_alias);
$template_filename = 'page';
foreach ($path_parts as $path_part) {
$template_filename = $template_filename . '_' . $path_part;
$suggestions[] = $template_filename;
}
$vars['template_files'] = $suggestions;
но осталась задача для типа материала по урл выводить разные шаблоны страниц
т.е. тип материала news
на сайте он выводится по двум адресам
сайт.ру/зона1/news.html
и
сайт.ру/зона2/news.html
2 разных шаблона должно получаться...
реально ли что то сделать. поиск юзал пару дней но что-то решения не нашел для этого случая...
типа материала я разделаю скк полем в котором выбираю зона1 или зона2
м.б. в зависимости от значения этого сск поля можно шаблон собрать?
может как то насильно шаблон присваивать нодам?
если тип материала = новости и имеет скк поле = 1
использовать шаблон пейдж-новость-1.тпл.пхп
или
если тип материала = новости и имеет скк поле = значение
использовать шаблон пейдж-новость-значение.тпл.пхп
как то так можно делать и куда такое пихать?
если такое вставить
function ИМЯТЕМЫ_preprocess_page(&$variables) {
if (arg(0) == 'node' && ($node->field_noderef_artist[0]['nid'])) {
$node = node_load(0);
$sug[] = 'page-' . $node->field_noderef_artist[0]['nid'];
$variables['template_files'] = $sug;
}
}
?>
Решил задачу
{
$vars['template_files'][] = 'page-свойшаблон';
}
только не получается общий код сделать для всех значений сск поля
чтобы шаблон был типа 'page-field_noderef_artist[0]['nid']';