Drupal — одна из самых мощнейших, сложнейших и популярнейших «редких» CMS. В данном разделе сайта вы найдете хорошие тематические статьи об этой системе.


Drupal: как переименовать первичный ключ в таблице модуля без переустановки последнего

Постановка задачи:

Итак, достаточно распространенная задача. Имеем модуль собственного авторства, который не выложен к примеру в публичный доступ, имеем таблицу модуля, созданную с помощью HOOK_schema(). Нужно, как-то обновить модуль прямо-таки находу, т.е. без переустановки последнего. А именно переименовать к примеру поле, являющееся по совместительству первичным ключом (primary key) заданной таблицы.

Решение задачи:

Берем следующий кусок программного кода, аналогичный показанному ниже, и вставляем в любую нужную вам функцию или прямо просто так: (далее…)

Опубликовано 6-12-2013 в 17:09

Drupal формы: простая загрузка одиночных файлов

В продолжение моей предыдущей статьи (а скорее в качестве начала) публикую пример формы с полем для загрузки файлов, а точнее для закачки изображения заданных размеров, типа и т.п. Все закачанные посетителями файлы будут сохраняться в каталоге, заданном по умолчанию, т.е. обычно это что-то типа http://red-book-cms.ru/sites/default/files.

Пример формы загрузки файла в Drupal 7

Листинг (без учета функции валидации): (далее…)

Опубликовано 5-12-2013 в 12:04

Drupal формы: загрузка картинок с валидацией на размер файла, размеры картинки и тип файла

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

На примере CMS Drupal 7 я покажу, как можно приделать валидаторы на размер загружаемого файла, его тип, а также размеры изображения (максимальная-минимальная высота, максимальная-минимальная ширина). (далее…)

Опубликовано 5-12-2013 в 11:42

Drupal: добавить или обновить запись в таблице с учетом primary key средствами db_merge()

Итак, сколько смотрел и читал русскоязычных сайтов вокруг да около Друпала по теме автоматического обновления или добавления записи в таблицу с учетом наличия у последней primary-кеев, везде было одно и тоже: либо примеры использования drupal_write_record() (кот. совершенно негоден для практического применения в рассматриваемом случае, т.е. он как бы работает, но очень криво, приходится изворачиваться), либо никчемный пример с db_merge() без учета уже упомянутой особенности, — по-видимому люди просто скопипастили отрывки официальной документации, да и то криво. (далее…)

Опубликовано 4-12-2013 в 14:06

Drupal: обновить или вставить запись в таблицу — drupal_write_record

Одним из способов удалить или вставить запись в системную таблицу на Drupal является функция под названием drupal_write_record(). Как вы наверное уже догадались, она позволяет либо вставить, либо удалить запись таблицы, но с парочкой существенных, и весьма неприятных нюансов, которые будут описаны ниже.

Описание задачи:

Итак, пусть мы имеем таблицу ImyaModulya_testTable. У нее есть N-ое количество обычных полей неважно какого типа. К примеру пусть это будут id, nazvanie_knigki, god_izdaniya и avtor, где, обратите пристальное внимание, поле id будет у нас primary-ключем / праймари-кеем. Исходя из данной информации код будет вот таким.

(далее…)

Опубликовано 4-12-2013 в 11:58

Drupal: простой способ разобрать урл на части

Итак, по крайней мере в Drupal 7.xx путь, заданный в hook_menu() (а может и не только через него, не проверял) можно так сказать разобрать на части-запчасти с помощью достаточно простой конструкции следующего вида:

<?php 
// Имеем путь: http://red-book-cms.ru/business/it/1212
$your_custom_id = arg(2);
?>

В переменной $your_custom_id окажется число 1212.

Если бы мы вместо arg(2) написали бы arg(1), то тогда там бы оказалось  it, arg(0) — business. (далее…)

Опубликовано 3-12-2013 в 23:08

Элементарная оптимизация Drupal или, как сделать так, чтобы Друпал не превратился в Упал

Далее приведены несколько советов по простейшей ПОВЕРХНОСТНОЙ оптимизации среднестатистического МЕЛКОГО САЙТА, работающего под управлением CMS Drupal, которые впрочем могут всегда пригодиться.

В общем все (в рамках примитивного ускорения) сводится к двум-трем вещам — ставим Devel (для отладки и мониторинга SQL запросов), избавляемся от вспомогательных модулей от которых мы можем избавиться и анализируем логи сервера на предмет набега ботов (а-ля роботов). (далее…)

Опубликовано 21-11-2013 в 16:56



Свежие комментарии

  • Администратор: к записи Николай, посмотрите файл '.htaccess' в корне сайта »
  • Николай: к записи Простите если немного не по теме. Я сделал экспорт »
  • Эрик: к записи Спасибо, помогло) 20 минут мучался) »
  • steblo: к записи спаисбо »
  • Иван: к записи Привет всем, доброго времени суток! Я излазил весь »
  • Александер: к записи Потом пригляделся, вроде Вы не это имели в виду и »
  • Александер: к записи У Вас не русифицируется, потому что не везде включ »

Статистика спама

Последние твиты