Подскажите. Как быть?
У меня есть страница photo. К ней применен определенный шаблон (page--photo.tpl.php).На этой странице изображена вьюха с фотками.
Когда нажимаю на фотку, должна открыть страница с этой фоткой, но уже с другим шаблоном.
Настроил синтаксис URL, чтобы все фотографии (полные) располагались по адресу /photos/. Они располагаются там. НО. Применяю шаблон page--photos.tpl.php, и ничего не меняется. Все равно применяется шаблон page--photo.tpl.php. Как так?
Комментарии
Обращать внимание на 2-3 первые фотки. там новые адреса
Сформулируйте вопрос понятнее. На что обращать внимание и где?
ой..я ссылку не дал...
http://mobile-compare.ru/photo. Вот, например. Фотка с ФК Челси. когда мы переходим по ней, у нас открывается страница http://mobile-compare.ru/galery/103. Я создаю шаблон page--galery.tpl.php. Но шаблон самой страницы photo перекрывает все равно новый шаблон galery.. Как сделать так, чтобы у страницы photo и у страниц galary/ были разные шаблоны?
URL и шаблоны для типов материалов никак не связаны. Почитайте про темизацию:
https://drupal.org/node/1089656
да да..догнал, но все равно не перекрывает.. Создал field--photo.tpl.php (photo - машинное имя типа материалов...)
Точнее теперь вообще какая то неведомая фигня..http://mobile-compare.ru/photos/102
А.. понял.. Но мне надо сделать страницу совсем другой. Тут получается, что в мой шаблон встраивается еще этот шаблон, для типа материалов. А мне нужен вообще другой, отдельный... может я что-то туплю.. Целый день сижу, бьюсь с галереей
field--photo.tpl.php поменял на node--photo.tpl.php. тоже не так как надо...
Разобрался. Надо было назвать файл page--type--photo.tpl.php
А в template.php прописать
<?php
function compare_preprocess_page(&$variables, $hook) {
if (isset($variables['node'])) {
$variables['theme_hook_suggestions'][] = 'page__type__'.$variables['node']->type;
$variables['theme_hook_suggestions'][] = 'page__node__'.$variables['node']->nid;
}
}
?>
Вместо compare - имя темы