Поло Арт

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

    +1

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

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

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

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

    0

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

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

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

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

    +4

    Капча на emailsubscribe

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

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

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

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

    +1

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

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

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

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

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

    0

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

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

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

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

    +2

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

    Поло Арт Обновлен 1 год назад в категории 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

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

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

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

    +5

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

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

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

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

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

    +1

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

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

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

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

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

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

    +3

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

    Поло Арт Обновлен 2 года назад в категории 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 - но слишком часто обновлять тоже ни к чему