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

    0

    Список изменений модулей в одном месте. Категории изменений.

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

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

    +4

    Индивидуальное отключение визуального редактора

    Дмитрий Петухов Обновлен 9 лет назад в категории CMS Админ. панель 1

    Сделать возможность отключить визуальный редактор индивидуально для каждой страницы, товара.
    То есть добавить галочку https://yadi.sk/i/9MLtm6AGsnAdp при установке которой редактор отключается https://yadi.sk/i/-c5EzSH2snAiJ и мы можем писать просто HTML код, причем если элемент (страниц, товар) сохранить и зайти потом в другой раз, то галочка все так же будет стоять.

    Для чего надо: визуальный редактор добавляет свои теги, а часто бывает надо просто вставить свой html код, и править его именно как код, а не в визуальнике.
  • На рассмотрении

    0

    Реактивный фреймворк для private frontend(админка), и возможность подключения к public frontend

    Денис Ефремов Обновлен 9 лет назад в категории CMS Админ. панель 1

    Здравствуйте, ув. разработчики!

    Итак, на дворе середина 2016.

    Мне кажется пора уже в ReadyScript - которую лично я считаю достаточно современной CMS, а также довольно-таки "модерновым" CMF - использовать преимущества реактивных фреймворков. Тем более, что технология, уже доросла до использования в "production environment", так как, прожевано и выплюнуто первое поколение реализаций - Angular 1, Backbone, Knockout - я считаю уже не актуальными, рективно-неповоротливыми монстрами...
    Вы, я уверен, в курсе всего этого, хотя, возможно мнения наши где-то разнятся.

    Сейчас наступает эра "легковесного" JS. Отказ от тяжеловесных "либсов", таких, как jQuery, в пользу, например UmbrellaJS, или вообще, VanillaJS, если речь о ES5.
    Либо, аналогичным образом про ES6 можно сказать, что мы наблюдаем переход на использование reactive-data-binding библиотек нового поколения, например VueJS (которую я, после длительного анализа, выбрал для своих разработок) вместо Angular, React или Ember. Хотя Vue поддерживает и совместное обитание с этими и другими фреймворками (jQuery), и не только с JS (Laravel).

    По своему опыту могу сказать, что прирост производительности, после смены инструментов реализации, не надуманный. Он реально есть и виден даже невооруженным взглядом.

    Оценивали ли вы вариант включения одной из Reactive библиотек в "коробку" ReadyScript?
  • На рассмотрении

    +2

    счёт в pdf

    Виктор Рябчун Обновлен 9 лет назад в категории Другое 1

    Возможно сделать счёт в pdf c сканпечатью ИП ?
  • На рассмотрении

    +4

    Добавить интеграцию с сервисом ГдеПосылка

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

    https://gdeposylka.ru/tracking-api/ - было бы здорово добавить поддержку данного сервиса в движке readyscript.
    Можно в карточке редактирования заказа добавить поле для трека и после сохранения заказа с треком пользователю начинали бы приходить уведомления с перемещением его посылки.
  • На рассмотрении

    +2

    Добавить возможность заказа от кол-ва единиц

    Юрий Жарук Обновлен 9 лет назад в категории CMS Общий функционал 0

    Функция на подобии заказ от суммы, но от кол-ва единиц товара, желательно с возможностью разделения по регионам.
  • На рассмотрении

    +4

    Не обновлять цены у товаров, которые находятся в спецкатегории

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

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

    Товары в спецкатегории добавляются каждый день, в одних цены дешевле, в других дороже, в третьих еще как-то меняются и менять все это в Управлении Торговлей 11.1 крайне неудобно и медленно, на сайте же все наглядно и удобно.

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

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

    +6

    Выбор логики работы корзины

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

    Для некоторых магазинов необходимо, чтобы корзина пользователя была доступна на всех устройствах.
    Неплохо было бы выбирать в настройках логику работы.
    1. При неавторизованном пользователе товары привязываются к сессии.
    2. При авторизации выборка идет по пользователю. Корзины неавторизованного пользователя и авторизованного сливаются.

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

    +2

    Вывод остатка на складе в просмотре / редактировании заказа

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

    Предлагаю добавить вывод у товаров остатка на складе в просмотре/редактировании заказа. Тем самым мы заранее будем знать доступный остаток, и если клиент захочет добавить товаров в заказ, нам не придется искать остатки в других местах админ панели или в 1с.
    Из скриншота ниже: (1) в резерве - означает что 1 заказанный товар уже вычтен от общего количества на складе и спишется или вернется обратно на склад в зависимости от того, как завершится сделка.
  • На рассмотрении

    +2

    Многомерные комплектации. Добавление CSS класса к характеристикам с 0 остатком.

    Денис Ефремов Обновлен 9 лет назад в категории CMS Общий функционал 0

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

    Ждал я долго, думал что вы напишете, но клиент потребовал реализации и пришлось писать. Заморочка, конечно, была та еще.

    В общем, вот 2 метода, которые нужно добавить в jquery.changeoffer.js, а затем вызвать первый метод в конце changeMultiOffer таким образом - checkEmptyOffers(selected):


    /**
    * Вычисляем характеристики, для которых нет в наличии товаров
    * @param {obj} selected Массив выбранных характеристик checkEmptyOffers
    */
    checkEmptyOffers = function(selected) {
    // Из массива выбранного делаем объекты данных для каждой хар-ки отдельно
    selected.forEach(function(el, i) {
    // Исключаем выбранное значение из возможных
    var t = selected.filter(function(v, idx) {
    return idx != i;
    });
    disableOptions({ // готовим объект и передаем его метод для изменения DOM
    name: el.title, // имя хар-ки по которой проходим
    activeValue: el.value, // выбранное значение хар-ки
    disabled: [], // сюда отфильтруются только нулевые остатки из всех siblings (ниже)
    // фильтруем компл, оставим только актуальные для выбранных значений
    siblings: data.options.multiOffersInfo.filter(function(v) {
    // здесь ишем чтобы не совпадало с выбранной по которой проходим но совпадало с
    return v.info.every(function(a) { // выбранными остальными
    return (a[0] == el.title && a[1] != el.value) || t.some(function(o) {
    return JSON.stringify(o) === JSON.stringify({ // объекты только так сравнивать)))
    title: a[0],
    value: a[1]
    });
    });
    });
    })
    });
    });
    },
    // @TODO перенести формирование disabled в метод checkEmptyOffers, тк disableOptions должен только DOM заниматься
    // @TODO избавиться от промежуточного siblings.


    /**
    * Зачеркиваем характеристики
    * @param {obj} data Массив данных
    */
    disableOptions = function(d) {
    var $listEl = $('[data-prop-title="' + d.name + '"]'),
    $items,
    getValueByName = function(name, info) { // хелпер. @TODO вынести объявление рядом с in_array()
    return info.filter(function(ar) {
    return ar[0] == name;
    })[0][1];
    };
    d.disabled = d.siblings.filter(function(s) { // сюда фильтруем только остатки 0
    s.title = d.name;
    s.value = getValueByName(s.title, s.info);
    return s.num < 1;
    }); // @TODO этот фильтр в checkEmptyOffers вместо siblings

    // Далее нужно получить набор $items $(jQuery(obj))
    $items = getItems

    // И само зачеркивание
    $items.removeClass('empty');
    d.disabled.forEach(function(val) {
    $items.each(function(i, el) {
    var _this = $(this);
    if (_this.text().trim() == val.value) {
    _this.addClass('empty');
    }
    });
    });
    },


    Конечно не круто, то что вложенных циклов много, но другого я не придумал пока. Что-то не лезет в голову ничего изящнее)
    Думаю, что после доработок, неплохо было бы его включить в коробку.