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 имя стиля. Смотрите также статью о программном создании пресета.

Group by mssql

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

В БД MSSQL оператор group by работает как то странно... У меня был запрос к MySql написанный для Drupal 7
  1. $query = db_select('cb_services_poll_child','p');
  2. $query ->leftJoin('cb_services_poll', 'pm', 'pm.id = '.$id_widget);
  3. $query ->fields('p', array('vote'));
  4. $query ->fields('pm', array('options'));
  5. $query ->addExpression('COUNT(*)','n');
  6. $query ->condition('p.srv_id', $id_widget);
  7. $query ->groupBy('p.vote');
  8. $result=$query->execute();

Скорость разработки

Опубликовано 2011.09.13 в разделе Юмор.

«Объясни мне, что это за фигня!»

Алиса, новый сотрудник, бросила пачку документов Джимми на клавиатуру, и нависла над ним, скрестив руки.

Он нажал «отмену» и взглянул на документы. Это было полное описание ERP-системы с грифом «высокой важности» — новая инициатива менеджеров, за которую они были щедро вознаграждены, требующая от программистов «инвестировать» в собственный труд.

Кавычки в php

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

В этой статье я немного расскажу о казалось бы простом-о кавычках.

Кавычки бывают разные-одинарные( ' ),двойные( " ) и обратные( ` ).

В операторе include можно использовать двойные кавычки.А например в операторе count их использовать вообще не надо. Помню один мой знакомый начинающий прогер поместил массив в двойные кавычки и пытался после посчитать количество элементов в нём. Естественно-результатом всегда была единица, хотя в массиве было много элеметов.Будьте внимательны в своём коде.

Красные линии

Опубликовано 2011.09.13 в разделе Юмор.

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

— Коллеги, — говорит Морковьева, — перед нашей организацией встала масштабная задача. Нам поступил на реализацию проект, в рамках которого нам требуется изобразить несколько красных линий. Вы готовы взвалить на себя эту задачу?