Работа с HTML блоками. Создание модулей верстки

Часто возникают задачи использовать повторяющуюся верстку. 

Для этого можно использовать HTML блоки - куски некой разметки, которую можно вставить по именному коду.

Как использовать HTML блоки: 

  1. Создаем блок в разделе HTML блоки (/htmlblocks). 
  2. Указываем поле HTML. 
  3. Если блок будет динамический (что-то выводить в цикле или иметь меняющиеся параметры), то указываем хранимую процедуру генерации разметки (get). 
  4. Используем блок по коду в местах генерации разметки

Простое использование (для статичных элементов)

select dbo.as_htmlBlock(@code)  -- без использования локализации.
select dbo.as_htmlBlockLang(@code, @langID) -- с локализацией (должна быть таблица as_lang_htmlBlocks)

В функцию передается код блока и язык. В итоге получаем статичную верстку. Эта функция неприменима, когда мы генерируем HTML блок через хранимую процедуру. 

Использование при сложной динамической разметке

Разметка HTML блока при этом строится через хранимую процедуру. Процедура задается в колонке SQL на странице /htmlblocks

Примеры процедуры для HTML блока, где выводится несколько элементов и на входе есть некие параметры: https://pastebin.com/quPkHDYX

Вызов процедуры осуществляется через подобный код: 

declare @res nvarchar(max)
declare @p ExtendedDictionaryParameter  -- передаем параметры в HTML Block

insert into @p ([key], value, value2)
values ('langID', @langID, @langID)

exec [dbo].[as_block]    -- данная процедура вызовет внутри хранимую процедуру блока. 
	@code ='blogArticles',
	@itemID =12,
	@parameters = @p,   -- ExtendedDictionaryParameter (langID, username и т.д.)
	@res =@res OUTPUT
select @res

Мы можем передать в процедуру некий itemID, а также указать любые дополнительные параметры в @parameters. Выходная разметка будет сгенерирована через хранимую процедуру блока и возвращена в @res.

Falcon Space - функциальная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

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

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы