How to install Drush on cPanel Shared Hosting

How to install Drush on cPanel Shared Hosting

The Drush command-line utility is only available on platforms that have php-cli. This means that this will only work in cPanel shared hosting. Drush is not able to be installed in any 4GH Linux shared hosting account. This article is meant to assist advanced users who are already familiar with using SSH.

Drush is a command-line utility for the Drupal web application. It provides advanced functionality for powerusers who wish to manage their Drupal site via SSH. These advanced functions include rapidly clearing the Drupal cache, installing and managing additional extensions such as security modules, and being able to quickly backup, restore, and deploy Drupal sites in one location or over a network. More information on the different options available for Drush can be obtained at Drush's support site. An excellent resource for learning and using the commands included in Drush is drushcommands.org. This guide will outline how to properly install Drush to a cPanel shared hosting account, and these external resources can better assist you in using the Drush Utility

Читать

Drupal + Drush. Часто используемые команды.

Загрузка и установка сайта

Загрузка последней стабильной версии Drupal

drush dl 

Предварительный выбор версии

drush dl --select

Установка сайта со стандартным профилем

drush site-install standard --db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' --site-name=Example

Полезные опции
--account-name=admin
--account-pass=password
--clean-url
--account-mail

Загрузка модуля (в папку sites/all/modules)

drush dl modulename

Читать

Заменить русские символы на английские MySQL

Заменить русские символы на английские в поле model mysql  таблицы uc_products.

<?php
$sql = "UPDATE `uc_products`
SET model = replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(`model`
,'А','A')
,'Б','B')
,'В','V')
,'Г','G')
,'Д','D')
,'Е','E')
,'Ё','Yo')
,'Ж','Zh')
,'З','Z')
,'И','I')
,'К','K')
,'Л','L')
,'М','M')
,'Н','N')
,'О','O')
,'П','P')
,'Р','R')
,'С','S')
,'Т','T')
,'У','U')
,'Ф','F')
,'Х','Kh')
,'Ц','Ts')
,'Ч','Ch')
,'Ш','Sh')
,'Щ','Sch')
,'Ъ','')
,'Ы','Y')
,'Ь','')
,'Э','E')
,'Ю','Yu')
,'Я','Ya')
,'а','a')
,'б','b')
,'в','v')
,'г','g')
,'д','d')
,'е','e')
,'ё','yo')
,'ж','zh')
,'з','z')
,'и','i')
,'к','k')
,'л','l')
,'м','m')
,'н','n')
,'о','o')
,'п','p')
,'р','r')
,'с','s')
,'т','t')
,'у','u')
,'ф','f')
,'х','kh')
,'ц','ts')
,'ч','ch')
,'ш','sh')
,'щ','sch')
,'ъ','')
,'ы','y')
,'ь','')
,'э','e')
,'ю','yu')
,'я','ya')";
$query_r = db_query($sql);
?>

Drupal и hook_install. В модуле не выполняется hook_install

Писала модуль, в котором добавляются новые поля в таблицу, обнаружила, что при включении модуля не выполняется hook_install. Это происходит при повторном включении модуля.

А дело вот в чем:

В Drupal есть действия: install — установка модуля, disable — отключение модуля, enable — включение модуля, uninstall — удаление модуля.
Многие не замечают вкладку «Удаление» на странице модулей. и думают, что снятие чекбокса у модуля — это удаление. однако это не всегда так.
если у модуля существует hook_uninstall(), то снятие чекбокса на странице модулей приведет не к удалению (запуск hook_uninstall()), а лишь к отключению модуля (запуск hook_disable()).

Описываемая проблема как раз из области не хватки знания. Переустановка модуля это:
1. На странице модулей отключить модуль.
2. Если модуль остался на вкладке «удаление» — удалить модуль.
3. Важно: если вы изменяете схему (hook_schema()), то проверьте удалены ли таблицы вашего модуля в базе. если не удалены — делаем из бэкап и удаляем.
4. Включаем модуль снова.

Учим мат часть =))
Читать

Всплывающие подсказки BeautyTips – ошибка typeerror: jQuery.curCSS is not a function

Или же Uncaught TypeError: Object function (a,b){return new p.fn.init(a,b,c)} has no method 'curCSS'

После обновления jQuery на Drupal сайте выше версии 1.8 (пробовала ставить разные, и 1.9, м 1.10) в консоли браузера выводилась такая ошибка (в зависимости от браузера). Соотвественно, всплывающие подсказки BeautyTips не выводились.

После гугленья нашла это: https://www.drupal.org/node/1902324

Применила этот патч https://www.drupal.org/files/beautytips-remove_obsolete_curcss_function_3.p
Читать

Drupal 7. Ошибка при отображении термина таксономии из словаря, используемого в поле ноды.

Обнаружила ошибку в 7 друпале. При попытке просмотреть термин словаря, который был добавлен в поле какой-либо ноды, выползают вот такие ошибки:

Notice: Undefined property: stdClass::$type в функции _node_extract_type() (строка 379 в файле /var/www/travogor/data/www/your_site/modules/node/node.module).
Notice: Undefined property: stdClass::$nid в функции node_build_content() (строка 1417 в файле /var/www/travogor/data/www/your_site/modules/node/node.module).
EntityMalformedException: Отсутствует связующее свойство у сущности типа node. в функции entity_extract_ids() (строка 7721 в файле /var/www/travogor/data/www/your_site/includes/common.inc).

И чего только я не пробовала. Один раз помогло отключение в модуле Global Redirect пункта Taxonomy Term Path Handler тут: admin/config/system/globalredirect. Затем проблема снова появилась.

В итоге, уперлась и начала всё проверять, планомерно отрубая модули. Не помогло. Стала отрубать представления.
В итоге дошла до представления Taxonomy term, того, что уже есть в представлениях(его нужно просто включить). У меня же оно было немного переделано: Сделала вывод полей вместо списка с содержи
Читать

Отладка кода в Drupal

Для отладки кода в drupal есть несколько вариантов:

1. Модуль Devel.

Это функции для вывода информации  о  переменных:

dpm($input, $name = NULL). Использует drupal_set_message.

dvm($input, $name = NULL)

dpr($input, $return = FALSE, $name = NULL)

dvr($input, $return = FALSE, $name = NULL)

kpr($input, $return = FALSE, $name = NULL)

dargs()

dd($data, $label = NULL)

ddebug_backtrace()

Для показывать списка sql запрос
Читать

PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away

Ошибка при включении модуля Date (да и при многих другиъх ситуациях):

PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away  и так далее.... весь текст приводить не буду, очень много.

Нужно просто в натройках my.ini поменять:

"max_allowed_packet" с "1m" на "16m"

Можно еще попробовать следующее:

Эта проблема - "MySQL server has gone away" - может случиться, если запрос, отправить на сервер MySQL является слишком большой. В самом деле, для меня проблема Решено, когда я поднял в MySQL max_allowed_packet настройку 1М (по умолчанию) до 32 млн. в моей my.cnf:

Оригинальный
# The MySQL server
[wampmysqld]
port = 3306
socket = /tmp/mysql.sock
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=d:/wamp/bin/
Читать

Блок выбора города на drupal-сайте (+ автоматически по ip)

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

Примеры таких блоков: на сайте Альфа-банка или Эльдорадо, даже Сбербанк не отстаёт и перенаправляет пользователя сразу на нужный раздел сайта.

Итак, чтобы сделать такое на Друпале, нам понадобится:

Модуль Smart IP: https://drupal.org/project/smart_ip

Мой модуль интеграции русской базы ip-адресов с модулем Smart IP: (тут будет ссылка на скачивание)

Читать

Темизация views для темы SimpleCorp

 

Расскажу как темизировала блок, созданный во views для темы SimpleCorp. Есть у этой темы внизу такие штучки: Темизация simplecorp Мне же необходимо вывести блоком материал Product из ubercart, чтобы оно именно так и выглядело.  Прошу поправить, если всё это можно сделать более правильно. Создаём представление - блок. Формат: HTML список, Показать: Поля   В поля добавляем: Содержимое: Изображение Содержимое: Заголовок Product: Sell price simplecorp2   Теперь нужно темизировать views. В самом представлении раскрываем "Расширенный". Нажимаем на: "Тема оформления: Информация". Открывается окно:

simplecorp3

Нас интересует Стиль вывода, и два поля содержимого - это Изображение и заголовок.

Жирным шрифтом у нас указаны исходники шаблонов. Брать их нужно из
Читать