DataBase API Drupal 7.Работа с базой данных в седьмом друпале.

Опубликовано 2011.10.27 в разделе Drupal.

В седьмом друпале для работы с базой данных можно использовать специальное API. Его преимущества-это:простота написания кода,кроссплатформенность написаных запросов, сведение к минимуму ошибок. Из личного опыта:было написано порядка 10 сложных самописных модулей, написаных с использованием DataBase API Drupal 7, и работающих на MySql. После переноса сайта на MsSql, с использование технологии Microsoft Azure - потребовалось внести мелкие поправки всего в несколько запросов,а не переписывать по 10-20 запросов в каждом модуле.

Программное создание пресета изображения

Опубликовано 2011.10.21 в разделе Drupal.

Создать пресет изображения,или стиль вывода можно и программно. Рассмотрим пример программного создания пресета для Drupal 7. Вначале задается имя стиля вывода.Далее сохраняем его как есть.Это необходимо для получения его уникального номера isid. Получив его идентификатор можно добавлять к нему различные эффекты. Я например сделал масштабирование до трёхсот пикселей в ширину. Посмотрев документацию модуля вы найдете системные названия других эффектов. Вряд ли программное создание пресета будет актуальном. Лично мне понадобилось создать пресет при установке модуля.

Обрезка текста средствами views

Опубликовано 2011.10.15 в разделе Drupal.

Модуль вьюс может очень аккуратно обрезать текст.Оставить html тэги, обрезать только целые слова и добавлять многоточие. Сейчас мы сделаем тоже самое программно. Естественно модуль вьюс должен быть включен.
  1. $str='Абстрактные классы используются для создания семейства объектов, обладающих единым интерфейсом. Также они используются, когда нужно запретить создание объекта некоторого класса.';
  2. $par['max_length']=30; //количество символов
  3. $par['word_boundary']=true; //обрезать только целые слова
  4. $par['ellipsis']=true; //добавить многоточие

Отправка email средствами Drupal

Опубликовано 2011.10.05 в разделе Drupal.

Для уведомления посетителей о каких либо событиях часто приходится оповещать из по e-mail. Рассмотрим процесс отправки письма средствами Drupal API 7
  1. $module = 'custom_widgets'; //имя модуля
  2. $key = 'key';
  3. $language = 'ru'; //язык
  4. $params = array();
  5. $from = variable_get('site_mail');
  6. $send = FALSE; //не отправляем письмо сразу
  7. $message = drupal_mail($module, $key, $target_email, $language, $params, $from, $send); // формируем сообщение
  8.  
  9. //подготовьте переменные с темой и текстом письма
  10. $message['subject'] = $subject;
  11. $message['body'] = array();

Программный вывод views(вьюс)

Опубликовано 2011.09.27 в разделе Drupal.

Программно вывести вьюс в седьмом друпале можно так: Где первый аргумент функции views_embed_view -это имя вьюса,затем имя представления вьюса и далее аргумент, который я передаю вьюсу.
  1. print views_embed_view('slideshow_node','default', $node->vid);
или ещё вот так:
  1. $m_votings = views_get_view('og_nodes'); //загружаем вид
  2. $args[0] = $gid; //создаем список аргументов
  3. $m_votings->set_arguments($args); // устанавливаем аргументы
  4. print $m_votings->render('block_1'); //выводим нужное представление

Программный вывод изображения, используя пресет.

Опубликовано 2011.09.24 в разделе Drupal.

В Drupal 7 программно вывести изображение, с использованием стиля можно следующим образом:
  1. echo theme('image_style', array(
  2. 'style_name' => 'thumbnail',
  3. 'path' => 'public://logo.jpg',
  4. 'alt' => 'Image alt',
  5. 'title' => 'Image title',
  6. ));
где thumbnail имя стиля. Смотрите также статью о программном создании пресета.

Темизация и верстка под Drupal 6

Опубликовано 2011.08.26 в разделе Drupal.

Темизация и верстка под Drupal 6

Стандартную тему Garland мы трогать не будем. Заходим на drupal.org и качаем любую понравившуюся тему, главное чтоб она была под шестой друпал. Я выбрал тему Analytic
Также качаем ещё одну тему,для админки,т.к. у друпала может быть сразу 2 активных темы-клиентская и админска.
Для админки качаем Rubik

Распаковываем обе темы в sites/all/themes/.