Каталог List. HOWTO

Как добавить микроразметку, стили или скрипты в каталог.

Используйте параметры headSection, bodyBottomSection в SELECT 2 в list_search и аналогичные параметры в  list_getItem. Вы можете туда вставлять коды OpenGraph и JSON LD описание страниц.

Как динамически изменить корень хлебных крошек? 

Используйте параметр BreadcrumbRootTitle в SELECT 2 в list_search и аналогичные параметры в  list_getItem. 

Главное применение - при локализации каталога. 

Также можно добавить дополнительные элементы перед корнем каталога с помощью параметра preBreadcrumbs (задается в виде name1||url1,name2||url2 -т.е. будет добавлено 2 элемента в начало списка (в названии не должно быть запятых)).

Как сделать другое число скрываемых параметров в фильтре?

Для этого необходимо установить для фильтров в SELECT 2 процедуры search параметр showCount (по умолчанию 4).  Эта настройка работает для типов фильтра radio, checks.

Как сделать так чтобы фильтры с Not Selected (или не выбрано) не попадали в адрес?

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

<div class="cat-notSelectedList">
	<span data-value="--"></span>
    <span data-value="Not selected"></span>
	<span data-value="Не выбрано"></span>
</div>

Как сделать так, чтобы вложенные категории наследовали установленные фильтры

Для этого укажите настройку  с кодом listAppendFiltersToCatUrl = 1.

Важно при этом, чтобы URL в SELECT 4 приходил пустым (платформа формирует URL для внутренних категорий, только если он не передан в явном виде).

Как настроить кеширование списка List

Для этого установите в WebConfig в разделе AppSettings параметр listCacheMinutes. Данный параметр указывает сколько минут будет кешироваться результат выдачи в списке List
(кешируются все запросы по списку - вариации выбора фильтров и категорий).

Как работать с типом фильтра Цвет color

Для этого указываем в select 2 в Search процедуре
  select 3 id,
    	   'Цвета' title,
		   'Имеется ссылка либо на прототип либо дополнительный скрин' tooltip,
		   'filterColor' Code,
		   '' defValue,
		   'color' typeCode,
		   '#ccc,#a00,#0f0' as  commaValues,
		   (select top 1 Value from @filters where [Key] = 'filterColor') commaSelected
    
Примечание. В URL передается цвет без #. Но в обработке можно использовать формат #abc или #aabbcc

Как работать с типом фильтра Диапазон чисел range

Как выглядит: 

в SELECT 2 процедуры search:

 select 3 id,
    	  'Slider' title, 
		   'Slider1' tooltip, 
		   'range1' Code,
		   '' defValue, 
		   'range' typeCode,
		   '10,100,5' as  commaValues,
		   (select top 1 Value from @filters where [Key] = 'range1') commaSelected
    

В CommaValues задаем min,max,step значения. 

Как работать с типами фильтра Групповые кнопки (одиночный и множественный выбор) checkButtons

Для этого используем типы checkbuttons (множественный выбор) и radiobuttons (одиночный выбор).

В SELECT 2 процедуры search: 

 select 3 id,
    	   'Категория' title, 
		   '111' tooltip, 
		   'cat1' Code,
		   '' defValue, 
		   'checkbuttons' typeCode,
		   ('12,421333124,52131235,61231221316,77') as  commaValues,
		   (select top 1 Value from @filters where [Key] = 'cat1') commaSelected  
  

Дополнительную стилизацию кнопок можно сделать через CSS. 

Как использовать спецсимволы в имени фильтра

Бывает ситуация, когда в значениях фильтров идут специальные символы, которые недопустимы в URL (например, +.#&). В этом случае в SELECT 2 необходимо передавать Values как значения как code||name.

-- SELECT 2 in SEARCH
 select 2 id,
    	   'Stacks' title,
		   '' tooltip,
		   'stack' Code,
		   '' defValue,
		   'select' typeCode,
		   (select 'Not selected,' +
            stuff((select top 3000 ',' + code + '||'+ name
				   from rg_stacks order by name
				   for xml path(''), type).value('.', 'nvarchar(max)'), 1, 1, '')) as commaValues,
		   (select top 1 Value from @filters where [Key] = 'stack') commaSelected,

Также при проверке на существование фильтра проверяйте на code (а не на выводимый name).

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

Страница-источник на сайте falconspace.ru