1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/siteserver-cms

 / Детали:

В версии 6.14, как добавить ссылку на статью, полученную в результате запроса?

Предстоит сделать
Владелец
Создано  
27.02.2025

Для того чтобы добавить адрес статьи в тег <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> для создания ссылки.

Обратите внимание, что конкретная реализация может зависеть от специфических требований вашего проекта и возможностей используемого вами движка или библиотеки.

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/siteserver-cms.git
git@api.gitlife.ru:oschina-mirror/siteserver-cms.git
oschina-mirror
siteserver-cms
siteserver-cms