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