background preloader

Theaming

Facebook Twitter

Создаём тему для Drupal. Часть 3 / Drupal. 5 марта 2010 в 11:47 Часть 1, Часть 2 Шаблоны Шаблоны мы будем складывать в sites/all/themes/mytheme/templates. Создадим шаблоны page.tpl.php — для страниц, node.tpl.php — для контента, block.tpl.php — для блоков, comment-wrapper.tpl.php — для блока с комментариями, comment.tpl.php — для одного комментария, header.tpl.php — для шапки, footer.tpl.php — для подвала, region.tpl.php — для регионов. Также, по аналогии с препроцессами, мы можем создавать файлы типа node-story.tpl.php для отображения материала типа story или block-user.tpl.php для блока user. Это позволяет темизировать отдельно разные типы содержимого сайта. Page.tpl.php Основной шаблон для страницы. Node.tpl.php Шаблон вывода контента.

Region.tpl.php Шаблон вывода региона. Block.tpl.php Шаблон вывода блока. Comment-wrapper.tpl.php Шаблон блока вывода комментариев. Comment.tpl.php Шаблон отображения одного комментария. Header.tpl.php Шаблон шапки сайта. Footer.tpl.php Шаблон подвала сайта. Что в итоге В итоге мы имеем очень гибкую тему. Core templates. Быстрое введение в Forms API | Drupal API. Внимание - эта страница была лишь частично обновлена для API Drupal 6.x До тех пор, пока она не будет обновлена полностью, руководствуйтесь также и этим документом: Drupal 5.x to 6.x FormAPI changes Form API предоставляет практически неограниченные возможности для изменения внешнего вида форм с помощью пользовательских тем (темизация), проверки данных отправляемых через форму (валидации) и отправки форм.

Более того - любая форма (даже системная, входящая в ядро) при необходимости может быть изменена до неузнаваемости - элементы могут быть удалены, могут быть добавлены новые элементы, изменены существующие... Последующие страницы, конечно же, не полное руководство по этой функциональности, но послужат хорошей отправной точкой. В частности будет рассмотрено создание форм, темизация, валидация и отправка форм.

<? Php$form['foo'] = array( '#type' => 'textfield', '#title' => t('bar'), '#default_value' => $object['foo'], '#size' => 60, '#maxlength' => 64, '#description' => t('baz'), ); ? <? Человеческая форма комментирования | DrupalDance. Как вывести два поля ввода на одной строке. Темизация элементов формы. В созданных с помощью Forms API формах, каждый элемент располагается на новой строке, и имеет собственный заголовок, описание, префикс, суффикс и т.д.: Сейчас я покажу, как можно вывести два и более поля на одной строке, с помощью функций темизации: Описание формы: // контейнер для полей$form['mymodule_maxsize'] = array( '#type' => 'markup', '#theme' => 'inline_fields', // функция темизации, которая будет генерировать код этого контейнера '#description' => 'Ширина и высота', '#title' => 'Максимальные размеры картинки', '#fields_separator' => ' × ', // выдуманный атрибут, будет служить разделителем между элементами); $form['mymodule_maxsize']['mymodule_maxwidth'] = array( '#type' => 'textfield', '#default_value' => variable_get('mymodule_maxwidth', 0), '#size' => 4,); $form['mymodule_maxsize']['mymodule_maxheight'] = array( '#type' => 'textfield', '#default_value' => variable_get('mymodule_maxheight', 0), '#size' => 4,); Ну и сама функция темизация, которая генерирует html код:

Drupal Forms API. Часть 1 — для Drupal 6 / Drupal. Данная статья предназначена для тех, кто уже знаком с написанием простейших модулей, и хотел бы разобраться в принципах работы FAPI (Drupal Forms API) «на пальцах». В ней, мы разберем основы друпаловского программного интерфейса создания форм, и составим небольшой модуль, возвращающий введенное имя при помощи аяксового движка Друпала, именуемого AHAH. Как раз для этой простой формы нам и понадобится FAPI. Зачем статья на эту тему? В сети, и на Хабре в частности, есть несколько примеров модулей с FAPI. Для меня в прошлом представляло определенное затруднение разобраться в том, как создаются формы — и такое объяснение «на пальцах» очень бы мне пригодилось. Я не могу вернуться в прошлое — но могу помочь тем, кто испытывает подобные затруднения. Статья соответствует 6.x версии Друпала.

Зачем использовать формы FAPI? Естественно, можно написать форму в виде HTML и просто напечатать ее на странице, или присоединить ее к модулю как include — файл. Создадим простейший модуль В .info — файл впишем: Customizing the user profile layout. (Thanks to Dublin Drupaller for starting this section of the handbook) The PHP Snippets below are intended for use within a customized USER PROFILE page that simply enables you to "pull" specific content from your drupal database specific to a particular user and display it in the way you want.

They are intended for use with a phptemplate based theme and for Drupal site developers who do not have php programming knowledge but want to push out the boundaries of user profile pages and control precisely how they look. See also Advanced Profile Kit for an alternate method of sprucing up your user profile pages. Simple step-by-step instructions are provided. The concept Drupal is an extremely powerful tool for building online communities, in particular, allowing users to submit their own content to a community hub. Drupal has all the tools available to create your own myspace.com style community hub. Getting Started - (Drupal 4.x and Drupal 5.x) <? Getting Started - (Drupal 6.x) Available variables: