Указка это круто!
К слову, в новой версии сборки большая часть чанков из технических страниц сайта (регистрация и т.п.) перенесена в смарти-шаблоны, чтобы можно было в свой скине править их, не трогая содержимого самих страниц и чанки не трогая. Например: шаблон обновления профиля. Это все тот же сниппет Login, только уже на смарти. Надо отметить, что это не только возможность менять оформление, но и более правильная логика. К примеру, давайте глянем старую версию вот эту строчку. Интересует именно это: value="[[+email]]". В данном случае в значение попадает именно текущий емейл пользователя, а не то, что передается в запросе, поэтому если с емейлом что-то не так (к примеру, он уже занят), то мы получим ошибку от логина, но в значении поля по прежнему будет емейл текущий, а не тот, что пользователь прописал. ИМХО это не юзабельно. Я должен видеть какой я ввел емейл и что с ним не так. Теперь это так.
Еще важное дополнение: в управлении заказами теперь в строчке заказа выводится сумма заказа. Мелочь, но как-то я все упускал это и не доделывал.
Еще поправил modCaptcha и процессор обратной связи. Так как у процессоров нет собственных объектов для ошибок, все фигачится в объект $modx->error, и если вы вызвали какой-то процессор, который добавил ошибку, то все остальные процессоры после него обязательно будут возвращать ошибки. По этой причине в смарти-плагин processor добавлен сброс ошибок (раньше не редки случаи были перекрестных ошибок), и именно по этой причине в форме обратной связи правильный ввод каптчи не учитывался, пока были ошибки в других критичных полях. Сейчас это тоже исправлено.
Ну а еще многие формы на сайте приведены в порядок стилистически, за что Саше Маркову отдельное спасибо!
В остальном каких-то важных изменений не было.
Не так уж и нагло :) Мне вообще-то следовало пуллреквест отправить, но что-то я вчера опять весь занят был…
Вообще мне совсем не понятно с какой целью в какой-то момент разрабы MODX-а удалили переменную 'object'. Никакого практического смысла не вижу в этом. Только головняков добавили.
Да, так задумано. Это для маркетологов. Им важно не только то, что покупают, но и то, что не покупают. Много вопросов здесь — «почему клиент в итоге отказался от этого товара?», «может он нашел другой и решил сменить?», «от каких товаров чаще всего отказываются?» и т.д. и т.п. Понятное дело, что на магазине с посещаемостью 50 человек в сутки такой статистики слишком мало для оценки, но для крупных магазинов это будет ценная информация.
Я, видимо, не придал этому значения тогда)) А тут у Николая уже и решение есть, так что я нагло скопировал его код. Сейчас пойду обновлять в репозитории пакет.
Спасибо. Поставил. Работает. Товары сохраняются. Редирект отрабатывает как положено.
Кстати, Илья я столкнулся с этой проблемой 2-3 месяца назад, и оставлял комментарий у тебя на сайте в теме про это компонент.
Попробуйте, пожалуйста, установить эту версию пакета: autoredirector-0.0.9-beta.transport.zip. У меня нет под рукой сайта с shopModx, чтобы проверить.
А то, что вместо того, чтобы удалять товары из таблицы billing_order_products, его количество (quantity) меняется на ноль — это так задумано?
Всем привет! Читали статью про новую сборку? Хотите сменить скин сайта, но не совсем поняли как это сделать? Сегодня я подробно расскажу как это сделать.
После того как вы развернули нашу сборку, магазин выглядит так:
?
Простой скин, а нам хочется, чтобы оформление отличалось от стандартного. Для этого надо всего лишь установить новую тему bootstrap. Лезем в интернеты и ищем любую понравившуюся нам тему (главное условие — bootstrap версии 3+). А далее делаем все по следующей инструкции:
1) Укажем название нашего скина. Для этого переходим в настройки системы, меняем раздел на modxsmarty, находим переменную modxSmarty.pre_template и меняем значение на skin/имя_вашей_папки_с_шаблоном — в моем случае это skins/StonnieAnnie.
?
Теперь Smarty учитывает директорию нашего скина и при обращении к странице, ищет указанный шаблон в нашей директории. В случае, если в нашей директории файл шаблона не найден, Smarty ищет этот шаблон в директории основного скина сайта. Так как пока еще моей папки скина нет, для сайта еще ничего не поменялось.
2) Создадим Смарти-скин. Для этого переходим в Smarty Templates и создадим там свою папку скина (напомню, что в моем случае это skins/StonnieAnnie). В этой папке создаем файл layout.tpl.
?
Все основные шаблоны страниц основного скина так или иначе расширяют layout.tpl, так что мы имеем возможность вклиниться в шаблонизацию всего сайта. Т.к. данный файл пустой, перейдя на сайт мы увидим только белую страницу. Это логично: нет кода в шаблоне — нечего и выводить. Давайте исправим это, прописав {extends "[main]layout.tpl"}.
?
Таким образом мы расширим базовый шаблон layout.tpl из основного скина сайта ([main] указывает Смарти на то, что надо искать файл именно в директории главного скина (такое название ему задано в плагине modxSmarty)). Теперь на странице сайта все вернулось к первоначальному виду. То есть у нас уже свой переопределяющий скин, но мы пока ничего не стали менять в общей шаблонизации.
3) А теперь самое главное — залить новую bootstrap-тему и задать ее сайту. Заходим в Public Templates. В папке skins создаем папку для своего скина, а в ней еще одну для будущих файлов шаблона bootstrap.
?
Заливаем файлы из скачанного bootstrap-шаблона.
?
Всё, файлы темы залили. Осталось только задать их сайту. Открываем файл index.html из папки bootstrap. Рамкой выделены нужные нам стили и скрипты. Они нужны нам для переопределения bootstrap-блока из базового шаблона.
?
Этот блок можно найти в основном шаблоне layout.tpl главного скина сайта. Он располагается в Smarty Templates->shopmodx-> layout.tpl. В шаблоне находим блок bootstrap, копируем его в шаблон layout.tpl нашего скина.
?
В блоке удаляем все старые данные bootstrap и прописываем новые из добавляемой темы. Не забываем сменить пути до файлов. Особое внимание обратите на переменные $template_url. Эта переменная содержит путь до публичной папки основного скина, а путь до публичной папки нашего скина содержится в переменной $pre_template_url.
Так выглядит переопределенный блок bootstrap:
?
Сохраняем изменения, обновляем сайт и переходим на него. Теперь наш сайт выглядит следующим образом:
?
Хммм, мне не нравится высота header. Создаем свой файл style.css.
?
В нем прописываем нужные нам стили.
?
Остается только его подключить. Для этого переопределяем блок {styles}.
?
Сохраняем изменения, обновляем сайт и переходим на него. Как видно, минимальная высота header изменилась.
?
Вообще, при желании можно многое поменять, но перед нами стояла задача смены дефолтного скина сайта на какой-нибудь другой. Мы лишь немного подправили настройки стиля bootstrap.
З.Ы. Данный скин можно увидеть в новой сборке ShopModxBox-2.5.1