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


13 февраля 2012 г.

Drupal интернет магазин

А какой самый простой способ продемонстрировать ресурсоёмкость Drupal?
Советую поставить модуль Devel (http://drupal.org/project/devel). Он показывает количество обращений к БД для генерации каждой страницы. Даже без тестовых данных количество запросов будет 200-300 на страницу. Если умножить на количество одновременных юзеров, то получается довольно много. Еще Devel показывает потребление памяти. Для магазина потребуются модуль Views, а он очень прожорливый.
Кстати, для Друпала вроде два популярных расширения для интернет-магазинов, какое порекомендуете?
Честно говоря, никакое. В Друпале есть понятие нода (единица контента). У любой ноды есть два обязательных поля "заголовок" и "тело". Установив модуль Content Construction Kit (http://drupal.org/project/cck) можно добавлять к ноде произвольные поля мышкой прямо в админке. Полями могут быть: цена, картинка, ссылка на сайт производителя и т.д. Т.е., сделать ноду под товар — минутное дело.
Идем далее. :) Есть модуль Views (http://drupal.org/project/views). Он позволяет компоновать ноды на странице по определенному правилу. Например, популярные товары, новинки, есть на складе, нет на складе, цена ниже 10 тыс руб и т.д. Что угодно. Опять же, все мышкой.
Идем далее. Модуль Profile (входит в комплект) позволяет дополнять профиль юзера произвольными полями, например, адресом доставки.
Ну и так далее. Остается только написать модуль корзины и оформления заказа, что несложно.
Опционально можно добавить галерею, рубрику "похожие товары", отзывы о товаре и т.п.
У нас программист средней квалификации такой магазин собирал за неделю, включая переделку макета в psd в тему оформления для Друпала.
Сводя дебет с кредитом можно сказать, что главным плюсом разработки магазина на Друпал является простота, а расплатой за сэкономленные время и деньги — жадность к ресурсам.
*******************************************************************************

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

********************************************************************************
Конечно, неплохо. Оптимизация + хороший хостинг (лучше дедик, если >10K в день) и никаких проблем. :) Зато у Друпала легкий приятный код, в котором очень легко разобраться и что-то подправить. Кстати, под Друпал есть модули интеграции с Commerce и Ubercart, но мне не кажется их использование хорошей идеей. Допустим код магазина был подправлен. Потом выходят новые версии Commerce и Ubercart, в которых закрываются опасные дырки. Нужно будет каждый раз через систему контроля версий перетаскивать свои изменения в новую версию. В случае реализации через модули, можно смело обновлять Друпал, т.к. настройки CCK, Views и т.д. хранятся в БД, а дополнительный функционал, который добавил программер (например, корзина заказов), будет храниться в виде модуля в отдельной директории пользовательских модулей. В общем, все четко и продумано.
А сторонние умеют кешировать часть страницы
Да, умеют кешировать не страницу целиком, а блоки. Причем, сторонние умеют это делать не только в БД, но и на диске и даже в ОЗУ, в том числе и для залогинившихся.

Комментариев нет:

Отправить комментарий