условие запроса FetchXml не учтено - PullRequest
0 голосов
/ 09 ноября 2018

В настоящее время мы устанавливаем блоги на нашем портале Dynamics 365. Желая изменить макет постов, мы пересоздали шаблон на основе этой структуры: https://community.adxstudio.com/products/adxstudio-portals/documentation/configuration-guide/liquid-templates/objects/blogs/

Поскольку объект adx "post" не содержит тегов, нам пришлось использовать запрос fetchxml для их получения.

Проблема в том, что запрос извлекает все теги: enter image description here Только тег Général должен отображаться только в первом сообщении.

Полный код:

{% assign blog = blogs['Actualités et annonces'] %}
{% assign posts = blog.posts %}
<div class="col-md-8">
    <div class="content-panel panel panel-default">
        <div class="panel-heading">
            {% assign sitemarker = sitemarkers["Blog Home"] %}
            {% assign snippet = snippets["Home Blog Activity Heading"] %}
            <a class="pull-right" href="{{sitemarker.url}}"> All Blogs </a>
            <h4>
                <a class="feed-icon fa fa-rss-square" href="{{ blogs.feedpath }}">
                    {{ snippet.adx_value }}
                </a><div class="grid-container">
                    {% for post in posts.all %}
                    <div class="grid-item">
                        <a class="image-header" href="{{ post.url }}">
                            {% if post.new_category %}
                            {% assign category = entities.new_vignette[post.new_category.id] %}
                            {% assign imgpath = category.new_path %}
                            {% elsif post.new_vignette %}
                            {% assign imgpath = post.new_vignette %}
                            {% else %}
                            {% assign imgpath = "../pocfabien/avarap-entete" %}
                            {% endif %}
                            <img class="img-responsive img-post" src="{{imgpath}}">
                        </a>
                        <div class="content-header">
                            <h4 class="list-group-item-heading">
                                <a href="{{ post.url }}">{{ post.title }}</a>
                            </h4>
                            <br />
                            <abbr>{{ post.publish_date }}</abbr>
                        </div>
                        <div class="content-preview">
                            {{post.adx_summary}}
                        </div>
                        <div>
                            {% fetchxml tags %}
                            <fetch>
                                <entity name="adx_tag">
                                    <attribute name="adx_name" />
                                    <attribute name="adx_tagid" />
                                    <link-entity name="adx_blogpost_tag" from="adx_tagid" to="adx_tagid" intersect="true">
                                        <filter>
                                            <condition attribute="adx_blogpostid" operator="eq" value="{{ post.adx_blogpostid }}" />
                                        </filter>
                                    </link-entity>
                                </entity>
                            </fetch>
                            {% endfetchxml %}
                            {% for tag in tags.results.entities %}
                                {{ tag.adx_name }}
                                {% unless forloop.last %} | {% endunless %}
                            {% endfor %}
                        </div>
                        <img class="plusign" src="plusign.png">
                    </div>
                    {% endfor %}
                </div>
            </h4>
        </div>
    </div>
</div>

PS: если у вас есть решение для извлечения сущностей отношений n: n без запроса fetchXml, я весь в ушах.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Я думаю, что XML отключен, попробуйте сделать требуемый фильтр в расширенном поиске и загрузите FetchXML

Is in spanish, but the icon is the same

Надеюсь, это поможет

M.Acosta.D

0 голосов
/ 08 января 2019

Я не думаю, что ваш FetchXML правильный. Если вы используете расширенный поиск для создания FetchXML, это довольно просто. Вот пример для учетной записи, чтобы вести, обратите внимание на дополнительную сущность связи через таблицу пересечения многих ко многим.

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
  <entity name="account">
    <attribute name="name" />
    <link-entity name="accountleads" from="leadid" to="accountid" visible="false" intersect="true">
      <link-entity name="lead" from="leadid" to="accountid" alias="ac">
        <filter type="and">
          <condition attribute="leadid" operator="eq" uiname="Test Lead" uitype="lead" value="{FC271420-B2BB-4A87-B852-1DF7CF4B4F3E}" />
        </filter>
      </link-entity>
    </link-entity>
  </entity>
</fetch>
...