Вчера надо было добавить продажу членства на достаточно старом сайте на Drupal 5. Хотел было настроить UC_Recurring, но оказалось, что на пятерке этот модуль поддерживает оплату через Authorize.net, а этот сервис для приема платежей по определенным причинам не подходит владельцу проекта. Пришлось остановится на использовании uc_roles. Проект UC_Recurring выпилили из ядра Ubercart 2, так что врядли он вообоще юзабелен до третьей версии.
пятница, 5 июля 2013 г.
понедельник, 24 июня 2013 г.
Прощай Ubuntu, здравствуй Debian!
Долгое время на моем ноуте стояла Kubuntu, так как KDE - это единственная достойная внимания графическая оболочка для работы. Мне в KDE нравится все: и дизайн, и интегрированность компонентов и общий подход к дизайну приложений.
В последнее время из рядов Canonical стали приходить тревожные новости: Unity вместо гнома, Mir - вообще что-то из ряда вон выходящее. Вместо того, чтобы сделать свою тему оформления и набор плагинов для Gnome и сливать наработки в общий котел, ребята из Canonical решили сделать свойGnome с блекджеком и шлюхами Unity. Дальше - больше... не прошло и года, как им понадобился свой дисплейный менеджер - Mir....
На мой взгляд фрагментация сильно вредит экосистеме свободных проектов.Я не очень разбираюсь в мире дисплейных менеджеров, может и имело смысл делать свой... Но какой смысл был в разработке Unity -- хоть убей понять не могу.
В общем я решил что поддерживать велосипедостроение в Ubuntu я больше не буду и пересел на Debian.
В последнее время из рядов Canonical стали приходить тревожные новости: Unity вместо гнома, Mir - вообще что-то из ряда вон выходящее. Вместо того, чтобы сделать свою тему оформления и набор плагинов для Gnome и сливать наработки в общий котел, ребята из Canonical решили сделать свой
На мой взгляд фрагментация сильно вредит экосистеме свободных проектов.Я не очень разбираюсь в мире дисплейных менеджеров, может и имело смысл делать свой... Но какой смысл был в разработке Unity -- хоть убей понять не могу.
В общем я решил что поддерживать велосипедостроение в Ubuntu я больше не буду и пересел на Debian.
четверг, 14 февраля 2013 г.
Автоматическое создание обратных ссылок BackReference
Суть задачи: есть ноды определенного типа в которых есть поле entity reference, которое ссылается на другие ноды этого же типа. При создании такой ноды можно выбрать другие материалы, которые при просмотре созданного материала будут видны как ссылки типа see also (или похожие материалы).
Нужно чтобы при добавлении ссылки на материал (назовем его дочерним материалом) в родительский материал - создавалась обратная ссылка в дочернем материале (ссылка, которая ссылается на родительский материал).
Нашел отличный видео-урок: http://dev.nodeone.se/en/creating-multiple-back-links
Ну и ссылка на видео напрямую:
вторник, 5 февраля 2013 г.
Как в Drupal 7 подменить один пункт меню другим
Иногда необходимо, чтобы вместо вызова стандартного обработчика для какого-нибудь пункта меню, вызывался обработчик для другого меню.
Нашел пример как это делается в модуле User
Нашел пример как это делается в модуле User
menu_set_active_item('user/' . $user->uid);
return menu_execute_active_handler(NULL, FALSE);
четверг, 19 января 2012 г.
Moogento_PickPack
Клиенту нужен был модуль, был выбор из 3-4-х. Выбрали самый "фичастый", купили.
Заглянул в код.... мама дорогая! В одном методе 3000 строк. Писал явно индус(ы).
Заглянул в код.... мама дорогая! В одном методе 3000 строк. Писал явно индус(ы).
вторник, 17 января 2012 г.
Как в Magento получить controller, action, router, module
Иногда необходимо узнать, какой конкретно контроллер вызывается. Это можно легко определить из любого шаблона (.phtml):
// Controller print $this->getRequest()->getControllerName(); // Router print $this->getRequest()->getRouteName(); // Action print $this->getRequest()->getActionName(); // Module print $this->getRequest()->getModuleName();
четверг, 17 июня 2010 г.
Проблема с кэшированием блоков в Drupal
Сегодня пытался решить проблему с одним блоком на сайте клиента. Суть проблемы в том, что есть форма и она не должна кэшироваться, то есть должна, но вместе со страницей.
В block api есть возможность отключить кэширование для отдельного блока посредством указания
Проблема в том. что если с самого начала этот параметр отсуствовал, то изменения не запоминаются и блок все равно кэшируется.
Ситуацию можно спасти запустив SQL код:
Если у модуля несколько блоков и только один требует отмены кэширования, то в запрос нужно добавить параметр delta
В block api есть возможность отключить кэширование для отдельного блока посредством указания
$block[$id]['cache'] = BLOCK_NO_CACHE
Проблема в том. что если с самого начала этот параметр отсуствовал, то изменения не запоминаются и блок все равно кэшируется.
Ситуацию можно спасти запустив SQL код:
UPDATE blocks SET cache = -1 WHERE module = 'your_module_name';
Если у модуля несколько блоков и только один требует отмены кэширования, то в запрос нужно добавить параметр delta
Подписаться на:
Сообщения (Atom)