Адаптация тем дизайна к обновлению Shop-Script в августе 2019 года

В следующем обновлении Shop-Script, которое запланировано на конец августа, мы добавим несколько новых возможностей. Две из них, о которых хотим рассказать заранее:
- фотографии в отзывах о товарах;
- рекомендации на странице оформления заказа в корзине.
Фотографии в отзывах
Помимо текста, в отзыв о товаре покупатели смогут добавлять и фотографии. Владельцы магазинов смогут выбрать, должны ли фотографии сразу появляться на сайте или только после модерации.
Рекомендации на странице оформления заказа
Рекомендуемые товары уже сейчас видны на странице корзины, но только если настроено пошаговое оформление заказа. При включённом оформлении заказа в корзине такой возможности пока нет, и мы добавим её в ближайшем обновлении Shop-Script. Рекомендуемые товары на странице оформления заказа будут показаны в виде отдельного блока, например, под блоком корзины.
Поддержка новых возможностей темами дизайна
Чтобы эти две новые функции заработали у пользователей после обновления Shop-Script, их должна поддерживать и тема дизайна. Все темы, разработанные Webasyst, мы обновим сразу с выпуском новой версии Shop-Script. Это же должны сделать и остальные разработчики, чьи темы опубликованы в магазине Webasyst.
Мы опубликовали предварительные версии Shop-Script, наших тем дизайна и фреймворка Webasyst в dev-ветках репозиториев на «ГитХабе». Используйте наши темы в качестве примеров, чтобы дело пошло быстрее.
- Публичный репозиторий Webasyst.
- Получить доступ к приватному репозиторию Shop-Script.
- Коммит обновления темы дизайна «Дефолт 3.0» в dev-ветке репозитория Shop-Script.
Что нужно сделать
Для поддержки фотографий в отзывах
PHP-контроллер, получающий данные при добавлении отзыва, сможет обрабатывать дополнительные значения:
"images[$index]": файл фотографии в формате JPEG, PNG или GIF "images_data[$index][description]": "описание фотографии"
В интерфейсе пользователя нужно предусмотреть следующие возможности:
- В форме добавления отзыва:
- добавление и удаление фотографий;
- поля для ввода описаний фотографий;
- отправку этих данных на сервер при добавлении отзыва (возможно, будет удобна реализация с использованием JavaScript-класса FormData).
- В списке отзывов:
- отображение добавленных фотографий (в свойствах отзыва они доступны по ключу $review.images);
- просмотр фотографий в уменьшенном и полноразмерном видах.
Для поддержки рекомендаций на странице оформления заказа в корзине
Добавьте в нужном месте шаблона order.html фрагмент вида
{strip} {capture assign="_cross_selling_html"} {$wa->shop->checkout()->crossSelling([ "DEBUG" => true, "wrapper" => "#js-cross-selling-section" ])} {/capture} {/strip} {if !empty($_cross_selling_html)} <section class="s-order-section s-cross-selling-section" id="js-cross-selling-section"> <div class="s-section-header"> <h2 class="s-header">{$config.recommendations.block_name|default:"[`Recommend`]"|escape}</h2> </div> <div class="s-section-body"> {$_cross_selling_html} </div> </section> {/if}
А внедрить общую модерацию отзывов не планируется?
Почему просто массив crossSelling не возвращать и все, а не вот это все что выше?
@kadurinho
Общая модерация отзывов доступна в админке магазина: Магазин - Товары - Отзывы.
@Koin
Для этой секции будут добавляться настройки в разделе "оформление заказа", поэтому есть необходимость управлять содержимым этой секции с нашей стороны.
@golubevmark
носом ткнете? все отзывы публикуются сразу без модерации, если вы называете модерацией удаление отзыва, тогда странное у вас понятие про модерацию :)
@kadurinho
Мы же обсуждаем контекст будущего обновления, а не текущего, в актуальной версии этого еще нет.
Из-за переделках в отзывах метод $wa->shop->reviews($limit) имеет не ту сортировку, что следовало бы. А именно, возвращает не последние, а самые старые отзывы.