1. Доступ к загрузкам имеют пользователи со статусом КЛИЕНТЫ (заказчики сайта)
    Для обновления одного шаблона необходимо оплатить услугу Техническая поддержка (500 руб. - Яндекс-деньги или банковский перевод) модуль справа-внизу, сообщить {admin_forum} контактный e-mail
  2. У наших подписчиков ВКонтакте появилась возможность скачать первую версию любого шаблона для ознакомления абсолютно бесплатно. Вступаем и заказываем нужный шаблон на странице группы - https://vk.com/yootheme
    Скрыть объявление

Системы импорта JBZoo 2

Тема в разделе "FAQ по JBZoo", создана пользователем admin_forum, 4 ноя 2013.

  1. admin_forum
    Оффлайн

    admin_forum Администратор Команда форума

    Начиная с JBZoo 2.0 у нас появилась собственная система импорта и экспорта в формате CSV.

    Далее мы рассмотрим опции и процесс только для материалов. Вся эта информация актуальна и для категорий. По большому счету, отличие только в контексте.
    Импорт и экспорт работают только в UTF-8 кодировке (желательно без BOM). Это не прихоть разработчиков JBZoo, т.к сайты на Joomla всегда работают именно в этой кодировке.
    Не все десктопные программы хорошо понимают UTF-8. Например часто замечаются проблемы с MS Excel. Для редактирования рекомендуем вам использовать OpenOffice (он же LibreOffice ). Это очень хорошая бесплатная альтернатива.
    После окончания процесса загрузки нет необходимости делать индексацию сайта. Она проходит автоматически в фоновом режиме.
    Скорость импорта очень сильно зависит от количества загружаемых данных, типов полей, их количества и объема самого CSV файла (и конечно же качества вашего хостинга). Имейте это ввиду. Возможно лучше будет загружать контент по частям. Тут готового рецепта для соотношения скорости и удобства нет - все очень индивидуально.

    Как редактировать CSV файл локально?
    На скриншоте показан пример с опциями по умолчанию для популярной программы OpenOffice.
    Во всех других программах настройки аналогичные. Обратите внимание на выделенные пункты

    [​IMG]

    Как найти импорт или экспорт JBZoo?
    Кнопку импорта и экспорта не сложно найти в Zoo в разделе с инструментами. По нажатию появится всплывающее окно

    [​IMG]

    Опции импорта - Шаг #1
    На первом шаге мы задаем только параметры для распознавания CSV файла

    [​IMG]

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

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

    [​IMG]

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

    Опции импорта - Шаг #2
    На втором шаге нужно явно указать какую колонку и в какое поле материала импортировать.
    Слева будет показан список из вашего CSV-файла, справа (после того как выберите тип) поля из материала

    [​IMG]

    Сверху перечислены очень важные опции импорта.

    Каталог (оно же приложение, вкладка, App), в который будут загружаться материалы
    Тип материала. От него будет зависеть набор полей под пунктом 6.
    Ключ при импорте - это поле, по которому связываются записи из CSV с данными сайта.

    ID (число) - уникальный идентификатор (порядковый номер), сгенерированный в рамках вашего сайта
    Название - Ищет точное совпадение по имени материала или категории.
    Псевдоним (алиас) - Уникальный текстовый ключ, обычно это название материала латиницей без спец символов в нижнем регистре.
    Артикул - Данные из специального элемента цены JBPrice Advance (и только его!).

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

    Если импорт не сможет установить связь по ключу, то будет создан новый материал.
    Наполнение radio итд. При импорте данных для жесткого списка важно чтобы значения в CSV совпадали с заранее настроенными типами на сайте. Это не всегда удобно. Настройка позволяет автоматически "расширять" список опций в указанных элементах. Таким образом уменьшается ручная работа и вероятность что-то пропустить. Поддерживаются только стандартные элементы select, checkbox, radio.
    Записи, которых не было в файле. Для 100% синхронизации сайта с внешней базой данных (например 1С) полезно, чтобы импорт не только добавлял/изменял существующие материалы, но и удалял/отключал те, которых нет. Как раз это позволяет сделать опция под номером 5
    Это список соответствий между колонками CSV и полями из материала.

    Импорт - Шаг #3
    На третьем шаге запустится непосредственный процесс загрузки материалов на ваш сайт

    [​IMG]

    Не закрывайте это окно, до тех пор пока не появится сообщение, что все завершено.
    Внимание! На последнем шаге, после 100% выполнится дополнительный запрос на сервер, который удаляет либо скрывает материалы (зависит от настроек второго шага). Если материалов много, то это может занять довольно большой промежуток времени (от 1 минуты на 10000 материалов). Поэтому, не закрывайте окно импорта раньше времени!
    Если вы внезапно увидели Alert-сообщение, то не нужно паниковать. Это ошибка (и совсем не обязательно от импорта).
    Просто сделайте скриншот и покажите его техподдержке. В этом случае импорт остановится и его лучше не перезапускать, до выяснения обстоятельств. Ошибка в виде стандартного Alert сделана как раз для удобства просмотра текста ошибки

    [​IMG]

    Примеры форматирования некоторых полей
    Разные типы полей материала и категорий имеют разные способы форматирования. Ниже мы разберем особые типы данных в CSV
    Логические значения (да, нет) - В основном используется для простейших переключателей, например включить или выключить комментарии. Для указания положительного стейта можно использовать такие значения как "1", "y", "yes", "on" и положительные значения. Все остальное рассматриваются как "Нет".
    Поля даты - Рекомендуется указывать в формате "Y-m-d H:i:s", например "1999-12-31 23:59:59". Так же подойдет любой другой формат, который может распознать PHP функция strtotime
    Связанный материал или категория - В полях, которое указывают на связь с другим материалом должен содержать псевдоним (алиас). Сделать связь по ID не получится. Такой поддержки нет из логически побуждений и большом неудобстве.
    Категория - Принадлежность материала к категории можно указать несколькими способами.
    Полный вариант.
    Пример - "Название 1|||alias-1///Название 2|||alias-2///Название 3|||alias-3".
    Указывает на полный путь категорий, к которой принадлежит материал. явная принадлежность будет сохранена последней категории. Если нужно указать несколько, то поле категорий должно быть множественным.
    Импорт сделает поиск по категориям с помощью алиаса, если не найдет, то по названию. В крайнем случае категория будет создана.
    Укороченный вариант.
    Например - "Название 1///Название 2///Название 3"
    То же самое что и полный, но без алиасов.
    Простейший вариант.
    Например - "Название 1" или "alias-1"
    Указание категории без вложенности. Если категория уже существует, то её вложенность не изменится и материал будет привязан. В противном случае - она будет создана в корне каталога.
    Автор (пользователь) - В поле можно указать либо явный ID пользователя, либо произвольное слово, которое сохранится как псевдоним автора.
    Страна - Для элемента страны указывается двухбуквенный код. Например для США - US.
    Полный список всех стран можно найти в этом файле /administrator/components/com_zoo/framework/helpers/country.php
    Галереи, картинки, файлы - Есть группа элементов, которые могу хранить себе путь до файла или папки. Для этих элементов нужно указать такой же путь, что и указывается в панели управления. Желательно без лишних слешей. При импорте существование файлов и папок ни как не проверяются.
    Каскадный селект - Каждая ячейка должная указывать на один из вариантов каскадного селекта. Например так

    Код:
    Великобритания|||Эдинбург|||Стрит #5
    Великобритания|||Эдинбург
    Великобритания
    К сожалению, импорт еще не научился заполнять настройки этого элемента "на ходу" из данных CSV. Добавим эту возможность в следующих релизах.

    Модуль Joomla и WidgetKit - Здесь жесткая привязка по ID из компонента widgetKit или один менеджера модулей Joomla
    Цены - Начиная с v2.0 для поля с ценой рекомендуется использовать элемент JBPrice Advance.
    Он поддерживает разные способы наполнения.
    Допустим, мы хотим наполнить цены следующим образом

    [​IMG]

    Наиболее полный формат
    Для первой ячейки (базовая информация)

    Код:
    balance:-1;new:0;sku:Atr.ABC123;value:1000;currency:RUB;discount:-50;discount_currency:RUB;description:Описание товара
    Для следующий ячейки (вариации цен)

    Код:
    balance:-1;value:+50;currency:%;sku:Atr.ABC123;param1:intel;description:Отличный выбор
    Этот формат наиболее длинный, но может полностью изменять значения элемента.
    Как видите, он представляет из себя набор "ключ1:значение1;ключ2:значение2".
    Указывать все ключи не обязательно - на свое усмотрение.
    Например, можно не писать переменную "currency", тогда импорт сохранит значение под валютой по умолчанию из настроек элемента.
    Либо если какое из значений пустое, можно его не указывать совсем.
    Так в вариации есть "param1", но нет "param2" и "param3". Потому что их заполнять не нужно.

    Специальные символы, такие как ":" и ";" используются в качестве разделителей.
    Если у вас этот символ используется в описании, то нужно заменить его на "%col%" или "%sem%" соответственно (без кавычек).


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

    1 Вариант
    "Atr.ABC123|||1|||1000|||Описание товара" - Артикул, Флаг наличия на складе, Цена, Описание.

    2 Вариант
    "Atr.ABC123|||1000|||Описание товара" - Артикул, Цена, Описание.

    3 Вариант
    "1000|||Описание товара" - Цена, Описание.

    4 Вариант
    "1000" - Только цена.


    Важное о ценах!

    В CSV файле первым столбцом должна идти базовая информация, а далее её вариации (если есть).
    Данные из импорта полностью переписывают информацию цены. Будьте внимательны при подготовке CSV-файла.
    Цена работает как множественное поле, по этой причине в импортируемом файле будет несколько колонок. Это добавляет удобства при редактировании
    Импорт в старого JBPrice поддерживается, но только в упрощенном формате
     

Поделиться этой страницей