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

    +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 ?
    Сидеть по строчке выковыривать очень и очень долго.

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

    +1

    Список брендов

    Александр Сафонкин Обновлен 5 лет назад в категории CMS Админ. панель 0

    На странице со списком брендов не хватает колонки "Кол-во товаров бренда" и выводить напротив каждого бренда количество товаров в нем.

    Для чего это необходимо?
    Для больших магазинов, у которых много брендов, рано или поздно возникает перенасыщенность брендами и зачастую в 1С или другой программе (или даже в самом RS) данного бренда уже нет и товары удалены, а бренд по прежнему есть.

    Хотелось бы иметь возможность отключить пустые бренды без товаров или удалить их. Например в строке поиска добавить отбор:
    Бренды с товарами
    Бренды без товаров
    Бренды без изображений
    Бренды без описания
    и т.п.

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

    +4

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

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

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

    +2

    Добавить описание структуры базы данных в документации

    Андрей Левченко Обновлен 5 лет назад в категории Другое 1

    Добавить развёрнутое описание структуры базы данных в документации для разработчиков
  • На рассмотрении

    +3

    История изменения карточки товара

    Павел С Обновлен 5 лет назад в категории CMS Админ. панель 5

    Здравствуйте! В настройках карточки товара нужна функция истории изменения.
    Пример:
    1. Информация о том, кто из пользователей создал товар.
    2. Информация о том, кто последний раз редактировал товар.
    3. Информация о том, какие поля менялись в товаре.
  • На рассмотрении

    +1

    Проверка поля штрихкод на уникальность при редактировании карточки товара в админ панели.

    Павел С Обновлен 5 лет назад в категории CMS Админ. панель 2

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

    +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 будет понимать, какая именно выгрузка сейчас идет и к каким товарам нужно применять настройки обмена.
  • На рассмотрении

    +1

    Блокировка изменения данных, если обьект открыт другим пользователем.

    Павел С Обновлен 5 лет назад в категории CMS Админ. панель 0

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

    +2

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

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

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



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

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

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

    0