Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Проверка корректности заполнения поля в форме

Автор johnРаздел Custom макросы

Ответов: 7
Просмотров: 2238
Последний ответ 30 Август 2014, 22:11:55
от john
проверка наличия дочерних элементов списка

Автор idu.kuruРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 1442
Последний ответ 07 Октябрь 2014, 09:19:38
от idu.kuru
Яндекс.Касса где происходить проверка платежей

Автор SumrakrndРаздел Настройка системы и модулей

Ответов: 8
Просмотров: 677
Последний ответ 11 Август 2016, 00:12:28
от aghigay
Проверка существования под-уровня меню

Автор johnРаздел Custom макросы

Ответов: 7
Просмотров: 2607
Последний ответ 29 Сентябрь 2012, 00:43:49
от john
Проверка на наличие товара в корзине

Автор samРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 362
Последний ответ 08 Февраль 2016, 17:40:14
от sam

0 Пользователей и 1 Гость просматривают эту тему.

*

ragivort

  • *
  • 20
  • +0/-0
    • Просмотр профиля
Проверка related_block
« : 05 Март 2016, 14:08:00 »
Приветствую, подскажите, как сделать.
Есть новости. У каждой новости внизу есть блок читайте так же. Он выводит другие новости из этой рубрики. Но если новость не состоит в рубрике, то выводит вот что
file://news/#related_block_empty

Как сделать, чтобы не выводилось file://news/#related_block_empty если нет рубрики у новости?

Спасибо.

*

aghigay

  • *****
  • 607
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Проверка related_block
« Ответ #1 : 05 Март 2016, 15:49:18 »
Начнем с главного: на какой технологии сделан шаблон: tpl, xslt, php?
Мой блог http://umicms.me

*

ragivort

  • *
  • 20
  • +0/-0
    • Просмотр профиля
Re: Проверка related_block
« Ответ #2 : 05 Март 2016, 15:53:10 »
xslt

вывод такой

        <xsl:if test="$parent-id=32 and not($page-id=483)">
            <xsl:variable name="rubric_name" select=".//property[@name='subjects']/value/item/@id"></xsl:variable>
            <div class="other_articles">
                <h2>Так же читайте в рубрике</h2>
                <xsl:apply-templates select="document(concat('udata://news/related_links/',page/@id,'//20'))/udata"/>
            </div>
        </xsl:if>

*

aghigay

  • *****
  • 607
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Проверка related_block
« Ответ #3 : 05 Март 2016, 15:57:46 »
Так, а какой результат возвращает document(concat('udata://news/related_links/',page/@id,'//20'))/udata ?
Мой блог http://umicms.me

*

aghigay

  • *****
  • 607
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Проверка related_block
« Ответ #4 : 05 Март 2016, 16:12:55 »
Чтобы долго не тратить время сразу скажу:
Макрос news related_links() (http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/novosti/news_related_links/#xslt-templating) возвращается результат в виде:
udata/items/item или udata без item внутри

Этот результат обрабатывается кем-то. Предположительно шаблоном \templates\ШАБЛОН САЙТА\xslt\modules\news\news-item.xsl в блоках

	<xsl:template match="udata[@method = 'related_links']" />

<xsl:template match="udata[@method = 'related_links' and count(items/item)]">
<h4>
<xsl:text>&news-realted;</xsl:text>
</h4>

<ul>
<xsl:apply-templates select="items/item" mode="related" />
</ul>
</xsl:template>

<xsl:template match="item" mode="related">
<li umi:element-id="{@id}">
<a href="{@link}" umi:field-name="news">
<xsl:value-of select="." />
</a>
</li>
</xsl:template>

где шаблон
	<xsl:template match="udata[@method = 'related_links']" />
отвечает как раз за состояние когда записей нет, а остальная часть - за состояние когда записи есть.

По крайней мере это кусок из стандартного demodizzy. В вашем шаблоне может быть что-то иначе.
Мой блог http://umicms.me