Download the PHP package infrajs/catalog without Composer
On this page you can find all versions of the php package infrajs/catalog. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package catalog
catalog используется с infrajs
Каталог не использует базу данных. Имеет ограничение в ~1000 полных описаний на самом простом хостинге. При использовании memсache и хороших серверов ограничение можно подвинуть.
Установка через composer
Подключение слоя по адресу /catalog
Excel документы в папке будут интерпретироваться, как данные для каталога, где имя Excel Документа это имя Производителя. В папках должны лежать картинки и docx файлы с полным описанием позиций каталога.
Фильтры
Для автоматически сфомированных фильтров необходим отдельный слой
Список позиций можно фильтровать по разным параметрам. Фильтрация реализуется с помощью магиченской метки-параметра в адресной строке . Где хэш уже переданных на сервер параметров, а и это только что добавленные параметры. Метка должна передаваться во все php файлы, которые работают с выборкой. В описании слоя это делается подстановокой в шаблоне Ответ сервера содержит уже новый хэш включающий и только что переданные параметры.
В скрипте весь набор параметров с новыми и старыми получается методом где ассоциативный массив со всеми параметрами. В будет добавлено свойство которое будет содержать хэш с новыми параметрами для использования в следующих ссылках. настроена на работу с параметром из адресной строки.
Список доступных параметров указан в , кроме указанных есть предопределённые
Работа с данными
Данные каталога получаются с помощью Дальнейшая работа осуществляется средствами , из расширения infrajs/excel
У позиции значения и имеют свои копии с удалёнными некоторыми символами, которые нельзя использовать в адресной строке и . У групп и .
Уникальность позиции определяется парой и эти параметры используются для ссылки на страницу полного описания позиции .
Конфиг infrajs/config
Специальные колонки
Колонки из Excel, которые индивидуально обрабатываются в шаблонах и не должы попадать в массив more и автоматически показываться в списке параметров нужно указать в config.column
Предопределённые специальные колонки
- Наименование
- Файлы
- Артикул
- Производитель
- Цена
- Описание
- Скрыть фильтры в полном описании
- Фото (Название файла с картинкой в папке images)
- prod2 (альтернтивная папка с производителем, где в images искать картинки)
Описание группы
Описание группы это данные указанные над таблицей. Описание может занимать только две колонки. Имя параметра и значение параметра. Предусмотрены следующие параметры.
- Наименование - полное наименование группы или то наименование, которое должно показываться посетителю.
- Картинка - и значение Большая У всех позиций данной группы первая картинка в описании будет развёрнута на всю страницу.
- Артикул - и значение Cкрытый
Колонка Скрыть фильтры в полном описании
При добавлении в excel колонки Скрыть фильтры в полном описании со значением true например "скрыть" на странице позиции, данные используемые для фильтра не показываются в отдельной таблице. Предпологается что все параметры перечислены вручную в полном описании - документ Word.
Колонка Файлы
Указывается путь относительно папки каталога. Путь ведёт на папку или файл, который также нужно привязать к позиции.
Добавить свои фильтры
При добавлении сових фильтров нужно скорректировать конфиг, например так:
Поддерживается ручная корректировка SEO
Для ручной корректировки SEO необходимо в папку позиции добавить файл seo.json Пример файла seo.json:
Как сделать своё оформление для параметра фильтрации
- Нужно добавить для каталога (infrajs/catalog) новую зависимость. Так как сам каталог не знает о ней, нужно изменить в конфиге каталога опцию dependencies. Сделать это можно в момент установки расширия в update.php через sys-конфиг или в корневом конфиге проекта. Пример через расшиение. В этом случае расширение точно подключится при обращении к каталогу. Без этой части при обращении к REST обработчикам каталога расширение не будет инициализироваться и подписки расширение с новым дизайном фильтров не сработают.
- Нужно сделать подписку на событие , которое срабатывает для всех параметров и по данным параметрам определить нужный фильтр и далее подготовить переменные для шаблона, которые сохранить в . Пример.
- В подписке, в переменной указать имя шаблона, который должен выводить этот фильтр.
- В конфиге каталога нужно добавить путь до шаблона, который должен подключаться вместе с фильтрами "filtertpl":["-path/to/layout.tpl"]. Шаблон должен содержать подшаблон с именем layout-{layout}, где layout имя указанное в подписке в . Можно это сделать подменив конфиг в корне проекта или в отдельном расширении, как здесь.
Как выбрать диапазон значений параметра
В фильтрах у каждого параметра предсмотрены специальные значения
- minmax=min/max - указывается диапазон значений
- no=1 - все позиции у которых значение не указанно
- yes=1 - все позиции у которых значение указанно
Псевод группы filgroups сгенерированные на оснвое парамеров
Описание групп хранится в свойстве conf.filgroups имя параметра и шаблон группы на его основе.
Класс gagarin
При клике показывает следующий за ним Html-элемент или тот который указан в атрибуте data-div. По умолчанию показываемый элемент должен быть скрыт display:none. Действие пользователя запоминается в sessionStorage
All versions of catalog with dependencies
infrajs/doc Version ~1
infrajs/excel Version ~1
infrajs/imager Version ~1
infrajs/path Version ~1
infrajs/mark Version ~1
infrajs/rest Version ~1
akiyatkin/load Version ~1
infrajs/layer-seojson Version ~1
infrajs/layer-config Version ~1
akiyatkin/form Version ~1
akiyatkin/showcase Version ~1
infrajs/rubrics Version ~1