Итак, после некоторых раздумий, добавили в код X-Cart 5 библиотеку underscore.js, к уже имеющимся jQuery и jQuery UI.
Это девелоперский блог, о X-Cart Next, X-Cart 4, стеке PHP/MySQL, javascript, CSS и всяких сопутствующих областях. Здесь мало новостей, здесь много опыта. Как бы велком :)
четверг, 24 октября 2013 г.
четверг, 17 октября 2013 г.
X-Cart 5 : Новый виджет поисковых форм для списков
В очередной бете X-Cart 5 появился спец.виджет для отображения поисковых форм, которые обычно показываются над списками в интерфейсе администратора магазина.
вторник, 30 июля 2013 г.
XCN: CleanURL для новой сущности
Итак - если у нас есть некая новая сущность, для которой надо прикрутить clean URL (например - некие сообщения, messages), то нам надо:
среда, 3 июля 2013 г.
XCN: Динамическое изменение конфига
В X-Cart Next основные настройки приложения хранятся в специализированном древообразном хранилище на базе класса \XLite\Core\ConfigCell. Кроме того, само хранилище кэшируется и отдается в результате методом \XLite\Model\Repo\Config::getAllOptions(). Соответственно - если что-то надо динамически в этом хранилище изменить - есть два основных пути.
воскресенье, 30 июня 2013 г.
XCN: Нутрянка авторизации
Авторизация пользователя в X-Cart Next заперта в классе \XLite\Core\Auth. Сей класс является синглтоном и вызов его методов выглядит как
\XLite\Core\Auth::getInstance()->methodName();
В классе заперта валидация пароля и пользователя, а также генерация подписи от пароля.
\XLite\Core\Auth::getInstance()->methodName();
В классе заперта валидация пароля и пользователя, а также генерация подписи от пароля.
четверг, 27 июня 2013 г.
Git: Изменение последовательности коммитов
Итак, есть некий сайт/магазин и необходимо сделать кустому. Сливаем сайт, заводим в git, коммитаем кустому. А потом оказывается, что сайт за это время изменился. Сливаем сайт и коммитаем изменения в репозитарий. Может так получится, что "затрётся" кустома (в истории коммитов она, конечно, останется).
Задача, перенести кустому поверх изменённого сайта.
Задача, перенести кустому поверх изменённого сайта.
среда, 26 июня 2013 г.
XCN: Запрос по HTTP
Для таких запросов из PHP в X-Cart Next используется \PEAR2\HTTP\Request , обернутый в \XLite\Core\HTTP\Request.
Обертка практически пустая. Единственное, что она добавляет - перехват исключений и их логгирование. Ну и позволяет перекрывать этот класс в модулях, добавляя или меняя какой-то функционал. В остальном работа с этим классом не отличается от PEAR2-класса.
воскресенье, 23 июня 2013 г.
XCN : Отложенные задачи
В X-Cart Next есть механизм отложенных событий или отложенных задач, когда событие кидается сейчас, а его обработчик запускается в отдельном процессе позже.
четверг, 20 июня 2013 г.
XC4: Белый экран при заливке апгрейда-пака с XC45х на XC46x
Кратко
перед заливкой апгрейд-пака
* отключить модуль 'Customer Reviews'
или
* включить опцию 'Use new module initialization routine'
или
* закомментарить вызов func_customer_reviews_init(); в
modules/Customer_Reviews/init.php
Подробнее
Если после заливки апгрейд пака XC4.5.x-XC4.6.0 в директорию X-Cart у вас появился белый экран или 500 (Internal Server Error)и у вас включен модуль Customer_Reviews и отключена опция
'Use new module initialization routine'
то вы можете решить эту проблему так
1) Временно на время апгрейда закомментиров вызов
//func_customer_reviews_init(); в
файле
modules/Customer_Reviews/init.php
2)или временно отключить модуль Customer_Reviews через восстановленную админку или sql запросом
"update xcart_modules set active='N' where module_name='Customer_Reviews';" (при этом надо почистить кэш директорию var)
3)или временно включить опцию 'Use new module initialization routine' через восстановленную админку или sql запросом
"update xcart_config set value='Y' where name='use_new_module_initialization';"
четверг, 13 июня 2013 г.
XCN: Отладка по-быстрому
Если в X-Cart Next надо поотлаживаться, то лучше всего это делать, используя стандартный логгер, при помощи такой конструкции:
\XLite\Logger::getInstance->logCustom('debug', 'some message');
\XLite\Logger::getInstance->logCustom('debug', 'some message');
суббота, 25 мая 2013 г.
XCN : Изменение БД
Часто задают такие вопросы - "Что делать, если надо не просто добавить поле в существующую модель, а, например, добавить новый индекс?" Или "Как убить существующий индекс?".
Да, простым декорирование класса это не сделать - через него можно добавить поле или связь с другой моделью и только. Но и тем не менее способ есть.
Да, простым декорирование класса это не сделать - через него можно добавить поле или связь с другой моделью и только. Но и тем не менее способ есть.
четверг, 23 мая 2013 г.
XCN : Dev модуль
Во - начата разработка Dev модуля для разработчиков под X-Cart Next. Весь инструментарий отладки вынесен в него и вся его настройка вынесена из etc/config.php в интерфейс администратора. Так что - софт стал слегка быстрее и отлаживаться стало удобнее - не надо лазить в etc/config.php, можно прям в интерфейсе администратора все включать.
В будущем там же будет визард для быстрого создания скелетов модулей.
В будущем там же будет визард для быстрого создания скелетов модулей.
среда, 22 мая 2013 г.
HTTP headers в javascript
Если приключилась такая беда, что есть javascript-приложение на клиенте и ему надо узнать, какие HTTP headers передает браузер и, соответственно, какие языки он поддерживает, какое сжатие - то для этого были мной найдены некоторое время назад следующие сервисы:
XCN : Кэширование виджетов
В X-Cart Next где-то с версии 1.2.0 присутствует такая система, как кэширование виджетов. Она позволяет сильно повысить быстродействие сайта, но только при том условии, что разработчики ее используют в своих виджетах :) Система основывается на аргументах виджета, из которых строится ключ ячейки, где и хранится контент виджета. Подробности - ниже.
вторник, 21 мая 2013 г.
X-Cart Next 1.2.3 зарелизен
Мы выпустили очереной релиз, практически минорный :)
Официальная новость - тут
Особо хочу отметить новые модули. Подробнее - ниже.
Официальная новость - тут
Особо хочу отметить новые модули. Подробнее - ниже.
понедельник, 20 мая 2013 г.
X-Cart Next : Общие методы репозиториев моделей
Тем, кто работает в X-Cart Next с моделями - помните, с какими-бы моделями вы не работали, у вас всегда есть следующий минимальный набор методов:
Must have: elements.less
Тем, кто верстает в LESS, весьма пригодится elements.less , дабы не писать свои велосипеды типа .border-radius(...), .box-shadow(...) и пр.
Кеширование метаданных моделей в Phalcon
Кто пользует phalcon и в частности, его модели, не забываем кэшировать инфу о метаданных :)
см. Caching Meta-Data
Ну а кто пользует кэширование APC и php-fpm - то незабываем, что кэш APC - он с делением на пользователей. И у php-fpm часто пользователь свой. Так что - почистить кэш можно, только запустив apc_clear_cache() именно из-под php-fpm.
см. Caching Meta-Data
Ну а кто пользует кэширование APC и php-fpm - то незабываем, что кэш APC - он с делением на пользователей. И у php-fpm часто пользователь свой. Так что - почистить кэш можно, только запустив apc_clear_cache() именно из-под php-fpm.
Виджет страницы vs. виджет-который-всегда-со-мной
Чем в X-Cart Next виджет страницы отличается от виджета, который есть на КАЖДОЙ странице? Да собственно тока методом getAllowedTargets
Подписаться на:
Комментарии (Atom)