• На рассмотрении

    +2

    Перевод сайта. Интернационализация контента

    Поло Арт Обновлен 5 лет назад в категории CMS Общий функционал 7

    Всем привет!

    Создаём новый проект и столкнулись со следующей проблемой

    https://readyscript.ru/dev-manual/dev_lang.html#dev_lang_initialization
    Идентификатором языка является двухсимвольное обозначение языка. Например: en,de,ru. Идентификатор языка получается с помощью метода RS::Language::getCurrentLang. Метод возвращает текущий язык системы по следующему правилу:

    Если это административная зона:
    попытка использовать язык, установленный в cookie
    попытка использовать язык браузера
    возвращается базовый язык

    Если это клиентская часть:
    попытка использовать язык, установленный в cookie
    попытка использовать язык текущего сайта
    возвращается базовый язык

    Вопрос. Для чего и зачем именно так сделано?!
    Если сайт на английском, то всё должно быть на английском по дефолту. Заходит в админку, допустим, наёмный сотрудник, у которого локаль польская - и что он получит? Админку на русском!

    Условие задано в файле /core/rs/language/core.inc.php в функции getCurrentLang() как:
    if (\RS\Router\Manager::obj()->isAdminZone()) {
    //Если это административная панель
    $sysLangs = self::getSystemLanguages();

    if ($request->cookie(self::COOKIE_ADMIN_LANG, TYPE_STRING)) {
    //Ищем установленный язык в cookie
    $current_lang = $request->cookie(self::COOKIE_ADMIN_LANG, TYPE_STRING);
    } else {
    //Ищем предпочтительный язык у браузера
    $accept_langs = explode(',', $request->server('Accept-Language'));

    ЗАЧЕМ?!

    Я создаю core.my.inc.php, где убираю это условие, оставляю лишь:
    if ($request->cookie(self::COOKIE_CUSTOMER_LANG, TYPE_STRING)) {
    //Читаем параметр из cookie
    $current_lang = $request->cookie(self::COOKIE_CUSTOMER_LANG, TYPE_STRING);
    } else {
    $site = \Setup::$INSTALLED ? \RS\Site\Manager::getSite() : null;
    $current_lang = ($site) ? $site->language : $request->cookie(self::COOKIE_CUSTOMER_LANG, TYPE_STRING, \Setup::$DEFAULT_LANG);
    }

    Но все эти my в ядре это так, на время... пока не обновится что-то. А с второй версии очень многое обновилось.

    Второй вопрос. Где взять полные файлы messages.lng.php и messages.js.php ?
    Сидеть по строчке выковыривать очень и очень долго.

    Третий вопрос. Что делать с тем, что строковые значения постоянно вместе с апдейтами, чуть-чуть, да изменяются?
  • На рассмотрении

    +4

    Блок каталога "Похожие товары" показывает скрытые товары

    Поло Арт Обновлен 5 лет назад в категории CMS Общий функционал 2

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

    +4

    Несколько обменов с 1С

    Александр Сафонкин Обновлен 5 лет назад в категории CMS Общий функционал 3

    Всем привет.

    Наверняка у многих есть 1С и скорее всего вы используете стандартный обмен данными с веб-сайтом. Эта функция весьма полезная и работает достаточно хорошо (хоть и нуждается в некоторых доработках). Возможно вы замечали, что при использовании нескольких обменов данными с веб-сайтом, возникают некоторые проблемы.

    1) При большом количестве данных (я имею ввиду, когда у вас более 50 тыс позиций в выгрузке, в моем случае более 200 тыс) происходит обрыв связи спустя несколько суток. Нам же выгружаться несколько суток - это не совсем то, что нужно. Решение было найдено быстро и мы решили выгружать позиции порциями создав несколько обменов по 10-20 тыс позиций. (при таком объеме нужно отключать выгрузку изображений, иначе будет очень долго идти обмен. Конечно все индивидуально, но проблема такая существует в 1С Предприятие УТ 10, но она актуальна и для других..)
    2) Создав несколько обменов мы посчитали, что проблема решена, но это далеко не так. В Административной части имеется модуль "Обмен данными", при установки галочки в настройках модуля: "Обмен данными" - Что делать с товарами, отсутствующими в файле импорта? = Удалять/Деактивировать, кажется, что имея несколько обменов будет все норм, но это не так. Представим, что у нас имеются 5 отдельных обменов, мы запускаем выполняться первый обмен, затем второй и т.д., на сайте мы увидим, что все товары появились и все хорошо. Тут таится другая острая проблема - это остатки товара и их видимость на сайте. Представьте, что в настройках "Обмена данными", Что делать с товарами, отсутствующими в файле импорта? = Деактивировать, в этом случае вы делаете первый обмен данными и после этого хотите сделать второй, делаете второй обмен и замечаете, что все позиции из первой выгрузки отключились и не видны. Происходит это из-за того, что RS не учитывает идентификатор выгрузки и тем самым не знает о том, какой это обмен 1, 20 или 50-й по сути RS без разницы какой обрабатывать т.к. он лишь исполнитель.
    3) Остатки товаров - в случае если при первом обмене у нас в 1С было на остатках по одной позиции 1 шт, то после продажи этого товара оффлайн в магазине его остаток ноль, но сайт еще об этом не знает. Мы думаем, что запустив снова обмен, остаток обновится, но это не так. В обмен остаток нулевой не попадет (зависит от настроек). После того как обмен будет выполнен, на сайте остаток не изменится.

    Так как у каждого обмена есть уникальный GUID, необходимо реализовать механизм при котором, каждый обмен будет учитываться по GUID и RS будет понимать, какая именно выгрузка сейчас идет и к каким товарам нужно применять настройки обмена.
  • На рассмотрении

    +2

    Обнулять остаток комплектаций при импорте из 1С

    Сергей Токарев Обновлен 5 лет назад в категории CMS Общий функционал 1

    Здравствуйте. Очень не хватает функции "обнулять остаток" комплектаций после обмена



    Раньше не обращали внимания, когда люди заказывали товары, которых у нас нет в наличии.

    Если, например, вчера была выгружена какая-нибудь куртка с размерами S, M, L по 1 шт каждый, а сегодня в магазине продали размер L и он не попадет завтра в выгрузку, то соответственно остаток у комплектации L не обновится на сайте и она так и будет висеть на остатке.

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

    0

  • На рассмотрении

    +3

    Изменить тему письма в e-mail уведомлениях о заказе пользователю.

    Павел С Обновлен 5 лет назад в категории CMS Общий функционал 0

    Шаблон темы письма в уведомлениях к заказу такого вида: В заказе N12345 на сайте shop.com произошли изменения - вводит клиента в заблуждение, и вызывает много лишних вопросов. В приложениях прикрепляю свой вариант, на который предлагаю изменить уведомления.
  • На рассмотрении

    0

    Добавить параметр "Выгружать только опубликованные"

    Андрей Викторов Обновлен 5 лет назад в категории CMS Общий функционал 0

    Здравствуйте.

    В экспорт "Яндекс.Маркет", добавьте пожалуйста галочку "Видимость товаров"
    Варианты:
    0 - Только видимые
    1 - Все товары
  • На рассмотрении

    +2

    Заказ в 1 клик с выбором количества

    Владимир 1916 Бирич Обновлен 5 лет назад в категории CMS Общий функционал 1

    В одном ИМ увидел реализацию заказа в 1 клик, но там можно выбрать количество.
    Количество меняется в всплывающем окне и там же сразу меняется сумма.
    Считаю, это ИДЕАЛЬНО!
    Пользователи очень ленивые. Заходить в корзину, заполнять кучу полей никто не хочет.
    Но при этом, перезванивать каждому, чтобы уточнять наличие - занятие неблагодарное. А, например, у меня такой товар, который почти всегда по несколько штук заказывают.
    Хотелось бы увидеть такое в RS. Как вариант в качестве платного модуля в Маркетплейсе.
  • На рассмотрении

    0

    Товар в нескольких категориях (Проблема с 1С)

    Андрей Викторов Обновлен 5 лет назад в категории CMS Общий функционал 1

    Здравствуйте.
    В модуле обмена с 1С
    есть настройка "Обновлять категории при обмене" или нет.

    ПРОБЛЕМА:
    1С позволяет один товар к одной категории привязать.
    RS - позволяет один товар к нескольким товара привязать.
    НО - при очередном обмене с 1С - категории выбранные на сайте - стираются.

    Если выбрать пункт "не обновлять" - то при изменении категории в 1С - на сайте не обновится информация.

    Добавьте пожалуйста Варинты:
    "Не обновлять"
    "Обновлять"
    "Обновлять основную категорию", чтобы категория из 1С обновлялась, а привязанные на сайте сохранялись при обмене.

    Очень нужно, спасибо!
  • На рассмотрении

    +3

    Доп. настройки при отмене оплаченного заказа

    Павел С Обновлен 5 лет назад в категории CMS Общий функционал 0

    При отмене оплаченного заказа, по умолчанию клиенту возвращается вся сумма заказа. В некоторых платежных модулях есть настройка, при активации которой, при отмене заказа деньги не вернутся автоматически. (что защищает от случайного возврата платежа). Но есть еще один момент, и на мой взгляд эта опция должна присутствовать на стороне CMS, независимо от платежного модуля. При возврате платежа, нужна опция, возвращать ли клиенту стоимость доставки (если она была оплачена). Бывает что товар не подошел, и деньги за товар нужно вернуть, при этом с клиента нужно удержать услугу доставки.