Показаны сообщения с ярлыком drupal. Показать все сообщения
Показаны сообщения с ярлыком drupal. Показать все сообщения

вторник, 10 марта 2009 г.

drupal 6 и потерянный блок в теме

Экспериментировал с темами в drupal 6, темизация которого, как обещается, проще, чем в 5-м. Взял понравившуюся мне тему и решил добавить в неё ещё один блок. Вставил в .info файл новый регион, вставил в page.tpl.php print этого блока. Обновил страницу с блоками - блока нет. Искал ошибку минут 10, потом подумал, а что если конфиг хранится в БД, и нужно просто обновить конфигурацию темы... Сработало! Идём в темы, жмём configure нужной темы, сохраняем её, идём в блоки и обновляем страничку - блок появился.

Интересно, сколько ещё граблей придётся обходить, при работе с друпалом...

пятница, 6 марта 2009 г.

И снова drupal, ecommerce и почта

Ранее я писал про баг в модуле для друпла, который нам удалось победить. Ну в общем-то было рано радоваться. Баг я победил, мейнтейнерам письмо написал, а потом...

Мейнтейры сказали, что больше этот модуль не развивают и предложили перейти на 6-й друпал. Хорошо ещё, что они не знали, что у нас не drupal, а vbdrupal - засмеяли бы.

Далее мы отказались от использования этой версии модуля, потому что в нём обнаружились ошибки, которые не позволяли нам проводить покупки вообще. Поэтому мы вернулись к стабильной версии этого модуля (тута) и стали довольствоваться имеющимися возможностями.

Обидно, что сил было потрачено много, а результата это не дало. Такой себе НИОКР за свой счёт и за пару недель до дедлайна. В следующий раз будем умнее и будем брать то, что точно работает, и мы знаем, как это настроить.

пятница, 27 февраля 2009 г.

drupal, ecommerce проблемы с отправкой почты

Разрабатываю проект, в котором есть возможность продажи файлов. Сайт сделан на drupal 5 (точнее vbdrupal). Продажи решили разворачивать при помощи модуля eCommerce. Версия модуля ecommerce 5.x-4.0-alpha11. Всё установили, настроили и стали покупать файлы. Нифига купить мы не смогли. На почту ничего не приходит и всё тут. Начал отлаживать этот баг. В недрах самого модуля нашёл ошибку в файле ec_checkout.module. Там есть код:



650 store_send_invoice_email($txn->txnid);


В функцию передаётся ID объекта, в то время как функция на входе ждёт сам объект.

Фиксится очень просто:


650 store_send_invoice_email($txn);


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

четверг, 26 февраля 2009 г.

drupal, access denied и потерянный anonymous

Во время разработки проекта на друпале исчез доступ к страницам для анонимуса, просто потерялся, словно и не было его никогда. Сначала нас это не сильно заботило, потому как было много других важных задач, но вот мы подошли к релизу. И выяснилось, что все наши усилия могут быть заживо похоронены по той простой причине, что никто не может их увидеть.

Начались поиски потерянного доступа.

Сначала проверили все права для anonymous user - не помогло. Для зарегистрированного юзера с такими же правами всё работает, для анонимуса - нет.

Пляски с бубном не помогли.

Решили пойти на обман. Так как в друпале группы наследуют права в алфавитном порядке, то мы решили этим воспользоваться. Создали группу, выставили эту группу одному из пользователей, проверили работоспособность - работает. Далее переназвали эту группу aauth_hack и стали ждать манны небесной. Манна не пришла....

Далее решил проверить всё что можно в базе. Выставил анонимусу в базе права на всё! Получился всемогущий юзер... который не мог ничего сделать.

И лишь после стольких усилий я увидел, что в таблице юзеров этот самый анонимус ИСЧЕЗ! Скорее всего его убил какой-то модуль во время деинсталляции. Баг же был поправлен одной строкой кода:


1 INSERT INTO `users` VALUES (0, '', '', '', 0, 0, 0, '', '', 0, 0, 0, 0, NULL, '', '', '', NULL)



Поправив этот баг я достиг просветления... (to be continued?)