Ваша корзина пока пуста,
надо срочно сюда
что-нибудь добавить
надо срочно сюда
что-нибудь добавить
/llms.txt: чем торгуете, дерево каталога со ссылками и числом товаров, страницы покупателю, контакты. Её читают ответы нейросетей, которым
sitemap.xmlничего не говорит. Собирается сама и обновляется без участия владельца.
aero_; уже существующий указатель с той же ведущей колонкой — свой или чужой — пропускается; отсутствующая таблица или колонка тоже. Повторный запуск ничего не дублирует.
.ae-ui: разделы магазина и чужие модули не задеты.
reachGoal, GA4 — именем события. Два поля на одно и то же значили бы магазин, где воронки не сходятся.
event/theme. Между ним и отрисовкой успевает вклиниться чужой модуль: FilterTAP собирает панель из нескольких кусков, каждый кусок — отдельная отрисовка, а его шаблоны лежат в
default. После них настройка указывала на
default, и категория рисовалась стоковым шаблоном с нашими данными. Тема теперь ставит каталог шаблонов последним словом перед отрисовкой — это защищает и от любого другого модуля с шаблонами в
default.
%s. Обработчик
event/languageподмешивает в данные все строки языка списка разом и перекрывал уже подставленное контроллером шапки число.
--keep-keysобычная пересборка архива тихо создавала новую пару, а прежняя стиралась без следа: магазины, которым лицензия выдавалась старым ключом, переставали принимать ответы сервера, и вернуть прежний ключ было неоткуда. Теперь ключи берутся прежние, пересоздать пару можно только явным
--new-keys, и прежняя при этом складывается в
.aero/keys/archiveс отметкой времени.
--keep-keysпринимается по-прежнему и ничего не меняет.
index.php, файлов в корне сайта шаблон не создаёт: корень на хостинге часто закрыт на запись, а модуль, который просит «положите sw.js рядом с index.php», покупатель ставит неправильно.
.col-sm-6, и любая сетка схлопывалась в одну колонку. Это касалось всех страниц, которые берутся из стоковой темы — кабинета, входа, регистрации, оформления — и всех сторонних модулей.
col-sm-3и оставались без оформления.
minmax(0, 1fr): колонка на
1frне сжимается уже своего содержимого.
Unknown column 'sl.video'. Причин было две, и обе устранены.
image, и ссылка на ролик — YouTube вместе с Shorts, ВКонтакте с клипами, Rutube с shorts, а также прямая ссылка на mp4 со своего CDN. У своего файла полоска прогресса идёт по длительности ролика, а не по числу из настроек. В ленте у такой истории появляется значок ролика, а картинка остаётся обложкой.
php .aero/tools/demo.phpиз консоли. Повторный запуск переписывает своё и не плодит копий; штатный макет главной и чужие модули не трогаются вовсе.
--demo-hosts), так что в проданной копии её нет.
<i class="fa fa-home">схлопывался в ноль: первая крошка «Главная» пропадала на каждой странице, а кнопки в закладках состояли из одного значка и были пустыми плашками. 25 значков перерисованы масками по текущему цвету — одинаково в светлой и тёмной теме.
.form-horizontal(регистрация, «моя информация», смена пароля) раскладывались как 2 к 10 без строки-обёртки: подпись жалась в 155 пикселей, «Подтверждение пароля» ломалось посреди слова. Приведены к тому же виду, что и поля темы.
fieldsetиз девяностых заменена панелью темы; кнопка отправки больше не наезжает на текст согласия в регистрации.
Рекомендуемые,
Хиты,
Новинки,
Акции) игнорировали число колонок из настроек и всегда давали 4 на 2.
--demo-hosts): в чужих магазинах раздел настроек тогда не показывается. Демо-сборка кладётся отдельным архивом, чтобы не путать её с продажной.
.aero/server, SQLite, админка для решений, заявок, переписки и ключей лицензий.
\Aero\Js, шаблон печатает
{{ aero.js(...) }}
— правок ядра не требуется. Самопроверка теперь следит, чтобы шаблоны обходились фильтрами стокового Twig.<p>, а кавычки в подписях — как
": OpenCart пропускает весь POST через
htmlspecialchars, и текст не раскодировался обратно.
<p><br></p>, из-за чего на витрине появлялась пустая вкладка.
noindexна отфильтрованных страницах.
/sitemap.xmlс разбивкой по разделам.
content-visibilityна нижних секциях.