Remontnouta.ru

ПК Ремонт техники
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Фильтр каталога товаров для интернет-магазина на 1С-Битрикс24

Фильтр каталога товаров для интернет-магазина на 1С-Битрикс24

Фильтр каталога товаров — важная составляющая любого интернет-магазина. Если искать подходящий товар долго и неудобно, то клиент уйдет с сайта, просто потому что ценит свое время. Хорошо, если владелец магазина задумался над этим еще на стадии разработки, до того, как вложил приличную сумму и загрузки товаров, как наш заказчик из этого кейса.

Задача

Фильтрация каталога по заданному товарному свойству — одна из распространенных задач при разработке интернет-магазина. Обычно этим свойством является бренд производителя. Особенность заключается в том, что нужно фильтровать не только товары, но и всю структуру разделов каталога, именно этот факт отличает задачу от “умного фильтра” Битрикса.

Что сделали мы

Мы разработали специальный модуль, который решает эту задачу максимально быстро и эффективно. Продемонстрируем его работу на конкретных примерах. Изначально на сайте (обычно в боковой колонке) выводится вся структура товарных категорий (разделов):

Мы разработали специальный модуль, который предлагает максимально эффективное и быстрое решение. Продемонстрируем действие модуля на конкретных примерах. Изначально на сайте (обычно в боковой колонке) выводится вся структура товарных категорий (разделов):

Рубрикатор по разделам каталога

В другом месте выводится список всех производителей (или значений любого другого товарного свойства). В нашем случае этот список находится на другой вкладке в боковой колонке:

Рубрикатор по производителям с функцией фильтра

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

Фильтр по производителю

При навигации по разделам каталога фильтр сохраняется. Пользователь может свободно перемещаться из раздела в раздел — он будет видеть только те товары и категории, которые относятся к интересующему его производителю. Чтобы сбросить фильтр и увидеть все товары/разделы, нужно нажать на ссылку “Отменить” рядом с выбранным производителем (см. левый верхний угол на скриншоте). Выбранный производитель сохраняется в URL страницы, что позволяет делиться этой ссылкой с другими людьми — они тоже увидят каталог, отфильтрованный по выбранному производителю.

Важно отметить, что подобный фильтр работает максимально быстро даже на большой номенклатуре (в примере выше — 80 тыс. товаров и 3 тыс. разделов) и не требует заведения никаких дополнительных свойств на стороне 1С. Все работает в полностью автоматическом режиме. Для этого наш модуль проводит индексацию каталога Битрикс, записывая в каждый раздел информацию о производителях его товаров. При этом если произойдет изменение/добавление или удаление товара, автоматически обновится информация во всех разделах, к которым он относится (в режиме реального времени).

Возможности модуля не ограничиваются фильтрацией каталога только по производителю. Его можно использовать, например, для создания раздела новинок или акций на сайте. В этом разделе будет представлен весь каталог, отфильтрованный по свойству “Новинка”. Вот наглядный видеоролик: Посмотреть. Обратите внимание, что среди всех разделов остались только те, в которых есть новинки. Посмотреть пример фильтра каталога по свойству “мебельная фабрика”:

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

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

Результат

С помощью нашего модуля искать товары в интернет-магазине — быстрее и проще. Удобный фильтр в каталоге товаров сокращает количество отказов с сайта и увеличивает количество покупок в интернет-магазине. Вы можете самостоятельно настраивать свойства фильтрации: производитель, цвет, материал, акция и т.д.

Битрикс включить фильтр для раздела

Передо мной стояла следующая задача: сделать фильтрацию всех товаров в инфоблоке по одному свойству, сохранив штатный функционал и рабочий «Умный фильтр». Вы скажете, что в битриксе есть замечательный «умный» фильтр с его фасетными индексами, а я скажу, что да, он есть. Но давайте взглянем на исходные данные задачи :

Читайте так же:
Видеоредактор для переворота видео

1. У нас есть инфоблок, в корне которого лежат основные разделы

2. Фильтрация должна происходить по ссылкам с главной страницы

И так, у нас есть сразу 2 проблемы:

1. В битриксе нельзя вывести все товары из инфоблока, не указав определенный раздел инфоблока (как бы можно, но в настройках штатного компонента этого нет)
2. Как сделать ссылку на фильтр, если в запросе на фильтрацию подставляются какие-то левые значения (arrFilter_55_4161729085=Y&set_filter=Показать)?

Для более полного понимая способа решения данной задачи проделаю все шаги с самого начала на демо-сайте битрикса (https://bitrixlabs.ru/#create-demo).

Первым делом нужно создать отдельную страницу, на которой будет выводиться наш каталог с умным фильтром:


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

При переходе на созданную страницу мы видим список всех разделов инфоблока (а нам нужен список всех товаров из всех разделов данного инфоблока).

Копируем стандартный шаблон компонента «каталог», чтобы не портить стандартный + чтобы избежать возможных перезаписей шаблона после обновлений:

Теперь переходим к редактированию самого шаблона, а именно нам нужен файл «sections.php», удаляем в нем весь код и заменяем его на:

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

Смотрим что получилось:

Переходим к редактированию параметров компонента и выбираем нужный инфоблок:

Смотрим что получилось и ловим фиаско:

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

Переходим к редактированию файла «section_vertical.php», ищем вызов компонента «bitrix::catalog.section» и добавляем ему к параметрам:

А вот пояснение к параметру из официальной документации:

Теперь переходим на нашу страницу с товарами и видим уже примерно следующее:


Список товаров выводится из всех разделов + фильтр на месте

Чуть не забыл, у фильтра в параметрах нужно отключить SEF_MODE (чпу), иначе работать наш фильтр не будет.

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

Смотрим что у нас передает фильтр после отправки формы:

Пробуем оставить только свойство цвета и переходим по полученной ссылке:


Все прекрасно работает

Остается понять алгоритм генерации данного параметра в запросе:

33 — это у нас ID свойства с цветом

А вот откуда тут берется 744714710 — не понято. Сначала я думал, что это может быть айдишкой самого значения свойства, но тут циферки для ID большие слишком + я все таки решил убедиться и проверил все это дело примерно таким способом:

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

Собственно тут видно, что ключ фильтрации у нас генерируется за счет метода «fillItemValues»:

Находим его в файле «class.php» с исходниками компонента умного фильтра (кто бы сомневался, хотя… битрикс же):

На 642 строке данного файла находим код, который и генерирует ключ фильтра:

Получается, что тут просто высчитывается сумма из некого «htmlKey» и берется значение суммы по модулю

Находим происхождение «htmlKey» на строке 518:

Смотрим из чего у нас выходит «key»:

И видим, что при обычных раскладах это просто значение свойства.

Читайте так же:
Восстановить каноническое уравнение эллипса

Получается, что значение свойства хешируют и берут его значение по модулю + перед хеш суммой добавляется ID свойства.

Возвращаемся к моей изначальной задаче и делаем следующее:

Перебираем все значения нужного нам свойства и записываем все это дело в ассоциативный массив.
А уже при выводе списка производителей просто ищем значение по уже готовому массиву:

Вауля и наш костыль готов к работе =)

При использовании данного метода есть свои нюансы, на странице с фильтром при выборе свойства фильтрации у нас всегда показывает 0 значений, хотя по факту там больше 0:

Но думаю, что если покопаться, то можно разобраться и с этим. В любом случае, данное решение лучше, чем просто выборка всех элементов через «GetList» и создание своего кастомного фильтра с нуля.

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

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

В умном фильтре могут быть отображены свойства товаров и торговых предложений. Кроме того, начиная с версии 15.0.1 модуля Информационные блоки, для свойств доступна настройка их визуального представления и компонент Умный фильтр Компонент подготавливает фильтр для выборки из инфоблока и выводит форму фильтра для фильтрации элементов. Компонент должен подключаться перед компонентом вывода элементов каталога, иначе список элементов фильтроваться не будет. Компонент стандартный, входит в дистрибутив модуля и содержит три шаблона: .default, visual_horizontal и visual_vertical. (Последние два шаблона не поддерживаются, остались для сохранения совместимости.)

В визуальном редакторе компонент расположен по пути Контент > Каталог > Умный фильтр.

Компонент относится к модулю Информационные блоки.

Описание компонента «Умный фильтр» в пользовательской документации. переведен на использование фасетного поиска Система заранее формирует фасеты (всевозможные комбинации пересечения свойств товаров) и при выполнении поискового запроса сразу выдается результат — эти готовые фасеты.
Подробнее. .

Настройка внешнего вида

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

  • непосредственно в форме создания/редактирования конкретного свойства ;
  • либо для нескольких свойств одновременно на закладке Свойства элементов формы настроек каталога или формы редактирования конкретного раздела каталога.

Пример. Если мы для раздела «Обувь» настраиваем отображение каких-то свойств для умного фильтра, то они наследуются для разделов «Тапочки» и «Туфли».

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

Визуальное представление

Независимо от выбранного варианта настройка визуального представления свойств осуществляется с помощью следующих двух параметров:

    Вид в умном фильтре — в зависимости от типа свойства из списка выбирается один из подходящих видов отображения значений свойства в умном фильтре. Так, например, для типа свойства Справочник можно выполнить настройку следующим образом:


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

Примечание: цены в умном фильтре всегда показаны в развернутом виде, но в случае необходимости пользователи могут их свернуть:

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

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

Примечание: порядок свойств в умном фильтре определяется значениями сортировки .

Фасетный поиск в умном фильтре

В умный фильтр встроен фасетный поиск, поэтому, чтобы улучшить работу фильтра, следует создать для каталога фасетные индексы Создание фасетных индексов — это и есть настройка фасетного поиска.
Подробнее. . В этом случае скорость работы фильтра не будет зависеть от размеров каталога, т.к. теперь фильтр не имеет линейной зависимости от количества товаров и свойств. В целом скорость фильтра улучшилась в 15 раз.

Читайте так же:
Вконтакте вход ввести логин и пароль

Вопрос конечно не особо понятен.
У вас в бренды как сделаны вообще?
1. Простое свойство инфоблока
2. Highload-блоки
3. Инфоблок с производителями?
Или вообще как то по другому?

А так же, как именно реализован вывод разделов и товара.

По вашему Вопросу не реально ответить так как очень мало информации, а битрикс позволяет ломать ногу 13 способами. 10 из которых очень изощрённые и как это сделано у Вас не понятно.

Индивидуальная настройка редактирования элемента

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

У Вас есть возможность настройки отображения редактирования элемента. Для этого Вам необходимо:

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

Настройка компонента

Перейдём к настройке компонента «Каталог товаров». Проще всего сделать это из публичной части перейдя в режим правки. В окне настроек компонента находим блок «Управление адресами страниц» и задаём следующие настройки:

  • Включить поддержку ЧПУ — Да
  • Каталог ЧПУ (относительно корня сайта) — это корневая папка каталога
  • Список разделов — можно пропустить, обычно он выводится на главной странице каталога или вынесен в меню
  • Раздел — #SECTION_CODE#/ (это по сути то же самое что и в настройках инфоблока, только этот путь уже включает в себя #SITE_DIR#/catalog/)
  • Детальная информация — #SECTION_CODE#/#ELEMENT_CODE#/ (аналогично предыдущему пункту)
  • Таблица сравнения — по умолчанию compare/
  • Url раздела для умного фильтра — #SECTION_CODE#/filter/#SMART_FILTER_PATH#/ (самый интересный пукнт) в #SMART_FILTER_PATH# битрикс подставит часть URL собранную из кодов свойств и XML_ID их значений при фильтрации (те самые коды которые мы готовили выше в статье).

Что такое умный фильтр в 1С-Битрикс

Довольно часто у пользователей на Вашем сайте возникает потребность моментально создать свою собственную выборку статей, товаров или других элементов. Чаще выборка создаётся не по ключевому слову, а по определенным значениям свойств элементов.

Так, например, если мы выбираем ноутбук, мы можем выбрать количество оперативной памяти, которое нам необходимо или производителя, как на рисунке:


Пример умного фильтра на сайте «Эльдорадо»

Средство, позволяющие отфильтровать элементы по определенным характеристиками (на рисунке подчёркнуто синим, а варианты — фиолетовым), называют умным фильтром (на рисунке выделено красным). Зелёным подчеркнут список выбранных характеристик. Рассмотрим «Умный фильтр» подробнее дальше.

Особенности умного фильтра

Основной особенностью работы умного фильтре является использование фасетных индексов для фильтрации товаров. Фасетный индекс — это индекс товара по одному свойству. Если обратиться к примеру и к рисунку №1, марка ноутбука является одним из фасетных индексов. Фасетный индекс позволяет получить элементы, подходящие по указанному свойству, исключая полный перебор товаров. Такой подход увеличивает размер базы данных, но снижает нагрузку на неё и ускоряет работу фильтра.

В Drupal`е есть похожий инструмент Facet (фасет), который позволяет строить фасетный индексы для сущностей сайта. Несмотря на аналогичный функционал и использование общей терминологии, существует значимое различие в реализации инструментов. Drupal использует для своего инструмента внешнее решение «Apache Solr», применяемое для построения и обработки фасетов, а также поиска внутри таксономии, в том числе и полнотекстового. В Bitrix`е используется решение, включённое в ядро системы. Такой подход избавляет разработчиков и пользователей от необходимости установки дополнительных программ и настройки взаимодействия между ними и системой управления контентом.

В других распространённых CMS также присутствуют плагины, которые в той или иной степени реализуют функционал умного фильтра: YITH WooCommerce Ajax Navigation (для WordPress), Custom Filters (для Joomla!, магазин virtuemart), JoomShopping Smart Filter (для Joomla!, магазин JoomShopping), Advanced Filters (для Magento). Однако, все перечисленные решения имеют один существенный недостаток — отказ от использования индексов, что увеличивает нагрузку на базу данных и снижает скорость работы. Более того все плагины (кроме YITH WooCommerce Ajax Navigation) стоят денег.

ЧПУ в умном фильтре

Начиная с версии 15.5.0 в Bitrix появилась возможность использовать человеко-понятные адреса для страниц с умным фильтром. Раньше настройки фильтра просто добавлялись параметрами в адрес страницы:

Данный подход имеет право на существование, но отпугивает пользователя, так как он не понимает значения этих параметров.

Но теперь мы можем помочь пользователю и сделать путь к станице наглядным отражением выбранных пользователем атрибутов в фильтре:

Тут сразу понятно, какого года книги мы ищем и какой издатель нас интересует.

Использование AJAX

В умном фильтре Bitrix реализовано автоматическая фильтрация товара без перезагрузки страницы, то есть обновляется только часть страницы, которая отвечает за товары. Эта возможность реализуется на основе AJAX-технологии — асинхронного запроса к серверу со страницы с целью получения новых данных. Работает это так: пользователь меняет настройки в фильтре, одновременно с ним страница посылает новые данные на сервер, который в ответ присылает новые товары, соответствующие требованиям.

Настройка умного фильтра

Основные настройки умного фильтра:

  1. Инфоблок с которым работает фильтр
  2. Шаблоны адресов страниц секции, фильтра, при использовании ЧПУ или уникальный код раздела
  3. Имя глобальной переменной с правилами фильтрации элементов раздела.

Остальные настройки умного фильтра изложены на страницах документации 1С-Битрикс (https://dev.1c-bitrix.ru/user_help/content/iblock/compo nents_2/catalog/smart_filter.php).

Пример подключения

Существует несколько способов подключения «Умного фильтра»:

  1. в составе компонента «Каталог 2.0»;
  2. используя «Визуальный редактор»;
  3. вставка вызова компонента в исходный код.

При подключении в составе компонента «Каталог», в добавок к стандартным настройкам фильтра идёт возможность выбора ориентации фильтра (горизонтальный и вертикальный). Более того, следствием использования компонента более высокого уровня является то, что часть настроек для встроенных компонентов будет общей.

Также существует возможность вставить умный фильтр с помощью «Визуального редактора».

1. Для этого необходимо изменить страницу в визуальном редакторе:

2. Далее необходимо выбрать в списке компонентов «Контент», а далее — «Каталог»:

3. После чего в списке компонентов выбираем «Умный фильтр», и перенести в поле содержания страницы:

4. Теперь мы можем настроить наш «Умный фильтр»:

Особенности кастомизации

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

СвойствоСпособ отображения
СтрокаФлажки
Радиокнопки
Выпадающий список
СписокФлажки
Радиокнопки
Выпадающий список
Цена/Число
Число от и до с ползунком
Число от и до
СправочникФлажки
Флажки с картинками
Флажки с картинками и названиями
Радиокнопки
Выпадающий список
Выпадающий список с названиями и картинками
Привязка к элементамФлажки
Радиокнопки
Выпадающий список

Флажки с картинками

Число от и до с ползунком

Выпадающий список с названиями и картинками

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

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

Не типовое решение: умный фильтр на главной странице (не на странице каталога).

Также существует возможность использовать разные фильтры в зависимости от адреса текущей страницы. Можно использовать фильтр на странице без каталога. Но тут существует несколько ограничений:

  • на любой странице сайта не может быть больше одного фильтра;
  • имя фильтра должно быть указано в каталоге;
  • фильтр должен быть настроен на работу с каталогом.

Рассмотрим на примере, разместим первый фильтр на главной, второй будет включен в состав комплексного компонента «Каталог».

Итак у нас есть два фильтра и один каталог. Теперь остается их настроить.

Для каталога нам понадобиться только два свойства:

  • Название фильтра;
  • Путь к фильтру при использовании ЧПУ.

В настройках фильтра все обстоит намного интереснее, нам нужно больше полей:

  • Уникальный идентификатор информационного блока;
  • Название фильтра;
  • Использование ЧПУ;
  • Типы цен;
  • Валюта;
  • Адрес фильтра ЧПУ;
  • Адрес каталога.

Теперь отфильтровать товары в каталоге можно прямо с главной страницы сайта.

Битрикс включить фильтр для раздела

Курс предназначен для администраторов интернет-магазинов, работающих на базе системы «1С-Битрикс: Управление сайтом». Изучение курса необходимо при работе с продуктом редакции Малый бизнес и выше при организации торговых операций через Интернет.

Поэтому, если у вас нет возможности обновить продукт и/или выполнить конвертацию, то описание работы с модулем Интернет-магазин смотрите в курсе Магазин до конвертации (до версии 15.0).

Кроме того, доступны для скачивания в формате CHM следующие материалы с описанием старого функционала магазина:

  • курс Администратор.Бизнес
  • Пользовательская документация

Курс Администратор. Бизнес завершает группу административных курсов по Bitrix Framework.

Начальные требования

Необходимый минимум знаний для изучения курса:

  • базовые навыки компьютерной грамотности и навыков работы с ОС Windows;
  • базовые знания о WWW и организации доступа к веб-серверу;
  • знание системы в рамках курса Контент-менеджер Мы считаем, что вы этот курс уже прошли и знаете многое о Битриксе. Поэтому подсказок во всплывающих окнах будет намного меньше, чем в курсе Контент-менеджер.
    Подробнее. , чтобы банально не путаться в интерфейсе.
  • знание системы в рамках курса Администратор. Базовый Мы считаем, что вы этот курс уже прошли и знаете многое об администрировании «1С-Битрикса». Поэтому подсказок во всплывающих окнах будет намного меньше, как и объяснений о том где и как выполнять общие задачи администрирования.

Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.

У нас часто спрашивают, сколько нужно заплатить

Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов — ничего из этого оплачивать не нужно.

Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.

Баллы опыта

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

уроке.

Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат — это если общее число набранных Вами баллов отличается от максимального на 1-2%.

Тесты и сертификат

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

На каждой странице курса авторизованный на сайте посетитель может дать комментарий к содержимому страницы. Комментарий — не форум, там не ведётся обсуждений или разъяснений. Это инструмент для сообщений нам об ошибках, неточностях. Для отправки комментария воспользуйтесь расположенной в правом нижнем углу окна браузера кнопкой:

Для преподавания оффлайн

Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 2 дня (16 академических часов).

Если нет интернета

Скачать материалы курса в формате PDF .

Скачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox

iPhone:
FBReader
CoolReader
iBook
Bookmate

Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome

iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла — от 08.11.2021.

Как проходить учебный курс?

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector