Постраничный вывод тут не причем, у нас он и так везде используется. (Поиск ведется сперва по всему объему данных, поэтому тут нужно ускорять сам процесс поиска)

Mysql имеет очень скромные возможности по скорости поиска, вам нужна внешняя индексационная и поисковая машина, такая как sphinx или elastic или любой другой аналог.

То есть нужно разрабатывать интеграцию, чтобы ReadyScript передавал сведения по товарам для индексации во внешнюю систему, а затем делал запрос во внешнюю систему для получения списка ID товаров по заданному поисковому запросу.

-----

Каких-то простых решений, для ускорения поиска - не существует.

Все фотографии подгружаются всегда к товару.
Далее возможно только установить связь между комплектацией и конкретным фото товара.

--------------

В CSV комплектаций можно использовать колонку Фотографии, в которой нужно указать исходные имена файлов, которые загружались к товару.

Например, если вы загружаете к товару фото:
https://server.ru/images/product1-color1.jpg
https://server.ru/images/product1-color2.jpg
https://server.ru/images/product1-color2-1.jpg
https://server.ru/images/product1-color3.jpg

То в CSV комплектаций вам нужно указать:  product1-color2.jpg,product1-color2-1.jpg в колонке Фотографии у нужной комплектации.

Все экземпляры расчетных классов доставки должны получаться по цепочке из заказа.

Так как в этом случае в них происходит загрузка параметров доставки,
выставленных в админ.панели для конкретной доставки.

Вам нужно немного по другому получить объект класса Cdek2.

$cdek2 = $order->getDelivery()->getTypeObject();
if ($cdek2 instanceof \Shop\Model\DeliveryType\Cdek2) {
    $cdek2->createDeliveryOrder($order);
}

Вы уверены, что у вас в переменной $order - есть объект заказа?
Покажите код вашего обработчика в handlers.

Ярослав, интересен ваш кейс.
Опишите подробнее, как все происходит?
Какой точный сценарий клиента, почему он работает на разных устройствах, в какой последовательности он авторизуется?

Теоретически возможен к реализации еще один сценарий - это полная изоляция устройств, без какой-либо перепривязки товаров после авторизации. Тогда все товары на всех устройствах будут оставаться в том виде, в котором они там были собраны.

Если в логах обмена будет написано, что изменений у товаров не обнаружено, значит вам нужно в настройках модуля Каталог товаров запустить утилиту "Сбросить хэши импорта".

ReadyScript высчитывает хэш от всех данных пришедших от 1С и записывает их в товар.
Если в следующий раз придут данные с точно таким же хэшем, то товар будет пропущен из импорта.
Любое сохранение товара на стороне сайта также вызовет сброс кэша импорта именно у этого товара.

Таким образом достигается ускорение обмена за счет обновления только реально изменившихся товаров.

Когда продумывались наши кейсы учитывалась механика имеющихся у нас видов оформления заказа.
Все очень сильно взаимосвязано.

--

Клиент часто доходит до оформления заказа (что означает, что корзина у него не пустая) неавторизованным и только в процессе оформления заказа авторизуется. Это означает, что авторизация ни в коем случае не должна ничего добавлять в корзину.

Иначе уже при оформлении заказа в случае если используется оформление совмещенное с корзиной, будет изменяться стоимость заказа когда клиент уже этого не ожидает (и клиент этого может не заметить), что может вызвать дичайшее недовольство клиента. (он же не помнит, что позавчера за телефоном какие-то товары тоже откладывал, а покупать то он их и вовсе не собирался, просто сидел в телефоне просматривал).

--

Но при пустой корзине клиент не может перейти к оформлению, а значит авторизоваться он может только через кнопку на сайте, а значит в этот момент ему можно загрузить корзину, которую он собирал будучи авторизованным на другом устройстве.

Вы можете посмотреть, что происходит в базе в таблице cart и потом сформулировать и реализовать, что вы желаете видеть при логауте. В вашем распоряжении есть поля: session_id, user_id


Стандартная логика ReadyScript по корзине такая:

1. Корзина всегда привязана к guest_id (оно пишется в поле session_id) - это по сути долгосрочный идентификатор браузера клиента (в отличие от сессии живет гораздо дольше).
2. Если клиент авторизуется, с пустой корзиной, то на его guest_id переносятся товары, которые были привязаны к user_id.
3. Если клиент авторизуется с непустой корзиной, то его товары привязываются к user_id, а предыдущие товары для этого user_id удаляются, т.е. происходит замещение корзины авторизованного пользователя.

Пример работы 1:
Клиент собрал, будучи авторизованным, корзину на телефоне. Затем включил компьютер, открыл сайт (корзина пустая), авторизовался, все его товары перешли на компьютер, с телефона пропали.

Пример работы 2:
Клиент собрал, будучи авторизованным, корзину на телефоне. Затем включил компьютер, открыл сайт, будучи неавторизованным собрал какую-то другую корзину на ПК, затем авторизовался.
Система поняла, что клиент собрал новую корзину и уничтожила при авторизации ту, что была связана с его user_id.
И привязала новые товары к его user_id. На телефоне клиент увидит товары с ПК после авторизации на ПК.

----------------

При логауте сейчас ничего не происходит.

Характеристики, добавленные у категории на сайте не должны слетать. Если у вас есть четкий сценарий воспроизведения такого поведения, напишите пожалуйста нам в поддержку, мы попробуем разобраться почему так происходит. Не должно быть так.

Конечно можно мелкой правкой в шаблоне это сделать.
Если разбираетесь в программировании можете сами сделать, если нет, можете обратиться в нашу платную поддержку.

Характеристика в RS отображается только, если у товаров в категории есть не менее 2х значений. (например Да, Нет).
Предполагаем, что у вас в категории есть только товары, у которых есть значение Да. (значение "не задано" не считается)

--------------

Рекомендуем вам в 1С завести СТРОКАМИ значения характеристики "Да" и "Нет", обязательно задавать значение "Нет" тоже.
Выгрузить на сайт, поставить тип хар-ки список. После этого, фильтр появится, если в категории будут товары со значениями "Да" и "Нет".

Добрый день!

Сейчас в карточке товара на вкладке Наличие и так выводятся конкретные остатки на каждом складе.

Проверьте, что у вас задан Email администратора (раздел Веб-сайт -> Настройка сайта), а также корректно работает отправка писем на вашем сервере. Проверить отправку писем вы можете в разделе Управление -> Настройка системы -> Справа ссылка "Проверить отправку писем".

Вы можете попробовать воспользоваться услугами стороннего партнера - системного администратора.

https://readyscript.ru/mp-service/siste … rirovanie/

Добрый день!

ReadyScript - это гибкая платформа, из коробки она закрывает огромное количество задач, но к сожалению не решает вашу задачу по зонам на карте на текущий момент, но вы всегда можете использовать ReadyScript для разработки вашего индивидуального проекта четко под ваши нужны. Вы можете обратиться к нам в платную поддержку для обсуждения ТЗ и стоимости проекта.

Так как шаблон Amazing является дефолтным(системным), то некоторая часть файлов собрана в папке с темой оформления (/templates/amazing), а основная часть шаблонов размещается в папках модулей.

Если вы будете создавать кастомную тему прямо на базе amazing, т.е. непосредственно в папке /templates/amazing, то изменения могут и автоматически установиться, если у вас не были перегружены те шаблоны модулей, в которых произошли изменения.

-------------------------------

Если у вас все-таки создан клон шаблона amazing и в нем внесены значимые изменения, то действительно можно только вручную обновить перенести изменения в вашу тему.

Суть изменений может подсказать, где конкретно произошли изменения и соответственно их переносить в вашу тему.

Например, если добавлены новые настройки в тему, то это означает, что доработан файл templates/amazing/theme.xml в теме оформления, в него были добавлены новые элементы в options.

Далее, вы можете скачать новый дистрибутив ReadyScript и поиском найти, в каких шаблонах используются новые опции $THEME_SETTINGS.category_description_place (Место размещения описания категории) и $THEME_SETTINGS.top_category_mobile_view (Вариант мобильной версии)

Мета-теги, заданные у филиала влияют на страницу контактов данного филиала.

Вероятно у вас используется кастомный модуль рассылки статей. Необходимо смотреть как именно там происходит отбор пользователей, какие в этот момент предусмотрены разработчиком модуля события, чтобы как-то ответить на ваш вопрос.

20

(2 ответов, оставленных в Сайт ReadyScript)

Проверьте, установлена ли у вас цена по умолчанию в разделе Товары -> Справочник цен.

----

И вы немного не туда написали. В данной ветке можно писать о проблемах на сайте ReadyScript.ru, а не о вашем сайте на платформе ReadyScript.

Шаблоны в ReadyScript всего лишь могут эксплуатировать подготовленные в PHP данные.
Не предусмотрено, чтобы в шаблонах была какая-то логика по выборкам и т.д.

Все всегда начинается с создания кастомного модуля

https://readyscript.ru/dev-manual/dev_get_started.html

в котором вы можете (на выбор):

1. Добавить к какому-то доступному у вас в шаблоне объекту доп.метод и вызвать его в вашем шаблоне.
https://readyscript.ru/dev-manual/dev_behaviors.html

2. Перехватить на выбор события:
controller.beforeexec.КОРОТКОЕ-ИМЯ-КОНТРОЛЛЕРА
controller.afterexec.КОРОТКОЕ-ИМЯ-КОНТРОЛЛЕРА

И передать свои подготовленные в PHP переменные.

3. Вы можете создать создать свой Блок-контроллер, реализовать в нем как логику выборок, так и логику отображения и просто вставить его в вашем шаблоне

https://readyscript.ru/dev-manual/dev_c … ient_block
https://readyscript.ru/dev-manual/dev_s … duleinsert

Да, Картинку в Telegram вы можете отправить только через вложение. Телеграм не поддерживает inline-изображение в тексте

Перейдите на тему Amazing, там это уже реализовано из коробки.

Добрый день!

Лицензия дает право работать на домене, для которого она зарегистрирована,
а также на поддомене dev. домена, для которого лицензия зарегистрирована,

На примере:

mysite.ru - основной домен
dev.mysite.ru - домен для разработки и тестирования (на этом домене будут работать также все модули из маркетплейса, которые у вас куплены)

Уточните, вы используете nginx в качестве веб-сервера?