подробности на сайте chelseablues.ru         d9e5a92d

Импорт из файла CSV

¦ В поле для описания введите текст из колонки Описание файла CSV.
¦ Перейдите на закладку Разделы и выберите раздел для создаваемого товара (в нашем случае Спиннинги).
¦ Сохраните внесенные изменения.
Товар создастся и появится в списке в соответствующем разделе.
¦ Перейдите на страницу Каталог ^ Редактирование.
Товар и раздел можно добавлять не только из административной, но и из публичной части. Для этого:
¦ В меню компонента выберите нужную команду (в нашем случае Добавить товар, рис. 15.20).

Откроется форма создания товара. Создайте еще один товар, как создавали его через административную панель, только теперь привяжите к нему другой товар, используя свойство Привязка к элементу.
¦ Щелкните по кнопке ш рядом с полем Рекомендуемый товар. Откроется окно выбора элементов (рис.

15.21).



Рис. 15.21. Добавление товара в поле Рекомендуемые
¦ В поле Информационный блок выберите блок Товары для рыбалки.
¦ Щелкните по кнопке Найти. В списке элементов отобразится список всех элементов.

Дважды щелкните по нужному товару (или воспользуйтесь командой Выбрать). Форма закроется, а номер товара появится в поле Рекомендуемый товар.
¦ Заполните остальные поля формы.
¦ Сохраните внесенные изменения.
Товар будет добавлен. Теперь, когда вы освоили создание элементов вручную, созданный элемент можно удалить, чтобы он не мешался при освоении импорта (заодно можно удалить и свойство Таблица из самого инфоблока).
Импорт товаров в каталог можно осуществить с помощью файлов двух форматов: CSV и CML. Последний формат это формат, получаемый из программ семейства 1С.

Мы осуществим импорт из файла CSV.

Импорт из файла CSV

Прежде чем приступить к импорту, нам нужно произвести некоторые дополнительные настройки.
Инфоблок как торговый каталог
¦ Перейдите на страницу Настройки ^ Настройки продукта ^ Настройки модулей ^ Торговый каталог.
¦ Перейдите на закладку Каталоги.
¦ Найдите в списке информационных блоков блок Товары для рыбалки и в колонке Является торговым каталогом установите флажок.
Теперь, начав создавать товар вручную, вы увидите, что внизу формы появится новая группа параметров, Торговый каталог, в которой производится настройка цен, дополнительных параметров и скидок.
После того как вы отметите инфоблок как торговый каталог, активируется строка в колонке НДС.
¦ Выберите созданную нами ранее ставку в 18%.
¦ Сохраните внесенные изменения.
Настройки импорта
Нам нужно добавить возможность задавать импорт в формате HTML. Это позволит при импорте сразу добавлять отформатированные описания с тегами.
¦ Перейдите на страницу Настройки ^ Настройки продукта ^ Настройки модулей ^ Торговый каталог.
В закладке Экспорт/Импорт в группе Экспорт/Импорт из CSV нас интересует поле Доступные поля товара.
¦ В поле Доступные поля товара в общем списке с помощью клавиши CTRL активируйте строку Тип описания (B_IBLOCK_ELEMENT. DETAIL_TEXT_TYPE).
¦ В поле Доступные валюты выберите валюту RUB.
¦ Сохраните внесенные изменения.
Теперь можно перейти непосредственно к импорту.

ЗАМЕЧАНИЕ

Импорт в 1С-Битрикс: Управление сайтом возможен в двух вариантах: просто импорт из файла CSV в инфоблоки и импорт как торговый каталог. Мы рассмотрим именно второй вариант.
Файл CSV
Прежде чем импортировать данные, нужно создать файл CSV, который будет применяться как источник для импорта. На диске, приложенном к книге, есть готовый файл BAZA.csv (папка Х:\ Диск\Данные для каталога\, где Х буква дисковода).

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

По умолчанию в 1С-Битрикс: Управление сайтом для файлов импорта используется разделитель ;. Если вы будете использовать иной разделитель, не забудьте указать его при настройках импорта.
Удобнее всего для создания файла использовать программу MS Excel. Можно задействовать и другие средства, вплоть до Блокнота, но Excel удобен и им могут пользоваться обычные пользователи.
¦ Откройте программу MS Excel.
¦ Создайте новый файл под любым именем (в нашем случае это будет файл baza) и сохраните его с расширением .csv.

ЗАМЕЧАНИЕ

При сохранении файла в MS Excel 2007 нет формата разделителя ;. Excel предлагает только разделитель ,. Соглашайтесь на самом деле файл сохранится с нужным разделителем. Вопрос о причинах таких несоответствий к разработчикам MS Excel.
В файле CSV обязательно должен присутствовать уникальный идентификатор и название элемента. Название колонок с параметрами может и не совпадать с названиями параметров в системе.



Главное, чтобы они были понятны вам и при задании условий импорта не возникло затруднений в определении соответствия полей создаваемого файла CSV и полей формы импорта.
¦ Создайте обязательные колонки. Пусть они называются ID и Название.
¦ В колонку ID внесите произвольные цифровые индексы. Индексы должны быть уникальными для каждой строки.
¦ В колонку Название внесите названия товаров так, как они будут отражаться в списке товаров.
Готов необходимый минимум параметров. При желании можно сохранить файл и импортировать его на сайт, технически операция импорта осуществится.

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

У нас крайне простая структура с двумя уровнями вложенности. Значит, надо создать две колонки с названиями первого и второго уровня папок в каталоге.
¦ Создайте колонку для первого уровня и назовите ее Первый уровень.
¦ Создайте колонку для второго уровня и назовите ее Второй уровень.
В нашем тестовом файле почти все элементы относятся к разделу Спиннинги. Но есть и элементы для других разделов.
¦ Заполните колонки Первый уровень и Второй уровень для всех элементов.

ЗАМЕЧАНИЕ

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

ЗАМЕЧАНИЕ

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

Но при регулярном импорте важно указать точное название разделов для импорта элементов.

ЗАМЕЧАНИЕ

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

Просто перенесите добавленные элементы в нужную папку.
Теперь можно приступать к созданию колонок с данными о товаре.
¦ Создайте колонки, соответствующие необходимым данным для импорта.
¦ Заполните колонки данными. В качестве образца возьмите собственные данные.
Обратите внимание на некоторые особенности:
- Если в качестве описания используется текст, отформатированный HTML-тегами, то в настройках торгового каталога в качестве используемой строки необходимо добавить строку Тип описания (мы это сделали выше). Если HTML-форматирование используется и для анонсового описания, нужно и для него добавить нужную строку. Соответственно в CSV-файл должны быть добавлены колонки, указывающие на тип описания.

В нашем тестовом файле это будет колонка Формат, в которой везде будет указан html.
- Добавление элемента в колонку Рекомендуемый товар не произведет автоматического привязывания элемента в свойстве типа Привязка к элементу, так как система не сможет отследить, создан ли на данный момент этот самый рекомендуемый товар. Название товара появится в соответствующем поле, но привязку необходимо будет осуществить вручную.
- При добавлении цены необходимо следить, чтобы разделитель десятичных знаков, используемый в 1С-Битрикс: Управление сайтом совпадал с разделителем, используемым в CSV-файле. Чтобы избежать возможных ошибок, достаточно использовать установки по умолчанию. В системе 1С-Битрикс: Управление сайтом в качестве разделителя десятичных знаков используется запятая. По умолчанию в MS Excel при выборе числового формата ячеек колонки тоже используется запятая.

Если в силу каких-то причин в CMS был заменен тип разделителя для десятичных знаков, его необходимо поменять и в CSV-файле.
- Одновременно с указанием цены в CSV-файле обязательно необходимо предусмотреть колонку Валюта, в которой будет указана используемая валюта. Без этого импорта не произойдет.

Точнее, импорт элементов осуществится, но цены добавлены не будут.
¦ Сохраните внесенные изменения.
Картинки
Перед импортом необходимо загрузить в систему картинки. К сожалению, на данный момент не работает масштабирование картинок, как при ручном добавлении элементов. Поэтому для импорта нужно заранее заготовить большие и маленькие картинки. В файле CSV для них должны быть выделены соответствующие колонки.

Картинки могут быть расположены в любом месте в рамках файловой структуры, главное указать правильный путь до них. Мы создадим папку в рамках папки Upload.
¦ Создайте папку files_import в папке Upload.
¦ Загрузите в нее картинки из папки Данные для каталога с CD, приложенного к книге.
Теперь можно приступать к импорту данных.
Импорт данных
¦ Перейдите на страницу Магазин ^ Торговый каталог ^ Импорт данных ^ Import CSV (new). Откроется Мастер импорта (рис.

15.22).



Рис. 15.22. Первый шаг в импорте данных
¦ С помощью кнопки Выбрать укажите путь до файла BAZA.csv (если файл до этого не был загружен в систему, загрузите его).
¦ В поле Информационный блок укажите в раскрывающемся списке инфоблок Товары для рыбалки.
¦ Щелкните по кнопке [ Далее ]. Система откроет форму второго
шага импорта (рис. 15.23).
В этом шаге нам ничего менять не надо. Для информации просто скажем, что можно использовать как разные разделители, так и заданную ширину полей.

По умолчанию в программе MS Excel используется разделитель ;. Не будем менять этих установок.
По умолчанию первая строка в файле должна определять названия колонок. Возможен и другой вариант, для которого предусмотрено поле Первая строка содержит имена полей.

Но мы используем штатный вариант, а другие рассматривать не будем, поэтому с данного поля флажок не снимаем.
В самом низу формы показан образец загруженного файла. Визуально проверьте правильность форматирования.
Система перейдет к третьему шагу
Щелкните по кнопке импорта (рис. 15.24).
В этой форме надо составить соответствие колонок в CSV-файле свойствам инфоблока. Это действие не должно вызвать у вас затрудне-
ний. Необходимо только следить за правильностью соответствий. В качестве образца можете воспользоваться иллюстрацией (см. рис.

15.24).



Рис. 15.23.Второй шаг импорта


Рис. 15.24. Третий шаг настроек импорта

ЗАМЕЧАНИЕ

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



Рис. 15.25. Дополнительные настройки импорта
¦ В поле Путь к картинкам укажите путь до папки с картинками.
¦ В группе Товары, которых не было в файле, выберите не трогать.
Если выбрать деактивировать, станут неактивными все папки, которые были созданы ранее, но в которые не добавилось ни одного элемента. Если выбрать вариант удалить, то папки, в которые не добавлено ни одного элемента, будут удалены.
Поле Неактивные товары/группы, которые есть в файле, мы не
трогаем. Для информации: это функция для случаев, когда по каким-то причинам (например, отсутствие товара на складе) позицию товара деактивируют, а при последующем импорте ее надо опять включить.
Параметр Время выполнения шага предназначен для больших файлов импорта. Большой файл включает несколько тысяч позиций.

При таких объемах рекомендуется использовать шаг в 30-60 с. В нашем случае можно поставить 0, и весь импорт произойдет в один шаг.
Итак, у нас все готово к импорту.
¦ Щелкните по кнопке Загрузить данные. Начнется процесс импорта.

После его завершения система сообщит об успешном завершении операции (или о возникших ошибках).
Перейдите в публичную часть сайта и посмотрите результаты импорта. Если вы использовали тестовый файл с компакт-диска, то увидите, что в раздел Спиннинги добавилось 25 элементов, а в разделы Жилеты, Фидеры и Вращающаяся блесна по одному.

Настройка отображения каталога и элементов

Добавив элементы, можно приступить к настройке каталога и его шаблонов.

Настройка шаблона

Настройку шаблона мы рассмотрим, только чтобы понять, как свести множество полей в единую таблицу. Вы помните, что при ручном добавлении элементов каталога мы использовали сниппеты. Технически правильнее будет отредактировать шаблон компонента Элемент каталога детально (bitrix:catalog.element).

Но перед этим надо скопировать шаблон всего комплексного компонента Каталог.
¦ Перейдите в режим Разработка на странице Каталог сайта Inet_mag.
¦ С помощью команды Копировать шаблон компонента для компонента Каталог скопируйте шаблон, как уже не раз это делали.

ЗАМЕЧАНИЕ

При копировании шаблонов комплексных компонентов происходит копирование всех одностраничных компонентов, включенных в комплексный.
¦ Перейдите на страницу любого элемента каталога со страницы Главная ^ Каталог ^ Удилища спиннинговые ^ Спиннинги.
На данный момент все добавленные нами свойства выводятся в виде столбца с данными (рис. 15.26).

Это не очень красиво и трудно воспринимается.
Нам нужно, чтобы свойства выводились в таблице, причем без ручного вмешательства: есть свойство оно появляется в таблице само по себе; нет свойства строка с ним исчезает из таблицы. Такое форматирование можно задать в шаблоне. ¦ Выполните команду Редактировать шаблон компонента из меню компонента Элемент каталога детально. Откроется диалог с кодом шаблона.
Найдите в коде шаблона участок, отвечающий за вывод данных свойств инфоблока:
td width=100% valign=top
?foreach($arResult[DISPLAY_PROPERTIES] as $pid=$arProperty):?
?=$arProperty[NAME]?:bnbsp;?
if(is_array($arProperty[DISPLAY_VALUE])):
echo implode (nbsp;/nbsp;, $arProperty[DISPLAY_VALUE]);
elseif($pid==MANUAL):
?a href=?=$arProperty[VALUE]??=GetMes sage(CATALOG_DOWNLOAD)?/a?
else:
echo $arProperty[DISPLAY_VALUE];?
?endif?/bbr /
?endforeach?
/td
Вот этот участок кода нам и нужно отформатировать HTML-тегами, чтобы он отображался в виде таблицы. Так как вы умеете работать с HTML и CSS, мы не будем детально объяснять, почему и где разместили теги, а просто приведем уже отформатированный код:
td width=100% valign=toptable border=1trtd align=center еоІБрап=2ЬТехнические характеристики/Ь/ td/tr
?foreach($arResult[DISPLAY_PROPERTIES] as $pid=$arProperty):?
trtd?=$arProperty[NAME]?/tdtdbnbsp;? if(is_array($arProperty[DISPLAY_VALUE])):
echo implode(nbsp;/nbsp;, $arProperty[DISPLAY_VALUE]);
elseif($pid==MANUAL):
?a href=?=$arProperty[VALUE]? ?=GetMessage(CATALOG_DOWNLOAD)?/a?
else:
echo $arProperty[DISPLAY_VALUE];? ?endif?/bbr //td/tr ?endforeach?
/table/td
Теперь все свойства элемента выводятся в виде таблицы, причем в ней отображаются только свойства, значение которых имеет хоть какую-то величину (рис. 15.27).
Главная Каталог Удилища спининговые Спиннинги
Daiwa MORETHAN BRANZINO 82LL Торговый каталог рыбо ловного магазина Технические характеристики Производитель Daiwa Код 123-456 Длинна 2490 мм Лидер продаж Да Новинка Да Ожидаемая дата поступления 01.03.2009 Рис. 15.27. Свойства элемента выведены в виде таблицы

ЗАМЕЧАНИЕ

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

Настройка каталога

Теперь продолжим настройку отображения каталога и его страниц.
¦ В разделе Каталог перейдите на закладку Разработка административной панели.
¦ Выполните команду Редактировать параметры компонента из меню компонента Каталог. Откроется окно редактирования параметров компонента Каталог.

ЗАМЕЧАНИЕ

Как бы далеко внутрь каталога вы ни залезли, параметры этого комплексного компонента всегда можно вызвать из режима Разработка.
Это окно будет очень большим, если развернуть все его группы параметров. Но использовать в нашем примере мы будем не все.

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

Для групп параметров, которые используются, мы будем давать более подробное описание с иллюстрациями.
Шаблон компонента выбор шаблона для отображения каталога.
Основные параметры выбор типа инфоблока и самого инфоблока для использования в каталоге. Настройку этой группы параметров мы уже произвели.
Шаблоны ссылок параметры, объясняющие модулю Каталог, как организовывать ссылки в каталоге. Не рекомендуется изменять их без детального ознакомления с механизмом работы.
Управление адресами страниц настройка ЧПУ (человекопонятных адресов). В каталоге всегда удобно использовать понятные адреса, а не адреса типа /catalog/index.php?SECTION_ID=303ELEMENT_ ID=2024.

Для использования таких ЧПУ и создана данная группа параметров. В рамках нашей книги мы этой темы касаться не будем.
Управление режимом AJAX включение и настройка работы режима Ajax. В рамках нашей книги мы этой темы касаться не будем.
Настройки кеширования настройка работы кеша системы. В рамках нашей книги мы этой темы касаться не будем.
Дополнительные настройки незначительные настройки. В рамках данной книги мы не будем касаться этой темы.
Настройки фильтра
А вот фильтр мы подключим. При большом количестве товаров поиск по всему списку товаров вещь не только полезная, но и крайне необходимая.
¦ Установите флажок в поле Показывать фильтр. Этот флажок включает показ формы фильтра на страницах каталога. После перезагрузки окна параметров появятся новые поля (рис.

15.28).



Рис. 15.28. Группа параметров Настройки фильтра
Поле Фильтр оставьте без изменений.
¦ В списке Поля выберите значения полей, по которым можно будет осуществлять поиск. Пустое поле под списком оставьте без изменения это поле для более опытных разработчиков.
¦ В списке Свойства выберите свойства, по которым можно будет осуществлять поиск. Пустое поле под списком оставьте без изменения оно также предназначено более опытным разработчикам.
¦ В списке Тип цены выберите тип, по которому можно будет осуществлять поиск.
¦ Сохраните внесенные изменения. Настройка отзывов
Это группа параметров, разрешающая и настраивающая добавление и вывод отзывов о товарах. Для включения опции:
¦ Установите флажок в поле Разрешить отзывы. После перезагрузки окна настроек появятся дополнительные поля (рис.

15.30).
¦ В поле Количество сообщений на одной странице выведите число сообщений, которое вы хотите видеть на одной странице.
Функцию CAPTHA отключать не рекомендуется.

ПРИМЕЧАНИЕ

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



Рис. 15.30. Настройка отзывов
Остальные поля оставьте без изменений, единственное, что можно отрегулировать, это показывать или нет ссылку на форум.
¦ Сохраните внесенные изменения.
На странице детального описания товара появится форма для добавления сообщений.
Настройки сравнения подключает возможность сравнения товаров.
¦ Установите флажок в поле Использовать компонент сравнения.
После перезагрузки окна настроек появятся дополнительные поля (рис. 15.31).


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


Рис. 15.32. Список сравниваемых элементов Настройка отображения цены
Группа Цены это параметры, управляющие выводом цен (рис. 15.33).

Параметры включаются после указания на то, что инфо-блок является торговым каталогом, и внесения цен на элементы инфо-блока.
¦ Выберите тип цены, которая должна будет отображаться на странице товара. Можно задать несколько типов цен для вывода.



Рис. 15.33. Группа параметров Цены
Если вы хотите, чтобы выводились все типы цен, можно просто установить флажок Использовать вывод цен с диапазонами.
¦ В поле Выводить цены для количества поставьте 1.
¦ Отметьте поля Включать НДС в цену и Отображать значение НДС.
¦ Сохраните внесенные изменения.
После сохранения изменений будут отображаться цены для конкретного товара, а также ссылки Купить и В корзину (рис. 15.34).



Содержание раздела