Для того чтобы добавить адрес статьи в тег <stl:sqlContent>
и сохранить возможность получения названия статьи, можно использовать следующий подход:
<stl:sqlContents connectionStringName="ConnectionString">
<stl:queryString>
select *, CONCAT('<a href=\"', LinkUrl, '\">', Title, '</a>') as FormattedTitle
from (
SELECT * FROM siteserver_Content_115
WHERE SiteId = {stl.SiteId} AND ChannelId = 118
ORDER BY AddDate DESC LIMIT 3
) as t
ORDER BY t.AddDate
</stl:queryString>
<stl:sqlContent type="FormattedTitle" wordnum="20"></stl:sqlContent>
</stl:sqlContents>
В этом примере SQL-запрос модифицирован таким образом, что он создаёт новый столбец FormattedTitle
, который содержит ссылку на статью вместе с её названием. Внутри XML-разметки используется этот новый столбец для отображения названия статьи как ссылки.
Если требуется более простой способ, используя уже существующие поля, можно сделать это на уровне шаблона:
<stl:sqlContents connectionStringName="ConnectionString">
<stl:queryString>
select * from (
SELECT * FROM siteserver_Content_115
WHERE SiteId = {stl.SiteId} AND ChannelId = 118
ORDER BY AddDate DESC LIMIT 3
) as t
ORDER BY t.AddDate
</stl:queryString>
<stl:sqlContent type="LinkUrl" wordnum="0"></stl:sqlContent>
<stl:sqlContent type="Title" wordnum="20"></stl:sqlContent>
<stl:a><stl:valueOf select="$title"/><stl:valueOf select="$linkurl"/></stl:a>
</stl:sqlContents>
Здесь мы получаем значения LinkUrl
и Title
отдельно, а затем объединяем их внутри тега <stl:a>
для создания ссылки.
Обратите внимание, что конкретная реализация может зависеть от специфических требований вашего проекта и возможностей используемого вами движка или библиотеки.