ВопросТемизация различных страниц
вот назрел такой вопрос. Есть Тип Материала "Теория", к этому типу подключен словарь таксономии "Категории" в котором есть термины типа "Электрика", "Сантехника", "Гипсокартон" и т.д., так вот как можно сделать темизацию страницы ноды принадлежащей определенному термину? Например нода с термином "Сантехника" будет открываться в одном шаблоне, нода с термином "Электрика" в другом.
Решение с копированием page.tpl.php и дальнейшем переименованием не подходит, ибо на один термин приходится от 180 статей, места на хосте не хватит, да и заказчику не объяснить что при создании статьи нужно скопировать и переименовать такой-то файлик...
- Гость
- 29.07.2011
- 9335
Комментарии
Я всё же предложу копировать page.tpl.php, но копировать не для каждой статьи (это было бы глупо), а для каждого термина - вы же хотите темизировать именно страницы нод, пренадлежащих определённому термину таксономии, поэтому по ним и надо разделять. Добавьте в template.php вашей темы такой код:
Теперь можно создавать шаблоны page-node-term-1.tpl.php, page-node-term-2.tpl.php и т.д. - последняя цифра, это ID термина из выбранного словаря. Далее уже в шаблоне можно добавлять, например, к тэгу <body> ID термина - и в зависимости от этого писать свои стили в css.
Ух ты, спасибо! Ломал голову сидел.
хм, интересная фишка, спасибо
Да, это круто, но а как совместить с таким функцией темизации по типу материала?
Сделать так, что бы и по терминам и по типам и вот так что бы можно было page-node-38.tpl
Просто сделать вот так:
Но здесь же четкая привязка к определенному словарю. А если словарей 2,3 или даже больше? Как быть в этом случае?
Для определённых словарей:
Спасибо! Теперь функция написана практически для ЛЮБЫХ ТИПОВ НОД! :)
Не, не пашет. Странно...
Кэш чистил? Просто не работает, или ошибку выдаёт?
Всё почистил, просто белая страница, без ошибок.
Скопируй ещё раз тот код. Там была одна синтаксическая ошибка. И кстати, почитай про вывод ошибок php на экран. У тебя именно из-за этого ничего и не отображало.
Теперь все на месте! Спасибо! По поводу ошибок вывода там же если файлы в корне то при обновлении ядра нужно снова вносить. Через php.ini вариант хороший, попробую сделать.
Только хотел задать такой вопрос и тут поиск выдал ответ.
Спасибо огромное!
Говорит друпал что нету такой функции taxonomy_node_get_terms_by_vocabulary
решение нашел такое
Как это сделать на Drupal 7? У меня не работает((
Скажите пожалуйста, а как в drupal 6 сделать темизацию страниц в отдельных папках? что бы не в дериктории темы, а в теме создать допустим папку tpl и туда закидывать, пробовал так
Но не работает, а без "templates" ясное дело что работает
эта функция уже не работает, обновите пожлуйста
spleshka, обнови пожалуйста, а то я тут сижу ломаю голову :(
Комментировать