Обзоры расширений Joomla

 

 

DJ-Catalog2 – это универсальное расширение для создания практически любого онлайн-каталога (товаров, услуг) на Joomla. В предыдущих статьях мы уже рассматривали его основные возможности. Тут Вы можете найти перечень всех статей об этом компоненте (обзоры, уроки, видео-уроки).

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

В статье будет рассмотрена последняя, на данный момент (26.03.2017), русскоязычная версия DJ-Catalog2 3.5.6 в Joomla 3.6.5. шаблон фронтальной части сайта JM Product Catalog 1.0.1.

Новое в DJ-Catalog2 3.5.6

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

  1. Жду пока выйдет стабильная версия расширения или CMS. Альфа, бета и т.д. версии не применяю.
  2. После этого жду ещё 1-2 недели. За это время могут быть найдены и устранены разные ошибки. Правда, срок ожидания зависит от важности обновления. Если оно касается безопасности и\или содержит крайне нужные мне изменения, то срок сокращается.
  3. Делаю копию основного сайта на этом же хостинге.
  4. Устанавливаю туда обновлённые расширения и\или CMS.
  5. Провожу ряд проверок. Как автоматических, при помощи WebSite Auditor, так и «ручных» – проверяю «узкие» моменты сам.
  6. Если всё хорошо, то делаю полную резервную копию всего основного сайта (включая базу данных).
  7. Устанавливаю туда обновлённые расширения и\или CMS.
  8. Провожу ряд проверок. Как автоматических, при помощи WebSite Auditor, так и «ручных» – проверяю «узкие» моменты сам.
  9. Заношу дату\время обновления, название и версию расширения в специальную табличку.
  10. Отслеживаю состояние сайта в инструментах для веб-мастеров Яндекс и Google. Если появляются проблемы, то данные из таблицы могут помочь вспомнить, что именно и когда менялось на сайте.

Давайте рассмотрим основные новшества, которые появились в DJ-Catalog2 3.5.6 по сравнению с 3.5.5.

Отказ от поддержки Joomla 2.5 и MooTools. Теперь DJ-Catalog2 поддерживается только для Joomla 3 и «базируется» на jQuery. В связи с переходом с MooTools на jQuery у Вас могут возникнуть сложности. Возможны такие варианты.

  1. Если у Вас один из специально созданных для DJ-Catalog2 шаблонов от Joomla-Monster.com, то или всё пройдёт гладко, или просто обновите шаблон до новой версии. О возможностях данных шаблонов Вы можете прочесть в цикле статей, вот первая часть. Если у Вас качественный шаблон на Bootstrap, то всё должно пройти нормально.
  2. Если Ваш шаблон базируется Bootstrap 2.х или 3.х, то могут быть небольшие проблемы. Для их решения сперва свяжитесь с разработчиком DJ-Catalog2.
  3. Если Ваш шаблон не поддерживает Bootstrap, то попробуйте активировать опции Включить Bootstrap CSS и Включить Bootstrap JS в настройках DJ-Catalog2 3.5.6 на вкладке Главнее настройки в области Настройки темы.

Возможность добавления собственного маркера на карту Google. В настройках DJ-Catalog2 3.5.6 на вкладке Страница товара в области Настройки карты добавлена новая опция Иконка маркера, которая позволяет загрузить собственное изображение для маркера местоположения товара на карте Google.

Настройка стилей карт Google. Теперь доступна возможность использования стилей карт Google. Для этого в настройках DJ-Catalog2 3.5.6 на вкладке Главные настройки в области Настройки карты добавлена опция Настраиваемые стили. Но учтите, что некорректный код скорее всего полностью «сломает» карту. Рассмотрим источники, где можно взять стили для карты Google.

API мастера стилизации карт Google («Google Maps APIs Styling Wizard»). Создайте свой стиль при помощи предложенных опций, а затем просто скопируйте JSON (рисунок ниже) и вставьте его в настройки Джумла каталога.

Google Maps APIs Styling Wizard
Google Maps APIs Styling Wizard

Mapstylr.com. Можно выбрать готовый стиль или создать свой. А затем просто скопировать JSON (рисунок ниже) и вставить его в настройки компонента каталога Joomla.

Mapstylr.com
Mapstylr.com

Snazzy Maps. Тут (рисунок ниже) всё аналогично вышеописанным источникам.

SnazzyMaps.com
SnazzyMaps.com

Разграничение прав доступа на вложения к товарам Джумла каталога. Теперь при создании товаров Вы можете настроить права доступа для разных уровней доступа Joomla (не путайте с группами пользователей) к вложениям товаров (рисунок ниже)

DJ-Catalog2
DJ-Catalog2

Улучшена поддержка OpenGraph и Twitter Cards. Реализовано добавление размеров изображений, чтобы они корректнее отображались в социальных медиа. Плюс, теперь описание берётся согласно следующему принципу (приоритету, где 1 – самый важный):

  1. Мета-описание.
  2. Вступительный текст описания.
  3. Полный текст описания.

Новые настройки модуля. В настройках модуля «DJ-Catalog2 Элементы. Обозреватель товаров DJ-Catalog2» на вкладке Дополнительные параметры появилась опция Столбцы Bootstrap. Она позволяет сконфигурировать вывод товаров компонента каталога Joomla в несколько столбцов. Это требует от Вашего шаблона поддержки стилей Bootstrap 2.х. Если Вы выберите значение больше чем «1», то тогда товары с настройками ширины и выравнивания/отступов будут проигнорированы.

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

Другие новшества DJ-Catalog2 3.6.5.

  • Добавлены новые опции управления скриптами и стилями Bootstrap. Включить Bootstrap CSS и Включить Bootstrap JS в настройках DJ-Catalog2 3.5.6 на вкладке Главные настройки в области Настройки темы.
  • Дочерние товары с указанным местоположением теперь отображаются на карте Google их родительского товара.
  • Возможность скрывать\делать не обязательными для заполнения поля Имя и Фамилия на странице оформления заказа (в корзине).
  • Теперь модуль «DJ-Catalog2 Похожие элементы. Похожие товары DJ-Catalog2» может отображать сообщение об отсутствии вариантов товаров по заданным критериям.
  • Исправлена интеграция с Falang.
  • Исправление ошибки в плагине умного поиска, связанные с индексацией дочерних товаров.
  • Исправление ошибки в плагине регистрации, связанные с Joomla 3.6.5.
  • Улучшения встроенного менеджера лицензий каталога на Джумле.

В DJ-Catalog2 3.5.6 есть ещё одно весьма значимое изменение – настройка импорта товаров. Рассмотрим это немного подробнее, но сперва некоторые справки по импорту товаров Joomla из CSV.

Импорт товаров Joomla

В статье «Обзор DJ-Catalog2. Каталог товаров Joomla» уже затрагивались основные рекомендации касательно импорта товаров, категорий и производителей в DJ-Catalog2, в статье «Видео уроки DJ-Catalog2 (часть 3). Сайт-каталог на Joomla» был показан пример экспорта\импорта товаров при помощи файла формата CSV. Ниже приведу примеры и рекомендации на основании документации разработчика.

  1. CSV-файл должен быть в кодировке UTF-8.
  2. Поддерживаются только файлы с разделителем «,» (запятая) или «;» (точка с запятой) и текстовыми ограничителями/экранированием одиночными или двойными кавычками («'» или «"»).
  3. В CSV-файле должен быть столбец заголовков, например, «name», «description».
  4. Порядок следования столбцов в CSV-файле не важен.
  5. Во всех столбцах с ID (например, ID товара, ID категории, ID группы и так далее) должны быть действительные ID (указывающие на значения уже существующие в базе данных).
  6. Если Вы хотите импортировать изображения и/или вложения, то они должны уже быть загружены по FTP в соответствующие папки:
    • «/media/djcatalog2/import/images/» – для изображений.
    • «/media/djcatalog2/import/files/» – для вложений.
  7. Вы можете выбрать значения по умолчанию для некоторых столбцов (если их нет в CSV-файле), в зависимости от того, какой тип данных (товар, категория, производитель) Вы хотите импортировать. Например, если Вы хотите задать значение «cat_id» товара (или столбца в принципе), то вместо этого будет использоваться выбранное значение опции «Категория по умолчанию» (рисунок ниже) во вкладке Импорт товаров в разделе Импорт данных.
  8. Некоторые настройки сервера могут не разрешать Вам импортировать большие объёмы данных и процесс импорта может остановиться посредине. Если у Вас возникают ошибки «maximum execution time» или «memory limit», то попробуйте импортировать меньшими порциями - например, по 50-100 товаров за раз.
  9. Пожалуйста, сделайте копию Вашего сайта, перед импортом, особенно, если Вы используете импорт для обновления существующих записей в Вашей базе данных.
  10. Из собственного опыта рекомендую использовать LibreOffice Calc, или аналоги, для работы с CSV -файлами. Он бесплатный и существуют версии для Windows, Linux, Mac OS Х (как для 32-х так и для 64-х разрядный систем). При работе с CSV-файлами в Excel может возникать гораздо больше проблем (с кодировкой и настройкой разделителей).
Импорт товаров Joomla
Импорт товаров Joomla

Товары

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

Название столбца

Обязательно

Примечание

id

Нет

Если этот столбец есть, то в нём должны быть ID, совпадающие с уже существующими товарами. Товар будет обновлён предоставленными в CSV-файле данными. Если ID пустое (или 0), то будет создан новый товар.

name

Да

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

Вот почему не может быть двух товаров с одинаковым алиасом.

alias

Нет

---

group_id

Нет

ID группы полей товара.

cat_id

Нет

ID категории товара.

producer_id

Нет

ID производителя товара.

description

Нет

Полное описание. Может содержать HTML код.

intro_desc

Нет

Краткое описание. Может содержать HTML код.

price

Нет

Цена товара. Должна быть допустимым числом с точкой в качестве десятичного разделителя или целым числом. Точка должна использоваться как десятичный разделитель, например, 1099.95

special_price

Нет

Цена со скидкой. Должна быть допустимым числом с точкой в качестве десятичного разделителя или целым числом. Точка должна использоваться как десятичный разделитель, например, 1099.95

metatitle

Нет

Мета-заголовок.

metakey

Нет

Мета-ключевые слова.

metadesc

Нет

Мета-описание.

published

Нет

Состояние [0/1]. 0 = не опубликовано, 1 = опубликовано.

featured

Нет

Отметка рекомендованного товара [0/1]. 0 = не рекомендованный, 1 = рекомендованный.

ordering

Нет

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

created

Нет

Дата создания в формате Дата-Время: [RRRR-MM-DD HH:MM:SS] или [RRRR-MM-DD].

created_by

Нет

ID пользователя Joomla!, который должен быть владельцем товара.

images

Нет

Список имён файлов, разделённых запятой, которые должны быть в папке /media/djcatalog2/import/images/. Например: image1.jpg,image2.jpg,image3.jpg

files

Нет

Список имён файлов, разделённых запятой, которые должны быть в папке /media/djcatalog2/import/files/. Например: chart1.pdf,manual.pdf

 

Пример таблицы импорта товаров (№1).

name

description

intro_desc

price

special_price

featured

images

files

Хрустальная ваза

Очень красивая хрустальная ваза  XVI века.

Хорошая хрустальная ваза.

1200.00

99.95

1

vase1.jpg,

vase2.jpg

 

ТВ приставка

40", Full HD ЖК-телевизор

Это реально у Вас должно быть.

2999.00

2699.95

0

tv40.jpg

manual.pdf,chart.xls

 

Пример таблицы импорта товаров (№2). Учтите, что у некоторых записей нет действительных значений в столбце «id» – это будут новые товары в базе данных. Также, «cat_id» и «producer_id» - это значения уже существующих ID-категорий и товара.

id

cat_id

producer_id

name

price

24

2

4

Обновлённый товар

599.00

25

2

5

Обновлённый товар #2

499

 

2

6

Новый товар #1

1999

 

2

6

Новый товар #2

300.00

 

Категории

Список допустимых при импорте категорий названий столбцов и их описание.

Название столбца

Обязательно

Примечание

id

Нет

Если этот столбец есть, то в нём должны быть ID, совпадающие с уже существующими категориями. Категория будет обновлена предоставленными в CSV файле данными. Если ID пустое (или 0), то будет создана новая категория.

name

Да

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

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

alias

Нет

---

description

Нет

Полное описание. Может содержать HTML-код.

metatitle

Нет

Мета-заголовок.

metakey

Нет

Мета-ключевые слова.

metadesc

Нет

Мета-описание.

published

Нет

Состояние [0/1]. 0 = не опубликовано, 1 = опубликовано.

ordering

Нет

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

created

Нет

Дата создания в формате Дата-Время: [RRRR-MM-DD HH:MM:SS] или [RRRR-MM-DD].

created_by

Нет

ID пользователя Joomla!, который должен быть владельцем товара.

images

Нет

Список имён файлов, разделённых запятой, которые должны быть в папке /media/djcatalog2/import/images/. Например: image1.jpg,image2.jpg,image3.jpg

 

Пример таблицы импорта категорий (№3). Обратите внимание, что все столбцы с ID пусты. Этот скрипт добавит только новые категории, предполагая, что уже существует категория с ID=1.

id

parent_id

name

description

images

 

1

Машины

Все доступные машины.

cars.jpg

 

1

Мотоциклы

Полный список наших мотоциклов

bikes.jpg

 

1

Грузовики

Самые большие 18 колёс.

truck.png

 

Производители

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

Название столбца

Обязательно

Примечание

id

Нет

Если этот столбец есть, то в нём должны быть ID, совпадающие с уже существующими производителями. Производитель будет обновлён предоставленными в CSV-файле данными. Если ID пустое (или 0), то будет создан новый производитель.

name

Да

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

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

alias

Нет

---

description

Нет

Полное описание. Может содержать HTML код.

metatitle

Нет

Мета-заголовок.

metakey

Нет

Мета-ключевые слова.

metadesc

Нет

Мета-описание.

published

Нет

Состояние [0/1]. 0 = не опубликовано, 1 = опубликовано.

ordering

Нет

Целое число, указывающее на порядковый номер производителя в списке производителей.

created

Нет

Дата создания в формате Дата-Время: [RRRR-MM-DD HH:MM:SS] или [RRRR-MM-DD].

created_by

Нет

ID пользователя Joomla!, который должен быть владельцем категории.

images

Нет

Список имён файлов, разделённых запятой, которые должны быть в папке /media/djcatalog2/import/images/. Например: image1.jpg,image2.jpg,image3.jpg

 

Пример таблицы импорта производителей (№4). В этом примере будет добавлено 3 новых производителя и обновлено 2 существующих (с ID 1 и 2).

id

name

description

images

1

Производитель машины 1

Описание производителя ...

cf1.jpg,cf2.jpg

2

Производитель машины 2

Описание производителя ...

cf3.jpg,cf4.jpg

 

Производитель машины 3

Описание производителя ...

cf5.jpg

 

Производитель машины 4

Описание производителя ...

 

 

Производитель машины 5

Описание производителя ...

cf6.png,cf7.jpg

 

Настройка импорта товаров

Теперь Джумла каталог оснащён настройками импорта товаров (рисунок ниже). Эти опции не подходят для настройки импорта категорий или производителей.

Джумла каталог
Джумла каталог

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

  1. Теперь нет необходимости настраивать каждый импортируемый CSV-файл под требования структуры товаров DJ-Catalog2. Можно настроить зависимости и применять их при каждом импорте. Это потребует больше времени в первый раз (для настройки), но сократит время при повторных операциях. Это особенно актуально для тех, кто работает с разными поставщиками товаров своего каталога. Например, по системе дропшипнга.
  2. Процесс импорта становится более гибким и функциональным. Так, например, Вы сможете объединить столбцы в один или найти атрибуты товаров в базе данных и заменить их значениями из файла.

Рассмотрим назначение полей настройки зависимости (рисунок выше). «Зависимость» означает соответствие столбца, импортируемого CSV-файла и столбца в таблице базы данных DJ-Catalog2.

Название. Понятное Вам название зависимости.

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

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

Целевой столбец. Точное название целевого столбца в таблице базы данных DJ-Catalog2 («#__djc2_items»), в который должны импортироваться данные из CSV файла. Например, «name», «description», «images», «_custom_field_1» и так далее. Полный перечень столбцов и их описание смотрите выше в этой статье в разделе «Товары». Подробнее об импорте экстра-полей Вы можете узнать в этой статье.

Поиск в базе данных. Включите данную опцию, если Вы хотите найти исходное значение (из столбца CSV-файла) в базе данных и заменить его новым значением.

  • Поиск в таблице. Название таблицы, в которой нужно производить поиск. Например, «#__djc2_producers» (без кавычек).
  • Поиск в столбце. Название столбца таблицы, в котором нужно производить поиск. Например, «name» (без кавычек).
  • Поиск значения. Значение, которое нужно искать. Например, «id»
  • Оператор сравнения. Оператор, который будет применяться при сравнении исходного значения и значений внутри «Поиск в столбце». Можно находить точные значения, при помощи оператора «=» или похожие при помощи оператора «LIKE». Подробнее об операторе «LIKE» можно прочесть тут.
  • Опционально 'WHERE'. Дополнительное условие, которое будет использоваться в SQL запросе. Например, «published=1» (без кавычек) – только опубликованные.

Слияние. Слияние будет происходить тогда, когда есть более одной зависимости, которые ссылаются на один и тот же целевой столбец. В этом случае Вы можете заменить предыдущее значение на новое или скомпоновать его до или после. Например, объединение значений из столбцов «Имя» и «Фамилия» в один столбец «Имя».

HTML обёртка. Вы можете окружить значение импортируемых данных такими HTML-тегами, как: «<p>», «<div>» и «<span>».

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

 

Полезные ссылки: