Иногда есть потребность подставить favicon или seo title, description откуда-то из базы, например из настроек (/settings).
В этих случаях можно использовать следующий подход:
1. находим страницу в /pages, которая выводит лендинг
2. в SQL страницы находим в SELECT 3 подстановку нужных параметров (SEO title, favicon и т.д.).
3. Переопределяем значение по умолчанию этих переменных.
Пример кода в SQL страницы для подменя favicon:
declare @favicon nvarchar(256) = isnull((select Value2 from @p where [key]='favicon'), '')
if(len(@favicon)=0) begin
set @favicon = isnull(dbo.rs_resourceLink('favIcon','0',1),'/content/images/favicon.ico')
end
-- SELECT 3
select top 1
isnull((select Value2 from @p where [key]='text'), '') text,
replace( isnull((select Value2 from @p where [key]='seoTitle'), ''),
'{name}', @supplierName) seoTitle,
replace( isnull((select Value2 from @p where [key]='seoDescription'), ''),
'{name}', @supplierName) seoDescription,
iif(len(@block)>0 or isnull(@supplierName, '')='', '/list/suppliers', '') redirectUrl,
isnull((select Value2 from @p where [key]='seoKeywords'), '') seoKeywords,
isnull((select Value2 from @p where [key]='headSection'), '') headSection,
isnull((select Value2 from @p where [key]='bodyBottomSection'), '') bodyBottomSection,
isnull((select Value2 from @p where [key]='stuffScript'), '') stuffScript,
iif(len(@favicon)>0, '<link href="'+@favicon+'" rel="icon"><link href="'+@favicon+'" rel="apple-touch-icon">', '') favicon,
@landCode landCode,
Аналогично можно добавить здесь некий автогенерируемый JS или CSS. По умолчанию добавляются значения настроек CommonStyles (в раздел head) и CommonScripts (перед закрывающим тегом body).