Несколько раз встречал на форуме вопросы про Warning: var_export does not handle circular references ... Но странное дело, что пользователь, которому было что-то нужно, поняв, что придется приложить какие-то усилия, исчезал из темы. Скажу сразу: Я не открыл тайну var_export(), но предложу некий обходной манёвр.
Как иногда начинают свой монолог неопытные стендаперы: «У всех в жизни было такое …», когда вывел на главную страницу сайта список пользователей, а там половина – серые тени новичков, не подтвердивших регистрацию. Давайте в качестве ещё одного примера по использованию хуков уберём их оттуда, оставив только реальных пользователей.
Новые возможности и удобства, облегчающие разработчикам отладку компонентов и шаблонов.
Одной из неудобных задач при отладке для меня является поиск причины ошибки 403/404. Иногда она настолько неочевидна, что приходится пошагово проходить код xDebug-ом. Ещё одна «зона сумрака» при отладке – любая страница перед редиректом, например, обработка формы добавления/изменения контента. Тут тоже нужен или xDebug, или var_dump() с принудительным остановом после него. «Расширенная отладка» версии 14.1.2 и выше значительно упрощает анализ таких моментов.
Иногда при тестировании кода возникает необходимость как-то более удобно вывести данные из повторяющихся участков кода или наглядно отследить изменения в переменных. Для этого предназначены табличные контрольные точки (ТКТ).
Вторая версия InstantCMS понравилась мне ещё с релиз-кандидатов - очень продуманная система. Но ещё с тех давних времён я хотел добавить ссылки под заголовками виджетов. Предложенный вариант - не самый простой. Зато очень хорошо подходит для изучения работы с хуками.
Часто в блогах и на форуме можно увидеть совет «для решения задачи нужно в таком-то хуке сделать так-то» и даже есть рабочий код, но куда его вставить? Прямо как в анекдоте: Почему холостяки не готовят себе рецепты из интернета? Потому что каждый рецепт начинается со слов «Возьмите чистую кастрюлю». Сделаем себе «чистую кастрюлю» - пустой компонент для своих хуков.
Добавляет новую систему оплати для компонента интернет магазина.
Обновление отладки. Очистка фильтров и другое.
Обновил документацию по использованию "Расширенной отладки" с учётом новых версий движка и отладки. Новые примеры, новые скриншоты, новые возможности.
Авторы InstantCMS 2 подробно описали создание виджетов в разделе документации «Виджеты» и даже наглядно показали весь процесс в видео-туториале «Создание виджета». Цель этого поста – показать работу виджетов сайта «изнутри» не вдаваясь в программистские подробности. Это будет полезно для изучения работы Двойки и для анализа купленных виджетов на тормоза или перерасход памяти.
В разделе документации «Обработка событий» работа с событиями и хуками описана очень качественно и подробно. Поэтому я ни как не претендую на замену документации, а просто попробую наглядно показать сказанное в ней на реальных примерах. Считайте, что я сделал напоминалку по теме самому себе, но может она ещё кому-то пригодится.
Компонент позволяет отправлять СМС уведомление админу о новых заказах или об полученных оплатах за заказ или уведомление клиенту, что его заказ обрабатывается или изменили статус его заказа.
Как говорят у нас в Украине: «Лучше 100 раз пощупать, чем один раз услышать». Поэтому представляю возможность наглядно «пощупать» работу Двойки. 😊 Новая, полностью переписанная версия «Расширенной отладки» на базе дефолтной отладки 2.14. Благодаря изменениям в Двойке за последние годы и мудрым подсказкам Fuze теперь она сделана компонентом, работающим в двух режимах: стандартном - практически без изменения ядра, и полном - с патчами ядра для сбора дополнительных отладочных данных.
С версии 14.1 «Расширенная отладка» может работать в двух режимах: