Category Archives: Drupal статьи

Как перенести сайт с одного хостинга на другой?

Порядок действий при переносе сайта

При переносе сайта с одного хостинга на другой необходимо выполнить следующие шаги:

  1. Подготовка к переносу. Необходимо собрать, подготовить все настройки от старого и нового хостингов.
  2. Сделать резервную копию (backup) сайта на старом хостинге.Screenshot_4
  3. Сделать дамп базы данных на старом хостинге.Screenshot_5
  4. Скачать backup сайта и дампа базы данных со старого хостинга на свой компьютер.
  5. Закачать backup сайта и дамп базы данных со своего компьютера на новый хостинг.
  6. Восстановить сайт из резервной копии на новом хостинге.
  7. Создать новую базу данных на новом хостинге и импортировать дамп базы данных  со старого хостинга.
  8. Изменить настройки сайта и базы данных (конфигурационных файлов сайта) с учётом новых параметров хостинга, подключить базу данных.
  9. Прописать новые NS сервера для домена сайта.
  10. Подождать обновления DNS в течение 3-48 часов.
  11. Проверить работоспособность сайта и оперативно исправить неожиданно появившиеся ошибки в работе сайта на новом хостинге.

 

Использование гиперссылок. Примеры.

ancorОбщий вид гиперссылки.

Синтаксис ссылки Вид ссылки
< a href=”URL-адрес или имя файла”>название ссылки (анкор)< /a>  название ссылки (анкор)

 

Название ссылки, еще называют – якорем или анкором (anchor)

Ссылка на сайт :

Синтаксис ссылки Вид ссылки
< a href=”http://k-det.dp.ua/”>Ссылка на сайт< /a>  Ссылка на сайт

 

Ссылка на страницу сайта:

Синтаксис ссылки Вид ссылки
< a href=”http://k-det.dp.ua/?p=1980/”>Как защитить сайт от копирования< /a>  Как защитить сайт от копирования

 

Ссылка на файл для копирования или просмотра:

Синтаксис ссылки Вид ссылки
< a href=”http://k-det.dp.ua/wp-content/uploads/2013/10 promort.pdf”>Копировать файл< /a>  Копировать файл

 

Ссылка картинка:

Синтаксис ссылки Вид ссылки
< a href=”http://k-det.dp.ua/”>< img src=”komp.gif”>< /a>  komp

 

Ссылка на электронную почту

Синтаксис ссылки Вид ссылки
< a href=”mailto:arbeshnik@gmail.com”> Моя почта< /a> Моя почта

 

Использование атрибутов в гиперссылке:

Title  – этот атрибут применяется в том случае, когда необходимо отразить информацию при наведении курсора на текст гиперссылки  :

Синтаксис ссылки Вид ссылки
< =”http://k-det.dp.ua/” title=”Перейти на главную страницу”>Главная страница< /a>  На главную

Атрибут target –  имеет такие значения:

_blank — ссылка открывается в ново окне,

_parent — загружает ссылку в родительском окне,

_self — по умолчанию. Открывает ссылку в этом же окне.

Синтаксис ссылки Вид ссылки
< a href=”http://k-det.dp.ua/”   target=”_blank”>На главную< /a>

На главную

Ошибка Drupal – Warning: Invalid argument supplied for foreach() in /sata1/home/users/…/modules/cck/content.module on line 1284.

Появилась эта ошибка после того, когда я удалил пользователей не прошедших до конца регистрацию на сайте. Поиск в рунете выдал мне подобные ошибки на многих сайтах. Помощь пришла внезапно, нашел сайт http://www.sipth.ru где описывалась подобная ошибка. Воспользовался прилагаемым модулем к стать и он мне помог. Название плагина Anonimus user который можно скачать.

  Anonymous user (6.9 KiB, 77 hits)

Он исправил все ошибки.

Модуль проверяет, что анонимный пользователь существует, в противном случае его создает.

Как написано в описании этого модуля –

По умолчанию в таблице пользователей есть анонимный пользователь, который может быть идентифицирован по ID равным “0”. В некоторых случаях идентификатор этого пользователя могут быть потеряны, что нарушает функционирование анонимных пользователей в Drupal. Вероятно, это происходит после принятия свалку или восстановление базы данных. Этот модуль должен быть запущен в хрон. Это действительно очень важная задача: гарантирует, что анонимный пользователь существует с ID равным “0”

Фотогалереи на Drupal

Существует множество способов показать изображения посетителю сайта на Drupal. Начиная от простоко копирования изображений на хостинг через FTP с последующей встввкой ссылок на них в HTML коде и заканчивая готовыми платными решениями сторонних разработчиков. Оптимальным вариантом представляется использование бесплатных модулей для Drupal. О некоторых из них и пойдет здесь речь.

Модуль Image

Классика жанра. Модуль Image включает в себя модули: Image Attach, Image Gallery, Image Import, ImageMagick Advanced Options
Для корректного подключения последнего нужно руками скопировать файл
sites/all/modules/image/image.imagemagick.inc

в каталог
includes

а затем выбрать ImageMagick Advanced Options на странице
/admin/settings/image-toolkit

.
Включив модуль Image, мы получим дополнительный тип материала “Изображение”, который отличается от встроенных Страница (Page) или Заметка (Store) наличием дополнительного поля “Изображение”. Указанный в нем графический файл отображается над содержимым материала (ноды).

Модуль Image Gallery создает словарь таксономии “Image Galleries”, привязанный по умолчанию к типу материала “Изображение”. Но не смотря на использование встроенного в Друпал механизма таксономии, для управления галлереями в админке создается отдельная страница:
/admin/content/image

. И так, галереи соответствуют терминам таксономии, которые в Друпале в общем случае могут иметь иерархическую структуру. Ссылка на список галерей на вашем сайте будет иметь вид
http://имя_сайта/image

. Описанием для каждой галереи будет служить описание соответствующего термина словаря (таксономии). Миниатюра первого изображения галереи будет являться обложкой альбома. Выбрав щелчком мыши галерею из списка, попадаем на страницу с миниатюрами изображений. Количество миниатюр на одной странице галереи настраивается на
/admin/settings/image/image_gallery

. Размеры так же можно указать на свое усмотрение. Если в галерее изображений больше, чем задано для одной страницы, то под миниатюрами автоматически формируется блок кнопок для перелистывания страниц галереи. Для каждого изображения можно указать заголовок и описание в его ноде. Если не задействован Lightbox2 или другой подобный обработчик, то щелчок по миниатюре в галерее приводит к переходу на страницу данного изображения, т.е. на его ноду. Если же Lightbox2 установлен и на странице
/admin/settings/lightbox2/automatic

установлен параметр “Automatic handler for image nodes:” в значение “Lightbox”, “Lightbox grouped” или “Slideshow”, то наша галерея приобретает вполне презентабельный вид и может листаться навигационными кнопками или быть запущенной в режиме слайдшоу.

Для выгрузки сразу большого количества изображений нужно подключить модуль Image Import и на странице
/admin/settings/image/image_import

задать каталог на сервере, из которого модуль Image будет импортировать изображения в ноды и галереи. Путь можно задать либо от корня каталога, где установлен друпал, записав без предварительного слэша, например,
“tmp/image”

, либо от корня сервера (включая в путь свой домашний каталог), например,
“/home/urername/tmp/image”

с предварительным слэшем. Система проверит наличие указанного каталога и сообщит о возможности его использования. Теперь можно выгрузить в этот каталог файлы с помощью FTP клиента. После этого на странице
/admin/content/image_import

их можно будет скопировать или перенести в выбранную галерею.

Модуль Fast Gallery

Соответствуя своему названию, позволяет создать вполне презентабельную (благодаря Lightbox) галерею достаточно быстро. Однако, предлагаемый модулем функционал несколько аскетичен. После установки в админке Друпала не добавляется нового типа материала, а по адресу
/admin/settings/fast_gallery

появляется страничка “Fast Gallery”, состоящая из двух разделов: “Default – Storage engine”, “General configuration”. В первом задается порядок сортировки и количество изображений на каждой странице галерей. Если в галерее изображений больше, чем здесь задано, то автоматически формируется блок кнопок для навигации по страницам галереи.
В разделе “General configuration” добавляются галереи просто указанием трех параметров: расположение файлов на сервере, адрес для ссылок из браузера, название (заголовок) галереи. Здесь же еще несколько параметров отображения галереи и кнопки пересканирования каталогов и очистки кэша. На этой странице нужно не забыть изменить параметр “How would you like to present your gallery?” на “Lightbox” или “Lightshow”.

Недостатки:
Все параметры галерей: кол-во изображений на странице, порядок сортировки, способ показа (Lightbox, Lightshow) задаются для ВСЕХ галерей едиными.
Нет возможности задать размер миниатюр, сделать подписи к изображениям и к самой галерее. Если в самих изображениях через IPTC задать заголовок изображения для показа его в галерее, то возможны проблемы с кодировкой при отображении кириллицы.

Модуль Gallerix

Отличный модуль.Реализует два режима просмотра:
– все изображения галереи в виде миниатюр занимают отведенное для ноды пространство;
– одно выбранное изображение показано крупно в заданных размерах, а под ним лента из нескольких миниатюр, размеры и количество которых так же настраивается.

Если нужно, чтобы сопроводительный текст галлереи (Album Description) отображался не снизу под изображениями, а сверху (до них), то в файле gallerix.module в строке 985 меняем “-1″ на положительное число, скажем, на “10”

(+) в каждой галерее можно независимо опредлеять порядок сортировки (по дате, по имени, случайный) или определять порядок следования изображений вручную

(-) Вид просмотра по умолчанию (Grid, Single) для всех галерей общий.
Совсем нет разбивки на страницы. Если изображений много, то надо вручную делить их на разные галереи

Drupal ошибка ereg() is deprecated при установке

Ошибка ereg() is deprecated при установке Drupal При попытке установить cms друпал для тестирования на локальном сервере я получил ошибку: Deprecated: Function ereg() is deprecated in drupal\includes\file.inc on line 902
Немного поковырявшись в сети понял, что это из-за того на сервере новая версия PHP 5.3.1 где функция ereg() устарела.
(Друпал у меня версии 6.14) Проблему можно решить несколькими путями:
1. Самое простое скачать старую версию сервера (например старую сборку денвера, вампсервера и тд.) Но! у меня там несколько сайтов разрабатывается – мне было лень заново ставить, поэтому:
2. Нужно исправить устаревшую функцию на новую! Кажется что лезть в исходные коды это неправильно, но это работает, это быстро, и достаточно просто, хотя вначале думается иначе. Итак приступим: Заменить функцию ereg() можно либо preg_replace() либо mb_ereg(). По мнению того кто тестировал эти функции, лучше использовать: mb_ereg().
Вернемся к проблеме: Устаревшая функция находится в файле file.inc Который находится по следующему пути:
drupal\includes\file.inc
Я использую Denver и у меня полный путь такой:
C:\WebServers\home\drupal\www\includes\file.inc Находим строчку с номером 902 и заменяем ereg() на mb_ereg()
Cтрочка примерно такая: elseif ($depth >= $min_depth && mb_ereg($mask, $file))
Далее обновляем страницу в браузере или открываем новую. И любуюмеся установщиком друпала. Удачи в покорении Друпала!