drupal

Модуль клонирования типов страниц (нод, контента, содержимого) в Drupal 6

Модуль дополняет функционал CCK, связанный с экспортом настроек типов нод в пределах одного Drupal-проекта. Функционад импорта-экспорта в модуле Content copy довольно неудобен для конечного пользователя, которому хочется одной волшебной кнопки, вместо копирования кода из окошка в окошко. Для того и сделан этот модуль. Я весьма удивился, что не нашел подобного функционала на www.drupal.org. Плохо искал?

Модуль Content clone при включении добавляет ко всем типам содержимого (кроме заблокированных от удаления и от модификации системного имени) дополнительную вкладку Clone (Клонировать). Перейдя по ней, администратор сайта может указать новое уникальное машинное имя типа контента, новое уникальное человекочитаемое имя и опциональное описание. После подтверждения формы и валидации, новый тип ноды создаётся со всеми настройками, полями и группами полей CCK.

Думаю данный модуль будет полезен для разработчиков.

Скачать модуль

Хитрости hook_menu()

В Drupal всегда радует возможность лаконично и просто разработать иногда очень серьезные вещи.

Пусть в вашем модуле требуется отобразить на отдельной странице некий объект хранящийся в базе данных, например, Gorilla. Идентификатор объекта передается в строке запроса. Модуль, соответственно тоже называется gorilla.
А теперь, 10 строк очень универсального кода в студию:

function gorilla_menu() {
  $items = array();
  $items['gorilla/%gorilla'] = array(
    'title' => 'Gorilla item',
    'page callback' => 'theme',
    'access arguments' => array('view gorilla'),
    'page arguments' => array('gorilla_view', 1),
  );
  return $items;
}

Произойдет тут следующее...

CCK поле вида «Величина-Значение»

В процессе работы над одним проектом родился модуль CCK-поля с примерно таким выводом данных в ноду:

OpenLayers 2.x Documentation

The OpenLayers 2.x Documentation Book includes documentation of the module for end-users as well as the API provided for developers.

New users should take a look at Getting Started with OpenLayers to build their first map.

Please post bug reports, support requests, and feature  on the issue tracker instead of using the comment area in the documentation pages.

 

Документация по OpenLayers 2.x включает в себя, как справку для конечных пользователей, так и олписание API для разработчиков.

Начинающие пользователи могут сразу смотреть Быстрый старт с OpenLayers, чтобы сделать свою первую карту.

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

TAPIr - Dynamic Tables API

A baby tapir.A tapir is a funny animal that happens to be this project's mascot. TAPIr is an API developed for Drupal developers to allow the easy creation and configuration of dynamic tables. In fact, we've made it so dynamic, that even the name is flexible! It stands for Tables API, and you get to decide what the r means. Eye-wink (Our favorites include by Ryan, rocks, and renegades.)

Так случилось, что именно такое смешное животное, как тапир стало маскотом этого проекта. TAPIr - это интерфейс, предназначенный для разработки под Drupal и позволяющий создавать и конфигурировать динамические таблицы. Фактически, мы сделали его настолько динамическим, что даже его название изменяемо. Это сокращение от Tables API, но вам самим решать, что означает r на конце. Eye-wink Наиболее популярными расшифровками являются Ryan, rocks, и renegades.

The Tables API mimics the Forms API by building tables based on a Table ID. For now, the Table ID refers to the function used to build the table, though it's not impossible for TAPIr to define a hook like Drupal's hook_forms. The builder function operates on an $op variable to first build the fieldset and then grab the data for the rows for each field. The term fields refers to a column in the table. Fields will be configurable from a settings page for each table so the user can adjust the title of a column, its order in the table, and whether or not it should be shown when the table is rendered.

Уже и на друпале говнокодят

Правда, пока в самописных модулях... Копаюсь тут с CMS доски объявлений.

foreach($filters as $delta => $filter){
  switch ($delta) {
    case $delta:
      $block = block_content($delta);
    break;
  }
}

Это песня. Предлагаю аффтару упростить: if($delta == $delta)...

Интегрированный с ЖЖ блог на Drupal за полчаса совершенно бесплатно

Закончил заявленную пару дней назад разработку.

Инсталляционный профиль NewsMaker предназначен как для ЖЖ блогеров, так и для владельцев независимых сайтов. Он позволяет в автоматическом режиме дублировать сообщения из Вашего stand-alone блога, сделанного на Drupal в Ваш блог или комьюнити на площадке LiveJournal. Аналогично Вы можете сохранять сообщения из Вашего ЖЖ в Ваш блог на Drupal, то есть зеркалить их.

Сайт владивостокской таксомоторной компании TAXI корона на Drupal 7 – taxicorona.ru

Сделал свою первую работу на Drupal 7. Сайт www.taxicorona.ru сделан для небольшой (а в нашем городе они все небольшие) владивостокской таксомоторной компании «TAXI корона». Использовались Drupal 7 и тема с поддержкой HTML 5.

Взломщики пробуют социальную инженерию на друпаллургах

Сегодня на всех страницах www.drupal.ru прикрепили вот такое объявление о попытках взлома Drupal-сайтов: PSA-2011-001 - "Drupal security update" social engineering.

Для старых перцев вроде меня подобная попытка зафейлить сайт действительно является Not critical, как и сказано по ссылке. Но в наше уютненькое коммуните в последнее время набижало немало новичков, чьё знание английского оставляет желать лучшего. Отсюда непонимание того, как именно работает команда разработчиков Drupal и, как следствие, потенциальная подверженность подобного рода атакам. Потому, думаю, будет нелишним перевести данное послание от высшего разума группы по обеспечению безопасности Drupal с одного великого и могучего на другой.

Табличная темизация многозначных полей CCK

С такой задачей я сталкиваюсь, когда приходится использовать многозначное поле imagefield для построения фотогалерей. Вывод иконок изображений в таблице лучше заполняет пространство веб-страницы да и выглядит аккуратнее, чем какой-либо другой способ. Конечно, есть и CSS-правила, позводляющие отображать любой тег HTML, как табличный, но работают они не во всех браузерах. И чем пытаться написать кроссбраузерный CSS, иногда проще вывести поля CCK в таблицу явно.

Синдикация материалов