Поло Арт

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

    0

    Импорт из CSV - создание новых товаров полностью

    Поло Арт Обновлен 3 месяца назад в категории CMS Админ. панель 0

    Часто бывают ситуации, когда сайт на RS обновляется не из 1с, и не из моего дела, а просто напрямую импортом CSV.
    При этом у поставщика могут меняться фото товаров, то есть вроде фото одно и то же, а хеш разный - если всеми полями пролить, то на сайте RS будут дубли фото, искать их потом очень сложно. Плюс категории...

    Поэтому, обычно мы делаем так, два шага:
    #1 обновляем по артикулу (или тому что в настройках) цены, включаем в импорт поля название, идентификатор группы, в общем всё обязательное, что стоит обновить и у существующих товаров. но не включаем категории, чтобы не испортить дерево категорий и расположение существующих товаров.
    #2 после импорта имеем горку новых товаров, без фото, без категории. копируем их артикулы из админки столбиком, отправляем в файл. а потом специальный скрипт бежит и обрабатывает, в итоге получаем csv, в котором только те самые новые товары. и проливаем ещё раз, полностью.

    Хотелось бы увидеть расширение функционала стандартного импорта, который для новых товаров (импорт и так понимает, товар обновлять или создавать) использует не ограниченное число полей(заданных при старте импорта), а все поля из csv. Можно даже никакие настройки, кроме одной галочки не придумывать, кто галочку "для новых товаров при импорте игнорировать выбор полей" поставит (а она должна быть отключена по дефолту), тот уже понимает, что csv должен быть создан аккуратно.
  • На рассмотрении

    +6

    Запланированный импорт

    Поло Арт Обновлен 8 месяцев назад в категории CMS Админ. панель 3

    Нужен расширенный модуль для импорта по крону.
    Чтобы запулить csv и пусть оно себе импортируется, а модуль следит за тем, чтобы всё было нормально и, если что, перезапускает.
    В случае удачного импорта отправляет отчётик по емейлу.

    Вроде всё просто, но хотелось бы такое иметь в стоке.

    p.s. с импортом у нас тут сейчас что-то не то. в случае 1000 товаров всё вроде заканчивается в обозримое время. но в случае хотя бы 50.000 товаров всё затягивается хрен знает на сколько и нужен хотя бы счётчик какой визуальный, отчёт об окончании, перезапуск в результате, допустим, перезагрузки сервера и так далее.
  • На рассмотрении

    +1

    Массовое назначение мета-тегов страницам бренда по маске

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

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

    +1

    Расширить стандартный YML полем <quantity> - чтение остатков из YML

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

    Идея в следующем. Чуть-чуть расширить стандартный обмен с YML, добавив туда остатки. Просто остатки, без складов, без комплектаций, на один товар один остаток. Как в цсв, даже проще.
    Так, например, делает insales
    https://www.insales.ru/collection/doc-import-tovarov-iz-csv-i-yml/product/import-tovarov-iz-fayla-yml-format-yandeksmarketa

    Мы сейчас просто хотим сделать не просто YML импорт автоматическим, но и XML. Однако, это будет тяжелый в исполнении модуль, т.к. придётся сохранять схему обмена, сопоставления полей.
    В данный момент активно работаем с разными XML, перерабатываем их в YML и скармливаем их нашему модулю
    https://marketplace.readyscript.ru/addons/ymlsucker/
    Всё прекрасно, кроме остатков.
    Конечно, мы можем расширить класс в модуле, но мне кажется, это лучше запихать в сток.
    Фишка очень даже удобная, она ничего не стоит в реализации.


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

    +2

    Неопубликованные товары в карту сайта

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

    Здравствуйте!
    Необходимо вынести в настройки модуля Каталог фичу добавления в карту сайта неопубликованных товаров.
    Поясню, зачем.
    Допустим, имеется клиент, менеджеры которого вручную управляют каталогом. А мы занимаемся сео в том числе.
    Менеджерам удобно нажать пимпу, снять с публикации. И, чтобы сайт не отдавал таким товарам 404, настройка есть, это очень хорошо. То есть, заиндексированный товар есть, ссылка с поиска выдаст посетителю этот товар (а дальше "нет в наличии", "заказать" - это уже лирика)
    Но. С течением времени, такие "эффективные менеджеры" рушат всё сео на корню. Было 5 тысяч товаров, стало 1 тысяча товаров. Выключают всё, что уже не производится, нет пока в наличии или же просто нерентабельно. Им так удобно - конечно, удобнее нажать пимпу, чем с остатками играться.
    Плюс, возможно мы хотим влить 10к фейковых товаров для увеличения массы сайта :)

    Так вот, в /modules/catalog/config/handlers.inc.php есть функция getPages
    а там жёстко вбит костыль
    $api->setFilter('public', 1);
    то есть, если непублично, в карту сайта не попадает.
  • На рассмотрении

    0

    Создание характеристик при импорте

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

    Идея простая. Если парсится большой каталог, а затем заливается, довольно не удобно вручную, перед импортом, загружать ещё и характеристики.
    Почему бы при импорте, если у товара в csv есть характеристики, не создавать их? Ровно так как это делает импорт из YML.
    Это касается вроде как только обычного импорта товаров, потому что через расширенный импорт характеристики заливаются по штучке, отдельными полями.

    Было бы намного удобнее :)
  • Исполнено

    +4

    Капча на emailsubscribe

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

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

    Конечно, можно снять галочку "Отправлять письмо со ссылкой на подтверждение" и санкций от хостинга не будет (отправка писем на несуществующие ящики), но это так себе решение, поскольку реальным пользователям такую ссылку отправлять логично и даже необходимо (по требованию, например, систем рассылок типа сендпульса)

    В приниципе, механизм внедрения довольно прост и понятен, но это переписывание стокового модуля emailsubscribe
  • На рассмотрении

    +1

    Более одной группы для характеристик

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

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

    Выход я вижу в расширении стокового функционала, чтобы одна и та же характеристика могла быть в нескольких группах. Можно сделать основную группу, по ней выводится в карточку, плюс вешать дополнительные группы, чтобы удобно было работать и добавлять на товары.

    Иначе же, если характеристик штук так 200 и групп товаров от 10... работа с характеристиками превращается в ад.
  • На рассмотрении

    0

    Оповещения об лицензиях у клиентов

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

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

    Если же такое сделать ещё и при наличии доступных обновлений системы - было бы вообще очень круто!
  • На рассмотрении

    +2

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

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

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