Вот так будет:

        $event_result = \RS\Event\Manager::fire('product.getsearchtext', array(
            'text_parts' => $text,
            'product' => $this
        ));
        list($text) = $event_result->extract();

Добрый день!
Добавили хук product.getsearchtext, войдет в следующее обновление.
Чтобы не ждать можете добавить 4 строки сами в файл product.inc.php

    /**
    * Возвращает текст для индексации. Должен содержать все слова, по которым товар должен находиться
    */
    function getSearchText()
    {
        $config = \RS\Config\Loader::byModule($this);
        //Для поиска: Штрих-код, Краткое опиание, Характеристики, мета ключевые слова
        $properties = '';
        if (in_array('properties', $config['search_fields'])) {
            if ($this->use_property_in_search_index) {
                foreach ($this->fillProperty() as $groups) {
                    foreach ($groups['properties'] as $prop) {
                        $properties .= $prop['title'] . ' : ' . $prop->textView() . ' , ';
                    }
                }
            }
        }

        $text = array();
        
        if (in_array('barcode', $config['search_fields'])) $text[] = $this['barcode'];
        if (in_array('short_description', $config['search_fields'])) $text[] = $this['short_description'];
        if (in_array('properties', $config['search_fields'])) $text[] = $properties;
        if (in_array('meta_keywords', $config['search_fields'])) $text[] = $this['meta_keywords'];

        //Начало хука
        $event_result = \RS\Event\Manager::fire('product.getsearchtext', array(
            'text_parts' => $text
        ));
        list($text) = $event_result->extract();
        //Конец хука

        return trim(strip_tags(implode(' , ', $text)));
    }

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

600 товаров в одном заказе - это конечно круто.

Наверное сперва важно определить, что в текущем положении дел не устраивает (сейчас же тоже можно просто взять и добавить 600 товаров), с чем нужно бороться так сказать:

1. Фатальные ошибки при открытии корзины (теоретически нужно проверить, чтобы памяти хватало скрипту)
2. Время открытия страницы корзины (интересно какое оно будет при 600 товарах)
3. Размер итогового HTML-кода и тормоза браузера
4. Чисто навигационная проблема, никаких тормозов - нет.

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

Если есть проблемы только с размером генерируемого HTML кода, то можно поправить контроллер корзины, чтобы добавить пагинацию на уровне PHP (а не Mysql), так как все товары все равно загружаются в корзину.

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

Возможные подводные камни:

- Возможно нужно будет увеличить max_input_vars в PHP.ini, чтобы принимать огромное количество переменных из админки (на странице редактирования заказа).

405

(4 ответов, оставленных в Вопросы по работе с системой)

Рассматриваю идею разработки модуля ReadyScript для Telegram бота.
Напомню, что с июня 2017 года, Telegram дает возможность оплачивать покупки через Яндекс.Кассу.

Если в общем описать ситуацию, то выглядит все это так:
1. Пользователь ищет в телеграме вашего бота по имени (как будто обычного человека), например ReadyScriptBot.
2. Находит бота и у него есть одна кнопка "Start"(Начать взаимодействие). Нажимает на неё.
3. Бот выдает список поддерживаемых команд
4. Пользователь нажимает на одну команду или вводит её вручную.
5. Бот отвечает сообщением, которое может содержать текст, картинку, кнопку "оплатить", ссылку.

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

Я вижу такие функции (рассматриваем пока абстрактный магазин, то есть только то, что подойдет как для одежды, так и для моторных лодок, никакой специфики):

1. Люди могут искать контакты магазина. Нужно выдавать текст контактов.
2. Люди могут захотеть купить товар по артикулу. Нужно выдавать фото товара, мини-описание, цену, кнопку оплатить.
3. Люди могут запросить топ-5 акционных товаров магазина. (чтобы узнать о скидках и акциях)

Предлагайте, пожалуйста, ваши сценарии.

https://readyscript.ru/dev-manual/dev_t … tends.html
Вам подходит вариант - "Перегрузка CSS, JS файла, расположенного в папке с модулем"

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

Добрый день!

Подскажите, у вас есть опыт работы с ReadyScript? Вы зарегистрированы среди наших партнеров?

За это отвечает JS скрипт /templates/flatlines/resource/js/rs.changeoffer.js см. там функцию showStockSticks.

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

410

(2 ответов, оставленных в Вопросы по Маркетплейсу)

Исправлено. Извините за временные неудобства.

Важный момент: Сайтов - 2 "в рамках мультисайтовости." (см. условия лицензии на странице продукта, например, мегамаркета - https://readyscript.ru/internet-magazin/shop-mega/ )

Если вам нужно установить 2 физические копии нашего продукта, то нужно приобрести 2 лицензии.

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

http://www.smarty.net/docs/en/language. … .while.tpl

Как не выпустили? https://readyscript.ru/mobile-manager-app/
https://itunes.apple.com/us/app/readysc … 1200504273

У нас уже скоро выйдет RS 3.0 - там будет полностью адаптивная админка, можно будет править карточки товара, загружать фото прямо со смартфона. (Мы уже пробовали на iphone - работает отлично).

Это в ReadyScript 3.0 - есть. Только к приложению это не имеет отношения.

Разработчикам: В последнем апдейте маркетплейса, мы добавили очень важную функцию, а именно возможность выбирать клиента, для которого будет приобретаться обновление. Разберем, зачем эта функция и у кого она будет доступна в нашей статье
https://readyscript.ru/text-blog/razrab … -klientov/

500 - значит происходит fatal error, нужно включить ошибки, написано здесь: https://readyscript.ru/faq/#faq-errors
Затем посмотреть, что приходит от сервера, нажав F12 в браузере на вкладке Network (там будет текст ошибки) или написать в поддержку, наши специалисты подскажут.

Поправили ошибку с визуальным текстовым редактором, выйдет в ближайшем обновлении. По конструктору сайта - напишите в поддержку пожалуйста подробнее. Блок не отображается на сайте или не отображается в конструкторе тоже?

418

(4 ответов, оставленных в Вопросы по работе с системой)

Просто перенести код не получится ).
Нужно провести определенную, как мне видится, немаленькую разработку, чтобы такое заработало.
В частности JS очень прилично нужно будет допилить.

Пришлите в поддержку скриншот  с вашими настройками полей FROM и REPLY из раздела Настройка системы -> Уведомления.

Обновите вашу версию RS, сегодня выпустили update, исправляющий данную проблему.

421

(1 ответов, оставленных в Вопросы по Маркетплейсу)

Нет. Вы можете просто скачать и установить любой существующий на сегодняшний день форум в любую подпапку сайта и обращаться к нему независимо. Например: вашсайт.ру/forum/

Если возникает вопрос об объединении пользовательской базы основного сайта и форума, то с каждым форумом это нужно делать индивидуально.

В RS 3.0 - будет сразу готовая кнопка для закрытия сайтов для пользователей, кроме админов.

Можно отдавать статус ответа 503 - Service Temporary Unavailable, чтобы поисковик какое-то время не выкидывал из индекса вашу страницу. (но это будет лишь какое-то время). 100% возможность закрыть от пользователей и полностью открыть для поисковиков - не существует. (перебирать все возможные user-agent'ы не рассматриваю)

Теоретически можете написать несколько строк в index.php после require('setup.inc.php');

require('setup.inc.php');
use \RS\Language\Core as LangCore;

if (!\RS\Application\Auth::getCurrentUser()->isAdmin()) {
    header('HTTP/1.1 503 Service Temporarily Unavailable');
    header('Status: 503 Service Temporarily Unavailable');

    echo 'Сайт на реконструкции'; // Просто надпись
    //readfile('stub.html');  //Или можно вывести ваш html файл с красивой заглушкой
    exit;
}

...

У нас уже скоро выйдет RS 3.0 - там будет полностью адаптивная админка, можно будет править карточки товара, загружать фото прямо со смартфона. (Мы уже пробовали на iphone - работает отлично). Надеюсь - это поможет решить вашу задачу.

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

Напишите, пожалуйста, в поддержку, эти все проблемы решаются.

425

(10 ответов, оставленных в Вопросы по работе с системой)

Очень абстрактный вопрос "реально ли разработать?".

Точно реально, так как ReadyScript - это открытая платформа, написанная на PHP, т.е. реально сделать в принципе абсолютно все, что позволяют веб-технологии. Вопрос лишь какими усилиями.  (У нас были случаи, когда на нашей платформе делали сайт по поиску недвижимости)

1. Выбор из справочников характеристик комплектаций - очень масштабная задача с технической точки зрения (сейчас в системе это произвольные строки, чтобы там были идентификаторы значений справочников нужно переписать большое  количество подсистем)

2. Динамические фильтры - тоже нетривиальная задача. (особенно если нужно производительность фильтрации сохранить хоть немного, уже делали подобные задачи на кастомных проектах. На MySQL сталкивались с проблемой производительности при большом количестве товаров с обширным количеством характеристик, поэтому в RS не включили данную возможность.) Есть более щадящие по производительности решения - отображение всплывающего лейбла "Нашлось N товаров. Ссылка показать".

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



Возможность доработки данных моментов у партнеров, вы можете узнать проведя на нашем сайте тендер. Каждый партнер даст свою оценку.

Вопросы по платной разработке нашими силами мы на форуме не рассматриваем, вы можете составить заявку на разработку в нашем сервисе платной поддержки helpdesk.readyscript.ru, там ребята дадут еще свою оценку.

--------

По вопросу распродаж (Простите, но опять расскажу существующую функциональность, она позволяет реализовать вашу задачу, не понимаю зачем что-то разрабатывать):

У нас есть функциональность по массовому изменению цен на группы товаров, в том числе по формуле. Т.е. вы можете
на время акции откорректировать тип цен по форуме, например -10% от Другой цены только для выбранных товаров одной группы.  Или вы можете легко клонировать цены, а затем проставлять скидки. Есть возможность задавать зачеркнутую цену.

https://readyscript.ru/text-blog/Novye- … adyScript/

Но гораздо правильнее это делать с помощью колонок цен (опять таки это модель 1С):
1. Создаете несколько видов цен:
а) Розничная обычная
б) Скидочная акция 1
в) Скидочная акция 2

У каждого товара указываете несколько значений цены. Затем во время наступления акции просто переключаете текущий тип цен на сайте. У нас в маркетплейсе был на эту тему модуль http://marketplace.readyscript.ru/addons/saleswitcher/

Чтобы на товаре появилась наклейка - нужно создать спецкатегорию и присвоить её к товару. В теме Классическая, можно загружать любую картинку Лейбла для спецкатегории.