php template php drupal
Drupal Русскоязычное сообщество
В моей теме Друпала нет файла template.php. Но многие решения, которые я хотел бы использовать, требуют правки этого файла. Подскажите пожалуйста, как самому создать этот файл? Метод создания пустого файла не помогает.
Комментарии
Сделай на основе подобного файла из другой темы Только скорректировать не забудь )
Сделай на основе подобного файла из другой темы Только скорректировать не забудь )
Метод создания пустого файла не помогает.
Подскажите пожалуйста, как самому создать этот файл? Метод создания пустого файла не помогает.
Автор не слушай тролей они тебя обманывают. Создать этот файл не возможно.
Автор не слушай тролей они тебя обманывают. Создать этот файл не возможно.
Это мне? Я вас лично чем-то обидел?
Почему невозможно? В других-то темах этот файл есть.
Почему невозможно? В других-то темах этот файл есть.
Я вас лично чем-то обидел?
А тебя кто то обижал?
Автор, что вы хотите сделать лучше скажите.
Показывайте сайт, скажите какую тему вы скачали (и откуда).
что за моя тема? то что вы пытаетесь вставлять в него рабочее?
Я просто в блокноте создала файл с таким именем и добавляю туда все, что мне нужно
В моей теме Друпала нет файла template.php. Но многие решения, которые я хотел бы использовать, требуют правки этого файла. Подскажите пожалуйста, как самому создать этот файл? Метод создания пустого файла не помогает.
Простой и точный ответ
Я просто в блокноте создала файл с таким именем и добавляю туда все, что мне нужно
Только проверь, фаил должен лежать в корне темы. А так же должен начинаться с
Трекер
СРОЧНО. Пожалуйста, помогите! Как создать папку для загружаемых файлов?
Порядок ответов в комментариях
Как в подвале views вывести текст видный только админу.
Spam webform?
Удалить h1 c страницы
Как создать отдельную страницу с регистрацией и входом на сайт
Создание новой страницы на drupal7
Не перестанавливаются блоки
Изменение формата номера телефона при импорте
Вывод словаря(с иерархией) в Drupal7.
Новые материалы
СРОЧНО. Пожалуйста, помогите! Как создать папку для загружаемых файлов?
Удалить h1 c страницы
Как в подвале views вывести текст видный только админу.
Spam webform?
Порядок ответов в комментариях
Создание новой страницы на drupal7
Как создать отдельную страницу с регистрацией и входом на сайт
Вопросы по системному модулю поиска
preprocess_views_view_fields
Изменение формата номера телефона при импорте
На развитие drupal.ru
Ваша финансовая помощь дает нам возможность оплачивать хостинг и поддерживать стабильную работу сайта. Благодарим за поддержку!
Урок Создание отдельного шаблона страницы для разных типов ноды
По умолчанию в друпале все страницы выводятся через шаблон page.tpl.php. Можно создавать шаблоны созданные по такому принципу: если путь выглядит как имясайта/node/10, то шаблон будет выглядеть как page-node-10.tpl.php. Если создать шаблон page-node.tpl.php, то все страницы, лежащие «ниже» урла имясайта/node/ будут автоматически перекрыты этим шаблоном.
То есть, если в корне вашей темы лежит файл page-node-tpl.php и выводит только переменную $content, то на странице абсолютно любой ноды будет выведен тольько контент, без колонок, табов и прочих аттрибутов.
Этот принцип работает для любого адресса, и любого уровня вложенности в него. Однако давайте рассмотрим неординарный вариант: допустим, перекрыть надо только страницы нод определённого типа материала. Для этого потребуется поместить в template.php следующий код:
Теперь друпал научится понимать шаблоны, построенные по любому типу ноды (если вы их перекрыли).
Пример: для типа материала story шаблон будет выглядеть так:
Сейчас я немного поясню код. Для этого мне придётся рассказать о функции arg(). Она возвращает составные части текущего урла страницы. То есть для страницы http://drupalace.ru/node/add/lesson оно вернёт:
Значит, этой строкой я убеждаюсь, что нахожусь на странице с нодой (т.к. страница с нодой строится по урлу имяСайта/node/нид):
Далее всё вообще прозрачно:
Применяется это к любым шаблонам и страницам. Просто я делал всё на примере node.
Вот и вся хитрость. Таким же образом можно создать себе шаблоны на абсолютно любой случай жизни 🙂
Drupal Русскоязычное сообщество
Хотелось бы найти простой способ создавать блоки с PHP-кодом, для дальнейшего их размещения в шаблоне сайта стандартными средствами drupal. Идеальный вариант был бы просто создание блока, где вписывается ссылка на PHP-файл на диске. Идея хранить PHP-код в базе мне не нравится. Подскажите, может существует готовое решение?
Комментарии
А чем стандартный block api не подходит?
Для 6 друплы из коробки был модуль php filter, просто делаете формат ввода php и профит
Как вариант можно темизировать шаблон нужного блока
А чем стандартный block api не подходит?
Для 6 друплы из коробки был модуль php filter, просто делаете формат ввода php и профит
Искал такой модуль для Drupal 7, но видимо нет такового.
А зачем его искать? Заходим http://сайт.ру/admin/modules включаем PHP filter и юзаем его в блоках.
Вообще не вижу проблем с PHP при создании новых блоков. Фсе работает искаробки!
«ХулиGUN» написал(а):
Для 6 друплы из коробки был модуль php filter, просто делаете формат ввода php и профит
Искал такой модуль для Drupal 7, но видимо нет такового.
Куда вписывать код API изначально? В шаблон template.php? Можно какой-нибудь простейший пример такого блока?
А где искали? Этот модуль и в 7-ку входит. Только зачем он вам, если вы сами сказали что идея хранить PHP-код в базе мне не нравится?
При желании можно и в шаблоне всё сделать, а лучше использовать block api. Все примеры тут.
Включение модуля сильно тормозит сайт.
Какие минимально необходимо задействовать хуки block api, чтобы просто создать блок без всяких настроек и текстов? Необходим простейший блок, который бы можно было вставить в шаблон через «структура»->»блоки».
hook_block_info и hook_block_view
Делаю в template.php так :
Сбрасываю кеш сайта. В списке блоков все равно мой блок не появляется. Подскажите, что не так.
Define all blocks provided by the module.
Трекер
СРОЧНО. Пожалуйста, помогите! Как создать папку для загружаемых файлов?
Порядок ответов в комментариях
Как в подвале views вывести текст видный только админу.
Spam webform?
Удалить h1 c страницы
Как создать отдельную страницу с регистрацией и входом на сайт
Создание новой страницы на drupal7
Не перестанавливаются блоки
Изменение формата номера телефона при импорте
Вывод словаря(с иерархией) в Drupal7.
Новые материалы
СРОЧНО. Пожалуйста, помогите! Как создать папку для загружаемых файлов?
Удалить h1 c страницы
Как в подвале views вывести текст видный только админу.
Spam webform?
Порядок ответов в комментариях
Создание новой страницы на drupal7
Как создать отдельную страницу с регистрацией и входом на сайт
Вопросы по системному модулю поиска
preprocess_views_view_fields
Изменение формата номера телефона при импорте
На развитие drupal.ru
Ваша финансовая помощь дает нам возможность оплачивать хостинг и поддерживать стабильную работу сайта. Благодарим за поддержку!
Drupal Русскоязычное сообщество
Вожусь с созданием отдельного шаблона страницы для разных типов ноды. Под шестёрку это делалось так. А как такое реализовать в седьмом?
Комментарии
к примеру так: node—book.tpl.php, node—blog.tpl.php
к примеру так: node—book.tpl.php, node—blog.tpl.php
Спасибо Stan.Ezersky.
Шаблоны должны называтся page—type—мой_тип.tpl.php и для конкретной ноды page—node—конкретный_ид.tpl.php
Странно, но почему-то у меня не работает.
template.php:
page—node—15.tpl.php:
Потому что надо не page—node—15.tpl.php а page__node__15.tpl.php
Потому что надо не page—node—15.tpl.php а page__node__15.tpl.php
Хотя не, именно page—node—15.tpl.php правильно
У меня тоже не чего не получается, можно подробнее расписать, по ссылки читал, но в связи с не очень хорошим знанием английского языка, мало что понял.
Все разобрался, в коде mytheme не изменил на свое, а файл должен быть page—type—типноды.tpl.php
Не забывайте кэш сбрасывать, друзья мои. Час ковыряла бедные шаблоны пока не поняла это.
С созданием отдельного шаблона для конкретной ноды или типа ноды понятно, а можно ли как-то темизировать саму страницу на которой выводятся ноды определенного типа?
Например есть ссылка меню с адресом термина таксономии (taxonomy/term/1) которая отображает список нод одного типа. Как применить свой шаблон к этой странице?
господа форумчане. тема актуальна, я вот тоже не могу добиться желаемого.
в www\themes\bartik\template.php:
есть страницы типа «sell», тип определяется корректно, проверил (в вышенаписанный скрипт добавлял вывод типа страницы. выводилось.)
файл «www\themes\bartik\templates\page—type—sell.tpl.php». Если содержимое файла:
.field-name-body
<
float : right ;
clear : right ;
width : 450px ;
text-align : left ;
>
то собственно все это и выводится вместо ноды.
если же данное обрамить в = «text/css» > >
страница выводится абсолютно пустая.
поясните где и чего я недопонимаю.
Есть файл типа node—add—apps.tpl.php, какой будет правильный код для переопределения шаблона в template.php для страницы добавления материалов? Второй день маюсь, никак не получается
При этом имя файла: page—node—partners_page.tpl
Сейчас мне нужно присвоить свой шаблон для всех страниц типа services (не нод, а страниц). Тип материала services создан.
Вышеприведенное перекрытие работает для чего угодно (тип ноды, отдельная страница), только не для страницы типа ноды.
Ничего не поменялось случайно? Или где я косячу?
Блог Vaden Pro
Применение шаблонов block.tpl.php для темизации блоков в Drupal 7
При работе на CMS Drupal 7 вы можете темизировать при помощи шаблонов, практически любой элемент, начиная от целой страницы, заканчивая отдельными полями. Блоки не стали исключением, для них также есть шаблон block.tpl.php и при его помощи можно подстраивать вывод блока под себя. Обычные блоки темизировать не надо, ведь внутри их можно написать любой код, а вот системные блоки или же блоки выводимые представлением не так просто изменить, но об этом чуть позже.
Какие шаблоны block.tpl.php можно использовать?
Перед началом работы с темизацией блоков стоит обратить внимание, какие существуют шаблоны.
Первый шаблон используется по умолчанию и затрагивает все блоки, которые есть на сайте.
Он по умолчанию встроен в друпал и его можно найти в директиве /modules/block/block.tpl.php
В нём содержится код, который используя при выводе блока по умолчанию.
Так, для того, что бы воздействовать на все блоки в Sidebar second название будет выглядеть следующим образом: block— sidebar_second.tpl.php
Этот шаблон необходим для темизации всех блоков выведенных при помощи конкретного модуля.
Узнать в ком модуле выводится шаблон можно двумя способами.
Первый это сначала использовать шаблон типа block.tpl.php, в нём вывести dpm($block);
На странице найти необходимый нам блок и открыв сообщение найти строчку под название module и взять значение.
А также можно зайти в настройки блока
И он будет написан в адресной строке после /manage/..
При помощи уточнения, а именно дописания [дельты], можно темизировать конкретный блок, так как [дельта] у каждого блока уникальная
Где брать название модуля мы уже выяснили, теми же способами можно узнать и название дельты, также при помощи dpm($block)
И при помощи адресной строки в настройке блоке, дельта идёт следом за модулем
Важность шаблона
Теперь когда мы знаем какие существуют шаблоны блоков, пришло время выяснить какой из ни будет задействован.
Главным шаблоном, который перекрывает все другие является block—[модуль]—[дельта].tpl.php.
Если он отсутствует то следом будет подключён шаблон block—[модуль].tpl.php.
Если система не найдёт вышеупомянутые шаблоны она начнёт искать block—[регион].tpl.php.
И если уже и этого шаблона нет, то будет подключен шаблон block.tpl.php.
Стоит обратить внимание, что местоположение шаблона тоже играет существенную роль, сначала будут подключены шаблоны которые находятся внутри папки текущей темы, а затем шаблоны с папки /module/… Следовательно если у вас в папке темы будет шаблон block.tpl.php то он перекроет этот же шаблон который находится в папке модуля.
Переменные
Кроме самого кода, в файле стандартного шаблона, написаны еще переменные, которые можно использовать для темизации блоков. В самом файле они разделены на «Available variables» (Доступные (Основные) переменные),
и «Helper variables:» (Вспомогательные переменные)
Рассмотрим каждые из них
$block->subject – название самого блока.
$content – содержит контентную информацию
$block->module – название модуля, который был задействован при выводе блока
$block->delta – идефикатор. Является не повторимым и содержится в каждом блоке, благодаря ему можно обращаться к конкретным блокам.
$block->region – содержит название региона в котором был выведен блок.
$block_zebra – присваивает классы odd и even, в соответствии с с чётностью элемента. Напрямую связанна с регионом в котором находится блок, следовательно исчисление идёт от первого элемента внутри региона
$block_id— содержит значения id блока, внутри определённого региона
$id— содержит значение id блока, но не привязан к региону.
Следующие переменные присваивают значение «Истина» при соблюдении условий:
$is_front – блок на главной странице
$logged_in – пользователь залогинен(авторизован) на сайте
$is_admin – авторизованный пользователь является администратором
Подключение шаблона и пример использования
Для начала нам стоит какие или какой именно блок мы будем темизировать и создать соответствующий файл. Для примера мы будем темизировать блок созданный представлением «Жанры».
Для этого создадим файл с названием block—views—ganre-block.tpl.php и откроем его.
Теперь стоит перейти в дерективу module/block/ и найти там стандартный файл block.tpl.php, скопировать его содержимое и вставить в наш ново созданный шаблон блока.
И у нас должно получиться следующие.
Теперь у нас есть новый шаблон для блока с жанрами, осталось его подключить, а для этого необходимо перейти в раздел конфигурация, на административной панели сайта, найти в ней подраздел «Разработка» и перейти по ссылке «Производительность».
В открывшимся окне необходимо нажать на кнопку «Очистка кэша». После чего наш шаблон будет подключён
Теперь наш шаблон подключен и мы можем вносить в него изменения.
Пропишем наше условие и сохраним документ.
Теперь если мы выйдем из своей учётной записи то в нашем блоке не будет выводится содержимое
А если мы авторизуемся то содержимое блока будет выводится.
Так мы можем добавить в содержимое блока специальные подписи, поменять оформления заголовков и сделать еще множество вещей для приведения нашего сайта к желательному для нас виду.
Важно
Будьте внимательны в темизации блоков, особенно при выборе шаблона, ведь в Drupal 7 вывод всего контента совершается через блоки.