Поло Арт

  • Исполнено

    0

    Обновление изображений товаров при импорте

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

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

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

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

    ***
    Сейчас же приходится предварительно готовить csv под загрузку. Берём 40.000 товаров с одного источника, 30.000 товаров с другого источника - ищем дубли и пристреливаем их. Но это какой-то дрянной метод, хоть и работает.
  • Исполнено

    0

    Диакритические знаки при транслитерации

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

    Пожелание пишу, так как проблема, на самом деле, серьёзная, а в тикет системе получил ответ "В данный момент такая функциональность не ожидается".

    Когда мы создаём алиасы (оно же URL-имя) для товаров, брендов, категорий, задействуется функция \RS\Helper\Transliteration
    Когда мы вручную из карточки создаём алиас, работает js /resource/js/jquery.rs.autotranslit.js
    И всё вроде хорошо, пока кириллица и латиница присутствует.
    Но бренд "Baumüller" превращается в "baum-ller"
    Косяк? Да. Подобных брендов навалом. Если делать интернет-магазин двуязычным, нарваться на названия категорий и товаров элементарно. Даже, если просто парсить, отследить наличие всяких умляутов и прочих диакритических символов нереально.

    Проблема тут в том, что RS не знает о таких символах. И ставит вместо них дефис. А ставить надо ближайший латинский символ.
    Реализовать подобное очень просто, я не понимаю, почему это вдруг "такая функциональность не ожидается".

    Вот эти символы. Полный список.
    ¡¿
    ÄäÀàÁáÂâÃãÅåǍǎĄąĂăÆæĀā
    ÇçĆćĈĉČč
    ĎđĐďð
    ÈèÉéÊêËëĚěĘęĖėĒē
    ĜĝĢģĞğ
    Ĥĥ
    ÌìÍíÎîÏïıĪīĮį
    Ĵĵ
    Ķķ
    ĹĺĻļŁłĽľ
    ÑñŃńŇňŅņ
    ÖöÒòÓóÔôÕõŐőØøŒœ
    ŔŕŘř
    ẞߌśŜŝŞşŠšȘș
    ŤťŢţÞþȚț
    ÜüÙùÚúÛûŰűŨũŲųŮůŪū
    Ŵŵ
    ÝýŸÿŶŷ
    ŹźŽžŻż

    p.s. я понимаю, что мультиязычности по факту нет, но мультисайтовость есть и вот официальная позиция по этому поводу
    https://helpdesk.readyscript.ru/wish/Podklyuchenie-vtorogo-yazyka-13.html
  • На рассмотрении

    +3

    Принудительное обновление закешированных у клиента JS/CSS

    Поло Арт Обновлен 5 лет назад в категории CMS Шаблоны 2

    Вы наверняка сталкивались с такими случаями, когда вы провели изменения на сайте, поправили js/css, а клиент вам заявляет, что изменений нет. Вы предлагает нажать Ctrl+F5 и всё становится ОК.

    НО!

    Вот как это сделано в других системах
    <link href="{$wa_active_theme_url}clear.shop.css?v{$wa_theme_version}" rel="stylesheet" type="text/css"

    Я предлагаю ридискрипту по дефолту пойти тем же способом. Это дико удобно, само обновляется то, что должно обновляться. Допустим, обновляется дефолтный flatlines, при этом у всех(!) встанет именно тот flatlines, какой задумал разработчик, не нужно ctrl+f5 нажимать.
    Или мы сами проводим у клиента изменения в кастомной теме. Просто меняем номер в theme.xml - и вуаля!

    И, главное, всё уже есть!
    <general>
    <author>ReadyScript lab.</author>
    <name>Современная</name>
    <description>Адаптивная тема, собранная по сетке bootstrap 3 в плоском стиле</description>
    <version>3.0.37</version>
    </general>

    Добавляем version к пути js/css - и всё, разработчик темы меняет номер, и меняется у всех.

    ***
    1. да, я знаю, про кеширование статики на уровне вебсервера
    2. в поддержке мне предложили - Вебсайт-Настройка сайта-Подключаемые CSS файлы. Тоже решение, туда-сюда значение опции менять, но, если я всегда хочу сжатые раздавать?
    3. а ещё можно такую штуку реализовать через unix timestamp - но слишком часто обновлять тоже ни к чему
  • На рассмотрении

    +1

    Импорт брендов

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

    А знаете ли вы, что импорт брендов возможен только с указанием url-имени, то бишь, алиаса бренда?
    Без этого столбца или с пустыми значениями не получится импортировать бренды.

    Короче, надо доработать импорт брендов так, чтобы импорт шёл только по имени бренда, этого вполне достаточно.

    ***
    Зачем это вообще надо, ведь мне в техподдержке сказали, что при создании бренда алиас создаётся всё равно автоматически.
    Да, но только в случае небольшого интернет-магазина мы создаём бренды (и каталог в целом) вручную.
    Обычно у нас бренды залетают при импорте товаров, как отдельное поле. И часто этого количества брендов достаточно.
    Но я столкнулся сегодня с тем, что к существующим 60 брендам надо было докинуть ещё около 200. Не руками же их создавать-то. Сделал экспорт, добавил в калке - и не импортируется. Поля алиаса-то пустые. Хехе.

    На самом деле сущий пустяк, если интернет-магазин только создаётся, достаточно заполнить в csv столбец ерундой, типа brand001, прогрузить, затем вычистить алиасы (я это делаю через mysql for excel, очень удобно - хотя можно и запросик короткий написать), и создать алиасы заново через настройку модуля каталога товаров.
    Но это же лишние телодвижения и отсутствие логики.
  • На рассмотрении

    +4

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

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

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

    +2

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

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

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

    0

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

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

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

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

    +1

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

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

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

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

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

    +4

    Капча на emailsubscribe

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

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

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

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

    0

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

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

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

    Было бы намного удобнее :)