Программный вывод блока

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

Вывести блок программно можно следующим образом: Вставить код можно прямо в шаблон. Редактирование блока будет доступно в админке управления блоками.
  1. $block = block_load('block', 10); //номер блока
  2. $output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
  3. print $output;
Актуально для седьмой версии Drupal Для шестой будет несколько иначе:
  1. //$module_name - имя модуля
  2. //$number - номер блока
  3. $block = module_invoke($module_name, 'block', 'view', $number);
  4. echo $block['content'];
А если блок создан через вьюс:

Установка Drupal 7 на облако Microsoft Azure

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

Drupal 7 + Microsoft Azure Подружить эти две вещи очень даже легко. Что такое Drupal-думаю все знают..это очень гибкая и функциональная CMS. Microsoft Azure-это облачная технология,предоставляемая компанией Microsoft. В чём же её достоинство. Работает точно также,как и обычное облако. Если сайт рассчитан на высокие нагрузки-можно построить кластеры или придумать ещё что-нибудь.Облачный подход сейчас наиболее популярен.

Терминология Unity 3D

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

Проекты (Projects):
Игра, созданная в Unity будет состоять из Проекта (Project). Он будет содержать все элементы вашего проекта, такие, как модели, скрипты, уровни, меню и т.п. Обычно, один файл Проекта будет содержать все элементы вашей игры. Когда вы запускаете Unity 2, первое, что происходит, это запуск файла Проекта. (Если вы только что установили Unity, это будет файл Проекта, содержащий Island Demo.)

Сцены (Scenes):

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();