В максимальной версии есть мультифилиальность и можно вверху сделать выбор магазина вместо города.
http://mega.readyscript.ru/
201 30.04.2019 22:50:47
Re: Возможность вывода товара по выбранному магазину (2 ответов, оставленных в Вопросы по работе с системой)
202 27.04.2019 12:09:58
Re: Запрос наличия товара в другую базу (11 ответов, оставленных в Вопросы по разработке модулей и API системы)
Похожим образом на вордпрессе цены обновляют smile и товары загружают. Там толком механизмов встроенных нет.Я не знаю как там реализовано, но для моментальной загрузки большого массива данных во временную таблицу - это самый быстрый вариант.
Загрузка массива происходит мгновенно, в отличии от парсинга csv файла штатными средствами PHP. А потом переносите данные в рабочие таблице как хотите, но ничего быстрее, чем сделать это парой SQL запросов - нет.
Реального времени - это при загрузке страницы идёт куда-то запрос, где данные актуальные.Топикстартер вверху пишет, что надо обновлять цены и остатки и при просмотре каталога товаров, а не только 1 товара.
А как быть при использовании фильтрации и т.д.? Делать постоянно запросы для каждого товара к внешней системе? А если там что то с серваком будет или еще какие то задержки, то тайм аута запроса будем ждать?
Ну пусть интервал 5 минут, а 1 минута. Роли не играет, остатки товаров не успевают так быстро поменяться в учетной системе. И 15 минут хватает. Я сужу по статистике сайта для оптовиков, где в день несколько сотен заказов и 10 000 товаров. Проблем не было.
Явно у них внутри какой-то динозавр типа оракла всё крутит и ничего умнее придумать не смогли.Oracle скорее железный человек, который все может) Система спокойно переваривает сотни гигабайт данных. MySQL и PostgreSQL такого не снилось.
Это ещё почему? Ограничение по айпи на уровне mysql и чем-то типа iptables закрыт порт для всех, кому не положено.Потому что взломав сайт можно получить доступ к базе, что не есть хорошо для безопасности.
Я до создания сайтов на RS (спасибо Набиуллина) занимался Oracle, АБС Банк XXI век и интеграцией с процессингом пластиковых карт. Если бы я дал доступ к базе извне, меня бы уволили, может бы и дело завели. Как минимум можно за DDOS-ить запросами к базе.
Хотите пример подобного велосипеда, где данные через джонсик прилетают на страницу? И там не только цены, там весь каталог прилетает.
https://rs24.ru/catalog.htmЭто совсем не то, о чем пишет ТС. Весь фронтэнд построен на Vanilla JS, они просто список товаров получают со своего же сайта, а не со сторонних серверов. Примерно так же, как RS при фильтрации каталога товаров, только интерфейс на стороне клиента строится, а не прилетает в готовом виде.
Самый яркий пример использования сторонних сервисов - сайты с бронированием.В особенности агрегаторы. Там видно, с какими задержками обновляются данные при использовании запросов в различные сервисы
203 26.04.2019 18:54:12
Re: Запрос наличия товара в другую базу (11 ответов, оставленных в Вопросы по разработке модулей и API системы)
Ну или по крону связываться с внешней БД и порциями затягивать остатки. Тоже как вариант.
Но я бы на месте администратора системы запретил прямой доступ к базе
204 26.04.2019 18:52:44
Re: Запрос наличия товара в другую базу (11 ответов, оставленных в Вопросы по разработке модулей и API системы)
Независимо от выбора движка онлайн синхронизацию в разумные сроки выполнить не получится. Время открытия страницы - один из основных факторов, влияющих на юзабили сайта.
Для каталога товаров в 10 000 позиций я делал выгрузку в csv файл каждый 5 минут, затягивал его в таблицу средствами Mysql LOAD DATA INFILE (это встроенный механизм MySQL для загрузки больших объемов данных.). Затем скриптом обновлял остатки и цены. Этот метод работает молниеносно. Временная таблица создается в доли секунды.
В моем случае скрипт загрузки вызывался внешней системой, но можно и cron у RS использовать.
Можно хоть раз в минуту выгружать. Фактически остатки и цены будут синхронизированы в режиме реального времени.
205 26.04.2019 00:55:24
Re: Возможность организации COMET сервера (5 ответов, оставленных в Вопросы по разработке модулей и API системы)
Спасибо за ответ! А тоже самое для фронтэнда возможно реализовать? Для построения решений, аналогичных моему модулю с оповещениями о товаре в корзине
206 25.04.2019 13:01:31
Тема: Возможность организации COMET сервера (5 ответов, оставленных в Вопросы по разработке модулей и API системы)
В списке изменений увидел "Добавлена возможность организации COMET сервера"
Можете подробнее про данную возможность рассказать?
207 14.04.2019 01:41:19
Re: Цены многомерных комплектаций (8 ответов, оставленных в Вопросы по работе с системой)
Когда предыдущая версия 1с выгружала 1 комплектацию как
<Предложения>
<Предложение>
<Ид>6c1c6bf6-ea03-11e7-8109-00155d000e0a</Ид>
<Артикул/>
<Наименование>KAL Coenzyme Q10 30мг 90таб </Наименование>
<БазоваяЕдиница Код="796 " НаименованиеПолное="Штука" МеждународноеСокращение="PCE">
<Пересчет>
<Единица>796</Единица>
<Коэффициент>1</Коэффициент>
</Пересчет>
</БазоваяЕдиница>
<Цены>
<Цена>было все ок с товарами.
Как только 1с обновили, и стало выгружаться
<Предложения>
<Предложение>
<Ид>6c1c6bf6-ea03-11e7-8109-00155d000e0a#8e6fad08-ea01-11e7-8109-00155d000e0a</Ид>, и т отоже с 0 ценой товар с первой выгрузки.
Т.е. было еще товарное предложение (в терминах 1с) с ид <Ид>6c1c6bf6-ea03-11e7-8109-00155d000e0a</Ид> , а теперь сразу <Ид>6c1c6bf6-ea03-11e7-8109-00155d000e0a#8e6fad08-ea01-11e7-8109-00155d000e0a</Ид>[
208 13.04.2019 12:51:34
Re: Раздел с общей историей изменений ReadyScript (5 ответов, оставленных в Вопросы по работе с системой)

Вот идеальное решение)
209 13.04.2019 12:42:20
Re: Раздел с общей историей изменений ReadyScript (5 ответов, оставленных в Вопросы по работе с системой)
фобия перпендикулярных линий?
210 12.04.2019 23:12:15
Re: Негатив в маркетплейсе (25 ответов, оставленных в Вопросы по Маркетплейсу)
как разработчик полностью поддерживаю)
Подписка на обновления должна покупать отдельно на модули. Получается, что разработка основной системы идет и оплачивается, а модули на бесконечной поддержке
211 12.04.2019 23:10:29
Re: Цели Метрики (11 ответов, оставленных в Вопросы по разработке модулей и API системы)
Код для темы "детская", поэтому в современной не будет работать.
По меньшей мере надо добавить классы "metrika_{название события}" в нужные элементы.
212 12.04.2019 23:06:42
Re: Раздел с общей историей изменений ReadyScript (5 ответов, оставленных в Вопросы по работе с системой)
ураааааааааааааааааааааааааааааааааааааа
213 12.04.2019 23:05:25
Re: Цены многомерных комплектаций (8 ответов, оставленных в Вопросы по работе с системой)
Вот только тестирую интеграцию 3-й версии RS c новой 1с и такая же петрушка на новых товарах. Первая загрузки и у первой комплектации цена = 0
214 12.04.2019 12:27:24
Тема: Негатив в маркетплейсе (25 ответов, оставленных в Вопросы по Маркетплейсу)
В последнее время вижу только отрицательные отзывы в марктеплейсе.
Пользователи модулей пытаются связаться с разработчиком или сразу в отзыве сливают негатив?
215 12.04.2019 00:59:36
Re: Обновление до 4.1 (6 ответов, оставленных в Вопросы по работе с системой)
По мне, так удобства любого интерфейса заканчиваются на первых несколько сотнях элементах дерева или списка, далее надо программно делать.
В 1с, кстати, как работа с 10000 категорий обстоит?
216 12.04.2019 00:57:03
Re: Добавление фильтров к категории (6 ответов, оставленных в Вопросы по работе с системой)
В любом случае, подвижки в этому направлении есть.
ps минусы не я поставил
217 11.04.2019 04:47:40
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
http://forum.readyscript.ru/post/9776/#p9776
ответил тут
218 10.04.2019 22:48:56
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
Каждый готовый шаблон или самописный проблему адаптивного меню решает по-своему. Кто то делает 2 разных меню, а кто-то использует 1 меню и меняет ему версту в зависимости от разрешения.
219 10.04.2019 13:37:04
Re: Дубль меню (4 ответов, оставленных в Вопросы по созданию тем оформления)
Если делаете верстку без конструктора, то в соответствующих местах делаете вставку moduleinsert с дополнительным параметром indexTemplate, где указан уже другой шаблон, и root - идентификатор корневого пункта меню.
{moduleinsert name="\Menu\Controller\Block\Menu" indexTemplate='blocks/menu/foot_menu.tpl' root='0'} templates\fashion - тут тема полностью так построена, можно подглядывать.
220 10.04.2019 13:30:48
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
Можно 2 циклами вывести. 1 меню для обычного отображения, 2 меню для мобильных. Но я не знаю на основе какого шаблона делаете меню, может достаточно 1 цикла
221 09.04.2019 21:09:48
Re: Добавление фильтров к категории (6 ответов, оставленных в Вопросы по работе с системой)
222 09.04.2019 20:02:18
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
Верно вот так
{moduleinsert name="\Catalog\Controller\Block\BrandList"}Просто в папке \Catalog\Controller\Block смотрите какие есть контроллеры блоков.
223 09.04.2019 17:34:19
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
Чтобы посмотреть, какие поля есть у объекта, имея только блокнот (опускаю использование IDE)
Смотрим сам объект \modules\banners\model\orm\banner.inc.php :
......
function _init()
{
parent::_init()->append(array(
'site_id' => new Type\CurrentSite(),
'title' => new Type\Varchar(array(
'description' => t('Название баннера')
)),
'file' => new Type\File(array(
'description' => t('Баннер'),
'storage' => array(\Setup::$ROOT, \Setup::$FOLDER . static::$src_folder),
'template' => '%banners%/form/banner/file.tpl'
)),
'use_original_file' => new Type\Integer(array(
'description' => t('Использовать оригинал файла для вставки'),
'checkboxView' => array(1, 0)
)),
'link' => new Type\Varchar(array(
'description' => t('Ссылка')
)),
'targetblank' => new Type\Integer(array(
'description' => t('Открывать ссылку в новом окне'),
'checkboxView' => array(1, 0)
)),
'info' => new Type\Text(array(
'description' => t('Дополнительная информация')
)),
'public' => new Type\Integer(array(
'maxLength' => 1,
'description' => t('Публичный'),
'checkboxView' => array(1, 0)
)),
'xzone' => new Type\ArrayList(array(
'description' => t('Связанные зоны (удерживая CTRL можно выбирать несколько зон)'),
'list' => array(array('\Banners\Model\ZoneApi', 'staticAdminSelectList')),
'attr' => array(array(
'size' => 10,
'multiple' => 'multiple'
))
)),
'weight' => new Type\Integer(array(
'description' => t('Вес от 1 до 100'),
'default' => 100,
'hint' => t('Чем больше вес, тем больше вероятность того, что баннер будет показан в случае конкуренции')
)),
t('Расписание'),
'use_schedule' => new Type\Varchar(array(
'description' => t('Использовать показ по расписанию?'),
'checkboxview' => array(1, 0),
'default' => 0,
'checker' => array(array('\Banners\Model\Orm\Banner', 'staticUseScheduleCheck')),
'template' => '%banners%/form/banner/use_schedule.tpl'
)),
'date_start' => new Type\Datetime(array(
'description' => t('Дата начала показа'),
'visible' => false,
)),
'date_end' => new Type\Datetime(array(
'description' => t('Дата окончания показа'),
'visible' => false,
))
));
}Соответственно,
{if $banner.info}выведет дополнительную информацию. И да, можно в это поле и html вставлять. Возможно надо обработать функцией html_entity_decode
{$banner.info|html_entity_decode}224 09.04.2019 15:30:40
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
Если не нужен, удалите. 5 раз он не подключится
225 09.04.2019 14:47:22
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
в блок передаются данные из контроллера блока.
Т.е после вызова moduleinsert и передачи ему различных параметров, контроллер передает в шаблон tpl переменные шаблона. В исходнике slider.tpl из папки view самого модуля banners видно какие переменные передаются.
{addjs file="{$mod_js}jquery.photoslider.js" basepath="root"}
{if $zone}
{assign var=banners value=$zone->getBanners()}
<div class="bannerSlider">
<ul class="banners">
{foreach from=$banners item=banner}
<li class="item {if $banner@first} act{/if}" {$banner->getDebugAttributes()}>
<a {if $banner.link}href="{$banner.link}"{/if} {if $banner.targetblank}target="_blank"{/if}><img src="{$banner->getBannerUrl($zone.width, $zone.height, 'axy')}" alt="{$banner.title}"></a>
</li>
{/foreach}
</ul>
<div class="pages">
{foreach from=$banners item=banner}
<a href="#" class="{if $banner@first}act{/if}"></a>
{/foreach}
</div>
</div>
{/if}Плюс, в в руководстве есть информация, как посмотреть переданные в блок переменные визуально. Просто мышкой наводите и видно. https://readyscript.ru/dev-manual/dev_t … ogrid_tpls <-тут чуть ниже как включить режим отладки