Drupal глазами разработчика

[РЕШЕНО] настройка Nginx на Digital Ocean под Drupal

Настраиваю сервер Nginx для сайта c Domain Access на Диджитал Оушене.
Есть ли какие-нибудь особенности настройки его под Друпал для максимальной пользы?
----------------------------------------------------------------------------------------------------------------------
Настроил, может кому пригодится, использовал:
каплю — Debian 7 64 php 5.4 NGINX
1. Перенос:
# использовал SCP:
https://www.digitalocean.com/community/articles/how-to-migrate-a-mysql-d...
Но можно и проще (?):
https://www.digitalocean.com/community/articles/how-to-use-sshfs-to-moun...
Вроде неплохая подборка видео по переносу:
http://www.youtube.com/playlist?list=PL91978F0CB6BC302B
2. Установка сервера:
https://www.digitalocean.com/community/articles/how-to-install-drupal-wi...
Написано под Ubuntu 13.04, я ставил в Debian 7, всё норм.
# Сначала ставим всё необходимое:
sudo apt-get update
 
sudo apt-get install mysql-server php5-<a href="http://www.php.net/mysql"   rel="nofollow" ><span style="color: #000066;">mysql</span></a>
 
sudo apt-get install nginx

# Запускаем сервер:
sudo service nginx start

# Устанавливаем PHP:
sudo apt-get install php5-fpm

# Настраиваем PHP:
открываем php.ini
sudo nano <span style="color: #66cc66;">/</span>etc<span style="color: #66cc66;">/</span>php5<span style="color: #66cc66;">/</span>fpm<span style="color: #66cc66;">/</span>php.ini

# Меняем на 0 (для безопасности):
cgi.fix_pathinfo=0

# Далее редактируем конфигурацию php5-fpm:
sudo nano <span style="color: #66cc66;">/</span>etc<span style="color: #66cc66;">/</span>php5<span style="color: #66cc66;">/</span>fpm<span style="color: #66cc66;">/</span>pool.d<span style="color: #66cc66;">/</span>www.conf

# В нём находим строку listen = 127.0.0.1:9000, и меняем 27.0.0.1:9000 на /var/run/php5-fpm.sock:
listen = <span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">var</span><span style="color: #66cc66;">/</span>run<span style="color: #66cc66;">/</span>php5-fpm.sock

# Рестарт php5-fpm:
sudo service php5-fpm restart

# Загружаем друпал:
wget http:<span style="color: #808080; font-style: italic;">//ftp.drupal.org/files/projects/drupal-7.25.tar.gz</span>

7.25 — меняем на актуальную версию.
(я делал драшем)
# Распаковываем:
tar xzvf drupal-7.25.tar.gz

7.25 — меняем на актуальную версию.
## Создаем БД и юзера:
# Заходим:
mysql <span style="color: #66cc66;">-</span>u root <span style="color: #66cc66;">-</span>p

# Создаем БД:
CREATE DATABASE drupal;

вместо drupal — можно любое название
# создаем юзера:
CREATE USER drupaluser<span style="color: #66cc66;">@</span>localhost;

# Устанавливаем пароль нового юзера password
SET PASSWORD <span style="color: #b1b100;">FOR</span> drupaluser<span style="color: #66cc66;">@</span>localhost= PASSWORD<span style="color: #66cc66;">(</span><span style="color: #ff0000;">"password"</span><span style="color: #66cc66;">)</span>;

# Даем юзеру привилегии:
GRANT ALL PRIVILEGES ON drupal.<span style="color: #66cc66;">*</span> TO drupaluser<span style="color: #66cc66;">@</span>localhost IDENTIFIED BY <span style="color: #ff0000;">'password'</span>;

# Обновляем MySQL:
<a href="http://www.php.net/flush"   rel="nofollow" ><span style="color: #000066;">FLUSH</span></a> PRIVILEGES;

# Выходим из MySQL:
<a href="http://www.php.net/exit"   rel="nofollow" ><span style="color: #000066;">exit</span></a>

# Копируем файлы:
Директория сервера в Ubuntu 13.04 находится в /usr/share/nginx/html/.
(У меня в Debian 7 в /usr/share/nginx/www/)
# Создаем директорию drupal:
sudo <a href="http://www.php.net/mkdir"   rel="nofollow" ><span style="color: #000066;">mkdir</span></a> <span style="color: #66cc66;">/</span>usr<span style="color: #66cc66;">/</span>share<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>html<span style="color: #66cc66;">/</span>drupal

# Копируем файлы друпала из своей домашней директории:
cd ~
sudo mv drupal-<span style="color: #cc66cc;">7.25</span><span style="color: #808080; font-style: italic;">/* /usr/share/nginx/html/drupal/</span>

## Настройка Друпала:
# Копируем default.settings.php и переименовываем в settings.php
sudo cp <span style="color: #66cc66;">/</span>usr<span style="color: #66cc66;">/</span>share<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>html<span style="color: #66cc66;">/</span>drupal<span style="color: #66cc66;">/</span>sites<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">default</span><span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">default</span>.settings.php <span style="color: #66cc66;">/</span>usr<span style="color: #66cc66;">/</span>share<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>html<span style="color: #66cc66;">/</span>drupal<span style="color: #66cc66;">/</span>sites<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">default</span><span style="color: #66cc66;">/</span>settings.php

# Даем права на запись:
sudo <a href="http://www.php.net/chmod"   rel="nofollow" ><span style="color: #000066;">chmod</span></a> a+w <span style="color: #66cc66;">/</span>usr<span style="color: #66cc66;">/</span>share<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>html<span style="color: #66cc66;">/</span>drupal<span style="color: #66cc66;">/</span>sites<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">default</span><span style="color: #66cc66;">/</span>settings.php

# Меняем права для директории:
sudo <a href="http://www.php.net/chmod"   rel="nofollow" ><span style="color: #000066;">chmod</span></a> a+w <span style="color: #66cc66;">/</span>usr<span style="color: #66cc66;">/</span>share<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>html<span style="color: #66cc66;">/</span>drupal<span style="color: #66cc66;">/</span>sites<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">default</span>

# Устанавливаем php модуль:
sudo apt-get install php5-gd

# Рестартим
sudo service php5-fpm restart

## Настраиваем виртуальные хосты:
# Копируем дефолтный конфиг и переименовываем в drupal (конфиг для нашего сайта):
sudo cp <span style="color: #66cc66;">/</span>etc<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>sites-available<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">default</span> <span style="color: #66cc66;">/</span>etc<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>sites-available<span style="color: #66cc66;">/</span>drupal

# Редактируем наш конфиг:
sudo nano <span style="color: #66cc66;">/</span>etc<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>sites-available<span style="color: #66cc66;">/</span>drupal

Как то так:
server <span style="color: #66cc66;">{</span>
        listen   <span style="color: #cc66cc;">80</span>;
        root <span style="color: #66cc66;">/</span>usr<span style="color: #66cc66;">/</span>share<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>html<span style="color: #66cc66;">/</span>drupal;
        index index.php index.html index.htm;
        server_name 162.243.9.129;
        location <span style="color: #66cc66;">/</span> <span style="color: #66cc66;">{</span>
                try_files <span style="color: #0000ff;">$uri</span> <span style="color: #0000ff;">$uri</span><span style="color: #66cc66;">/</span> <span style="color: #66cc66;">/</span>index.php?q=<span style="color: #0000ff;">$uri</span><span style="color: #66cc66;">&</span><span style="color: #0000ff;">$args</span>;
        <span style="color: #66cc66;">}</span>
        error_page <span style="color: #cc66cc;">404</span> <span style="color: #66cc66;">/</span>404.html;
        error_page <span style="color: #cc66cc;">500</span> <span style="color: #cc66cc;">502</span> <span style="color: #cc66cc;">503</span> <span style="color: #cc66cc;">504</span> <span style="color: #66cc66;">/</span>50x.html;
        location = <span style="color: #66cc66;">/</span>50x.html <span style="color: #66cc66;">{</span>
              root <span style="color: #66cc66;">/</span>usr<span style="color: #66cc66;">/</span>share<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>html<span style="color: #66cc66;">/</span>drupal;
        <span style="color: #66cc66;">}</span>
        <span style="color: #808080; font-style: italic;"># pass the PHP scripts to FastCGI server listening on 127.0.0.1:9$</span>
        location ~ \.php$ <span style="color: #66cc66;">{</span>
                <span style="color: #808080; font-style: italic;">#fastcgi_pass 127.0.0.1:9000;</span>
                <span style="color: #808080; font-style: italic;"># With php5-fpm:</span>
                fastcgi_pass unix:<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">var</span><span style="color: #66cc66;">/</span>run<span style="color: #66cc66;">/</span>php5-fpm.sock;
                fastcgi_index index.php;
                <span style="color: #b1b100;">include</span> fastcgi_params;
 
                 <span style="color: #66cc66;">}</span>

Т.е.:
— поменяли root на /usr/share/nginx/html/drupal
— поменяли server_name из localhost на доменное имя твоего сайта или его IP
— поменяли «try_files $uri $uri/ /index.html;» на «try_files $uri $uri/ /index.php?q=$uri&$args;»
!!! Есть более интересный вариант, если установить
sudo apt-get install nginx-doc

то в директории /usr/share/doc/nginx-doc/examples/, уже есть готовый конфиг, заточенный под друпал:
cd <span style="color: #66cc66;">/</span>usr<span style="color: #66cc66;">/</span>share<span style="color: #66cc66;">/</span>doc<span style="color: #66cc66;">/</span>nginx-doc<span style="color: #66cc66;">/</span>examples<span style="color: #66cc66;">/</span> 
gunzip drupal.gz
# Активируем конфигурацию:
sudo ln -s <span style="color: #66cc66;">/</span>etc<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>sites-available<span style="color: #66cc66;">/</span>drupal <span style="color: #66cc66;">/</span>etc<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>sites-enabled<span style="color: #66cc66;">/</span>drupal

# Удаляем дефолтную:
sudo rm <span style="color: #66cc66;">/</span>etc<span style="color: #66cc66;">/</span>nginx<span style="color: #66cc66;">/</span>sites-enabled<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">default</span>

# Перегружаем сервер:
sudo service nginx restart

# Открываем IP сайта (или домен)/drupal/setup.php и устанавливаем друпал.
-------------------------------------------------------------------------------------------
А вот здесь уже готовый конфиг, но немного сложноватый:
https://github.com/perusio/drupal-with-nginx/blob/D7/README.md
с этим (от perusio) конфигом используем сборку сервера из http://debian.perusio.net/unstable/
3. Настройка мультисайтинга:
https://www.digitalocean.com/community/articles/how-to-enable-multiple-s...
4. настройка DNS:
я просто добавил домены в ДНС на оушене и прописал у регистратора — ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com.
5. Кэширование:
http://www.echoditto.com/blog/more-drop-bucket-drupal-8-nginx-and-microc...
# Микрокэширование
в файле конфига твоего сайта на nginx добавляешь
location ~ \.php$ <span style="color: #66cc66;">{</span>
set <span style="color: #0000ff;">$no_cache</span> <span style="color: #ff0000;">""</span>;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$request_method</span> <span style="color: #66cc66;">!</span>~ ^<span style="color: #66cc66;">(</span>GET|HEAD<span style="color: #66cc66;">)</span>$<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
set <span style="color: #0000ff;">$no_cache</span> <span style="color: #ff0000;">"1"</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$no_cache</span> = <span style="color: #ff0000;">"1"</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
add_header Set-Cookie <span style="color: #ff0000;">"_mcnc=1; Max-Age=2; Path=/"</span>;
add_header X-Microcachable <span style="color: #ff0000;">"0"</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$http_cookie</span> ~ SESS<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span> <span style="color: #808080; font-style: italic;">#checks an auth'd user</span>
set <span style="color: #0000ff;">$no_cache</span> <span style="color: #ff0000;">"1"</span>;
<span style="color: #66cc66;">}</span>
<span style="color: #808080; font-style: italic;">#... lots of fastcgi stuff to do the caching</span>
<span style="color: #66cc66;">}</span>

http://valic.me/article/how-configure-nginx-php-fpm-mysql-memcached-apc-...
http://www.accella.net/drupal-7-memcached-apc-nginx-php5-fpm-squeeze-opt...
# Сжатие gzip:
http://stackoverflow.com/questions/15999606/enable-gzip-compression-with...
я просто вот так раскомментировал в конфиге nginx /etc/nginx/nginx.conf:
<span style="color: #808080; font-style: italic;">##</span>
<span style="color: #808080; font-style: italic;"># Gzip Settings</span>
<span style="color: #808080; font-style: italic;">##</span>
gzip on;
gzip_disable <span style="color: #ff0000;">"msie6"</span>;
gzip_vary on;
gzip_proxied any;
gzip_comp_level <span style="color: #cc66cc;">6</span>;
gzip_buffers <span style="color: #cc66cc;">16</span> 8k;
gzip_http_version <span style="color: #cc66cc;">1.1</span>;
gzip_types text<span style="color: #66cc66;">/</span>plain text<span style="color: #66cc66;">/</span>css application<span style="color: #66cc66;">/</span>json application<span style="color: #66cc66;">/</span>x-javascript text<span style="color: #66cc66;">/</span>xml application<span style="color: #66cc66;">/</span>xml application<span style="color: #66cc66;">/</span>xml+rss text<span style="color: #66cc66;">/</span>javascript;

6. Защита:
— связка nginx, logwatch, fail2ban и ufw http://habrahabr.ru/post/153589/
пока только fail2ban поставил, якобы из коробки работает, посмотрим:
http://putty.org.ru/articles/fail2ban-ssh.html
Мэмкеш настроить пока не получилось (php 5.4).
Панель не ставил — но хорошие отзывы по веста.
7. Для внеклассного чтения подробные/детальные руководства/гайды:
Очень неплохое руководства в друпал-nginx группе: https://groups.drupal.org/node/388488
С картинками + защита от атак +SSL: http://dashohoxha.blogspot.ru/2012/10/using-nginx-as-web-server-for-drup...
PS: Кому что непонятно пишите в коментах, это позволит мне лучше расписать тему.
________________________________________________________________________________________________________________
<<<ПРОДОЛЖЕНИЕ ЗДЕСЬ>>>, т.к. сюда уже не вмещается.
Drupal глазами разработчика

Открыта подача докладов на DrupalCamp Donetsk 2014

Команда DrupalCamp Donetsk спешит сообщить вам, что открыта подача докладов на конференцию! Не упустите свой шанс поделиться своими знаниями и идеями с Друпал сообществом. Мы отбираем сессии в следующих категориях: Business, Community, Design, Development, Drupal 8, Front-end and Theming, Site Building.
Не стоит забывать, что билеты на конференцию для спикеров бесплатны!
У вас есть возможность предложить свой доклад до 10 Марта! Спешите! Отобранные доклады будут анонсированы 16 Марта.
Предложить доклад
Drupal глазами разработчика

Drupal@Tomsk первое Drupal Cafe в Томске

Друзья, предлагается активизировать томское друпал-сообщество!
Познакомиться, встретиться, провести доклады.
Инициатива зародилась в чате новосибирского друпал-сообщества.
Мы тут все мечтаем о проведении кемпа в Сибири, и все искали как же показать Сибирь чтоб людям было интересно.
И так появилась мысль что Томск самый сибирский город. Так сказать с душой.
и почему бы не провести кемп в Томске.
К томуже у вас уже есть массовые площадки инновус http://tomskforum.ru/
Готовы выехать к вам и помочь с организацией первого кафе.
Думаю Омичи тоже поддержат.
д.ру содержит информацию о ~220 участников из Томска
http://www.drupal.ru/profile/city/%D1%82%D0%BE%D0%BC%D1%81%D0%BA
Мы тут создали небольшой организационный чатик.
Дата пока не назначена, ориентировочно думаю конец марта, начала апреля.
Присоединяйтесь кому эта тема интересна.
Drupal@Tomsk
skype:?chat&blob=jkD7DpBJtXSAuV-CadKcSJ9QTHHMFzpyEIzyp8uJur4Qtm0XRBolxdHb_OEL3UzNuGZ5cCRGciCCjBix0JECp3qIgg1s
Drupal глазами разработчика

Восьмое DrupalCafe в Новосибирске. 1 марта 2014 г.

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

Планируются следующие темы докладов:

1. Ильин Евгений «Поиск на Drupal + Apache Solr для содержимого на русском языке — с нуля и до конечного результата»
2. Санданов Чингис «Drupal Commerce, либо Проекты на Drupal с точки зрения РП»
3. Прищепа Павел «Хостинг друпальных сайтов»
4. Валуев Вадим: «Rich text в Друпале»
5. Исай Руслан «Концепция страничка-ориентированной разработки на Drupal»
6. Калинин Антон «Compass CSS Framework»
Ждем Вас, ваших друзей, коллег и знакомых.
Участникам сообщества DrupalSib просьба зарегистрироваться заранее.
Если ты студент и никогда у нас не был — заполни анкету.
DrupalCafe пройдет 1 марта в 12:00 в здании НТЭ и ВТ по адресу:
ул. Красный проспект, 177, актовый зал.
+7 (913) 467 88 33
kiseleva.t@i20.biz
Drupal глазами разработчика

Drupalife Store - сборка интернет-магазина на Drupal Commerce


Всем привет! Рад анонсировать собственную сборку (дистрибутив) интернет-магазина на Drupal Commerce.
Целью данно сборки является простота и скорость установки магазина, сохранив при этом гибкость и не нагружать бесполезными модулями.
Из коробки решение имеет собственную тему, полностью настроенный магазин, полностью проработанное SEO, адаптивный дизайн и множество других приятных вкусностей.
Более подробно можно почитать в моём блоге: http://niklan.net/blog/57
Демо и загрузка: http://drupalife.com/lab/store
Песочница: http://simplytest.me/project/drupalife_store
Проект на Drupal.org: https://drupal.org/project/drupalife_store
Сборка совершенно бесплатная! Принимаются предложения, пожелания и замечания. В принципе также если у кого есть идеи других сборок, также буду рад выслушать идеи.
Drupal глазами разработчика

DrupalCamp Donetsk 2014, 25-27 Апреля


Дата: 25-27 Апреля 2014
Время: 10:00
Место проведения: Донбасс Палас, улица Артема, 80
Цена участия: 200-250 грн
Контакты для обратной связи: support@drupal.dn.ua
Сайт: http://camp2014.drupal.dn.ua
ДрупалКемп Донецк — это некоммерческое мероприятие, призванное объединить людей, которым интересна система управления контентом Друпал. Данное мероприятие будет полезно как начинающим разработчикам, которые не знакомы с Друпал, так и профессионалам, которые не первый год работают с данной системой. Конференция организована волонтерами из Донецкого Друпал сообщества. Цель мероприятия — объединение людей вокруг Друпал, его улучшение и обмен знаниями.
Программа конференции рассчитана на 3 дня в течение которых у вас будет возможность послушать доклады, принять участие в BOF-сессиях, код-спринте, а так же посетить вечеринку.
1 и 2 день
Данные дни будут посвящены докладам. Конференция будет проходить в 3 потока, благодаря чему вы сможете составить собственное расписание и посетить те доклады, которые наиболее вам интересны. Так же во время конференции будут формироваться BOF сессии. В любой момент вы можете предложить тему для обсуждения и организовать свой круглый стол. В конце второго дня будет проведена вечеринка в лучших традициях DrupalCamp.
3 день
Данный день будет полностью посвящен написанию кода и документации. На код спринте у вас будет возможность внести свой вклад в развитие Drupal! Для того что бы принять участие в код спринте необходимо взять с собой ноутбук и присоединится к команде. Темы и задачи для код спринта будут самые разнообразные, поэтому принять участие может любой желающий, от новичка до эксперта. Именно благодаря таким мероприятиям Drupal стал качественным продуктом который нас объединяет!
Drupal глазами разработчика

7 июня в Санкт-Петербурге Drupal White Nights 2014

Drupal White Nights 2014
Город, который пронизан своей особой культурой. Город, в котором каждый камень способен рассказать свою уникальную историю. Город, чья летняя ночь светла как день. Все это — наш любимый Санкт-Петербург. И этим летом наш гостеприимный город встречает друпалеров из разных городов и стран.
7 июня большой праздник для нас, в Питере пройдет долгожданный Кемп — Drupal White Nights 2014. Мы шли к этому событию два года, встречаясь на семинарах, спринтах, тренингах и в неформальной обстановке. И вот, время пришло для чего-то большего.
От лица организаторов и всего нашего питерского сообщества я приглашаю вас присоединиться к этому замечательному событию.
Мы готовы принять как минимум 150 человек, нам это с легкостью позволят комфортные залы конгресс-центра ПетроКонгресс. За один день в два потока пройдут порядка 15 докладов о разработке на Drupal, администрировании, управлении проектами, бизнесе и многом другом. Несколько докладов уже заявлено, и мы продолжаем принимать заявки. Если у вас есть интересный опыт, и вы готовы им поделиться, то милости просим.
После завершения официальной части Кемпа, нас ждет вечеринка, которая позволит пообщаться с интересными людьми вне конференц-залов и формальностей. У нас так много идей о том, где и как провести вечеринку, что мы еще не приняли окончательного решения. Но в одном мы уверены, что это будет весело!
Регистрация на конференцию открыта и идет полным ходом, так что поспешите купить билет. Тем более, в апреле действует ранняя цена.
И на сладкое, специально для сообщества мы приготовили сюрприз и учредили конкурс Счастливый билет на Drupal White Nights 2014. Победитель получит бесплатный билет на конференцию и всеобщую известность :)
Будем рады видеть и слышать вас!
--
Соорганизатор конференции Drupal White Nights 2014
Константин Комелин
Drupal глазами разработчика

Блог музицирующего веб-девелопера: Drupal: Необязательное поле ввода E-mail в форме оформления заказа Drupal Commerce

Нигде не нашёл способа реализовать опциональный ввод e-mail адреса при оформлении заказа в Drupal Commerce. Пришлось делать самому:
1. Добавляем в свой модуль или template.php:
<span class="co4">/**
 * Implements hook_form_FORM_ID_alter(): commerce_checkout_form_checkout.
 */</span>
<span class="kw2">function</span> MODULENAME_form_commerce_checkout_form_checkout_alter<span class="br0">(</span><span class="sy0">&</span><span class="re0">$form</span><span class="sy0">,</span> <span class="sy0">&</span><span class="re0">$form_state</span><span class="br0">)</span> <span class="br0">{</span>
  <span class="kw1">if</span> <span class="br0">(</span><span class="kw3">isset</span><span class="br0">(</span><span class="re0">$form</span><span class="br0">[</span><span class="st_h">'account'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'login'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'mail'</span><span class="br0">]</span><span class="br0">)</span><span class="br0">)</span> <span class="br0">{</span>
    <span class="re0">$form</span><span class="br0">[</span><span class="st_h">'account'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'login'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'mail'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'#required'</span><span class="br0">]</span> <span class="sy0">=</span> <span class="kw4">FALSE</span><span class="sy0">;</span>
  <span class="br0">}</span>
<span class="br0">}</span>

Читать дальше →
Похожие записи:
Drupal глазами разработчика

Drupal Беларусь: белорусское сообщество: Помогите решить - страница товара выдаёт ошибку



ВложениеРазмер Скриншот ошибки87.45 КБ
Доброго времени суток всем кто читает эту тему.
Помогите пожалуйста решить проблему с ошибкой в Drupal 6 + Ubercart
Появляется когда перехожу из раздела каталога товаров (реализован с помощью представления) на страницу с товаром.
Скриншот приложил.
Ругается судя по всему модуль таксономии. Но ругается он при переходе не из каждого раздела.
6.xошибкаУстановка
Drupal глазами разработчика

Drupal Беларусь: белорусское сообщество: Ищем PHP разработчика ( Drupal)

Нужен PHP разработчик, уеренное владение СMS DRUPAL 7 от 1 года (опыт), также наличие реализованных проектов на данной СMS и написание собственных модулей.З/П 1000 — 1500 в месяц
Ищу7.x