Использование EntityFieldQuery для доступа к нодам в Drupal 7

По сути класс EntityFieldQuery позволяет организовать доступ к любым сущностям внутри Drupal. Но наиболее интересен вариант использования EntityFieldQuery для доступа к элементам узлов (Node) на которых можно построить любой сложности контент.
Небольшой пример из жизни дальше.
Читать далее

Рубрика: Drupal, Работа | Метки: , | Оставить комментарий

Magento для разработчика

Есть в Magento, так называемый, режим разработчика. Очень удобно для отладки и вообще для работы с сайтом на этапе разработки. В этом режиме все ошибки сразу выводятся в браузер и не надо искать их по логам.
Включить режим очень просто. Нужно установить переменную окружения MAGE_IS_DEVELOPER_MODE.
Удобней всего это сделать в настройках веб-сервера. И тогда не надо постоянно помнить что при деплое на продакшен надо бы выключить этот режим.
Читать далее

Рубрика: Magento, Фриланс | Метки: , | Оставить комментарий

Joomla 2.5 добавление ссылки на компонент в меню

При переделке компонента для версии Joomla 2.5 столкнулся с небольшой проблемой. Все работает нормально. Но если попробовать добавить новый пункт в меню, то при выборе типа меню (Select a Menu Item Type) нет упоминаний компонента. Поискав по интернету как решить эту проблему ничего путного не нашел. Есть вариант с указанием внешней ссылки и вводом URL до компонента вручную (index.php?option=com_componentname), но это некрасиво. Немного покопав компонент меню нашел следующие решение:
Читать далее

Рубрика: Joomla, Scritplance | Метки: , | Оставить комментарий

С чистого листа

Что-то стал мой планшет (Мегафон V9+) очень сильно глючить. Перегружается самостоятельно по поводу и без. Решил я его сбросить до заводских настроек — так сказать начать жизнь с чистого листа. А тут еще на глаза попалась новая прошивка, которую Мегафон выложил аж летом. Так что сложилось все к одному. Но из-за кривого рута на Андроиде, да и приложения для recovery все пошло не так. И пришлось немного пошаманить. В результате поставил кастомную прошивку без всяких примочек от Мегафона.

А вот и уроки, полученные из общения с планшетом и результатами поиска в Гугл.
Читать далее

Рубрика: Android, Полезности | Метки: , | Оставить комментарий

Проблемы с редиректом для CURL

Совершенно внезапно выяснилось что cURL не всегда поддерживает автоматический редирект. Существует хорошая возможность, которая включается следующим образом:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

Это указывает cURL что в случае если при загрузке указанного URL будет получен редирект (т.е. статус 301 или 302) то будет автоматически осуществлен переход и загрузка страницы по новому адресу. Удобно и практично. Но не всегда.
Оказывается что из-за соображений безопастности эта опция может игнорироваться. И тогда получаем сообщение об ошибке:

Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set

И соответственно редирект автоматически не срабатывает. Получить такой сюрприз можно на шаред хостингах где включен режим safe_mode или же установленно ограничение для open_basedir
И можно к гадалке не ходить — хостер не отключит данные настройки безопастности ради вас. И его можно понять.
А нам надо искать обходные пути 🙂
Самым простым и легким для меня оказалось сделать самостоятельную обработку заголовка Location:. Рассказываю как
Читать далее

Рубрика: Фриланс | Метки: | Оставить комментарий

Magento — изменение шаблона для страницы продукта

Возникла для магазина на Magento задача изменить внешний вид страницы конкретного продукта.
Вариант с созданием дополнительного стиля и т.п. показался слишком сложным.
Поэтому пошел следующим путем:
Читать далее

Рубрика: Magento, Работа | Метки: , | Оставить комментарий

Magento — обработка сообщений

У движка интернет магазина есть довольно интересная возможность для расширения. Это механизм сообщений. В ряде ключевых моментов ядро магазина «рассылает» стандартные сообщения. Любой же модуль может указать свой класс и метод, который будет реагировать на это сообщение. Регистрация обработчика делается в файле config.xml в папке ect внутри модуля.
А список всех возможных сообщений можно посмотреть здесь: http://www.nicksays.co.uk/magento_events_cheat_sheet/

Рубрика: Magento, Полезности, Работа | Метки: | Оставить комментарий

Регионы в Drupal

Регионы в Drupal нужны для того чтобы в используемом шаблоне «выделить» некоторую область. Потом в режиме редактирования сайта в эту область можно добавлять различные блоки. Т.е. по сути это позволяет редактировать часть шаблона через админку сайта. Очень удобно для различных контактных данных или, например, для номера телефона в шапке.
Чтобы добавить новый регион в уже существующую тему Drupal надо:
Читать далее

Рубрика: Работа | Метки: , | Оставить комментарий

Ошибка в JComments

Есть для Joomla очень хороший компонент JComments. Позволяет добавлять практически для любого материала на сайте возможность комментирования. Обнаружился у них интересный баг. При добавлении комментария JavaScript считает количество введеных символов и выводит это под полем. И вот пишет она например что остался 1-2 символа. Сохраняем комментарий, а в результате получаем сообщение о том что превышена допустимая длина.
Все оказалось очень забавно
Читать далее

Рубрика: Полезности, Фриланс | Метки: , , | Оставить комментарий

Описание базы данных MySQL

Возникла очень нестандартная задача — сделать описание существующей базы данных на MySQL. Причем описать не только таблицы, но и чуть ли не каждое поле каждой таблицы.
Вообще-то есть

SHOW TABLES

и

DESC tablename

Но наличии в базе порядка сотни таблиц и природная лень привели к выводу: «Делать такое руками — неправильно»

В результате в течении нескольких часов был написан скрипт, который формировал очень удобный HTML файл со структурой всех таблиц из базы. Оставалось только пройтись по нему и добавить описание полей. Это заняло достаточно много времени, но зато не было рутины Copy&Paste

Если вдруг у кого-то возникнет аналогичная задача по описанию структуры базы, то скрипт можно скачать на GitHub: https://github.com/pwsdotru/dbdesc

Рубрика: Жизнь, Работа | Метки: , | Оставить комментарий