Sitecore не тянет через значения полей - PullRequest
0 голосов
/ 16 января 2020

Вместо значения поля, которое я получаю, я получаю «Нет текста в поле». Это для всех представлений, которые ссылаются на поле и, по-видимому, не являются жестко закодированными.

Контент находится в редакторе контента, но не доступен для редактора опыта или просмотра в реальном времени. Я попытался перестроить базы данных ссылок, а также использовать GUID в представлении для ссылки на поле, но безуспешно исправлял это.

Например:

Локальный

Редактор опыта на локальном

Редактор содержимого на локальном

Live

Редактор опыта в прямом эфире

@using Sitecore.Mvc
@using Sitecore.Data.Items
@using Sitecore.Mvc.Presentation
@model RenderingModel
@{
    int counter = 0;
    int maxvisible = 6;

    // Count can be set in the control properties so the editors can vary the amount of cards showing
    if (Html.Sitecore().CurrentRendering.Parameters["Count"] != null)
    {
        maxvisible = int.Parse(Html.Sitecore().CurrentRendering.Parameters["Count"]);
    }
    var UniqueName = "";
    if (Html.Sitecore().CurrentRendering.Parameters["UniqueName"] != null)
    {
        UniqueName = Html.Sitecore().CurrentRendering.Parameters["UniqueName"];
    }
    var cardpanel = "cardpanel" + UniqueName;
    UniqueName = "expandbutton" + UniqueName;
    Item firstChild = Model.Item.Children[0];
}

<!--Adaptive code (as opposed to Responsive)-->
<!--html code for desktop version-->
<div class="container visible-lg visible-md visible-sm">
    <div class="row row-eq-height">

        @foreach (Item child in Model.Item.Children)
        {
            if (@Html.Sitecore().Field("ExcludeFromPage", child).ToString() != "1")
            {
                if (counter >= maxvisible)
                {
                    if (counter == maxvisible)
                    {
                        @:<div class="@cardpanel" style="display: none;">
                            @:<div class="row-eq-height">
                            }
                            <div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 CardHeightMargin flexbox">
                                <div class="rcorners1">
                                    <div class="col-xs-12 img-padding cardmobile top">
                                        <div class="@Html.Sitecore().Field("{C63983F3-6ECD-45EA-A1D5-DFB37B366EDD}", child) scale-08"></div>
                                    </div>
                                    <div class="col-xs-12 CardHeight cardmobile bottom">
                                        <h3>@Html.Sitecore().Field("{5787E6DD-A0F2-454F-AC4C-50921D4BBCB3}", child)</h3>
                                        <p>@Html.Sitecore().Field("{1E900F2F-6F68-46B4-A98A-7BDF3CE06C5E}", child)</p>
                                    </div>
                                </div>
                            </div>

                        }
                        else
                        {
                            <div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 CardHeightMargin flexbox">
                                <div class="rcorners1">
                                    <div class="col-xs-12 img-padding cardmobile top">
                                        <div class="@Html.Sitecore().Field("{C63983F3-6ECD-45EA-A1D5-DFB37B366EDD}", child) scale-08"></div>
                                    </div>
                                    <div class="col-xs-12 CardHeight cardmobile bottom">
                                        <h3>@Html.Sitecore().Field("{5787E6DD-A0F2-454F-AC4C-50921D4BBCB3}", child)</h3>
                                        <p>@Html.Sitecore().Field("{1E900F2F-6F68-46B4-A98A-7BDF3CE06C5E}", child)</p>
                                    </div>
                                </div>
                            </div>

                        }
                        counter++;
                    }
                }

        @if (counter != 0 && counter > maxvisible)
        {
        @:</div>
    @:</div>
    <div class="center-block  @UniqueName">
        <a href="#policies" class="more_link">@Html.Sitecore().Field("Expand")</a>
    </div>
}
    </div>
</div>

<!--html code for mobile version - Carousel-->
<div class="container visible-xs">
    <div id=@Model.Item.Children[0].ID.Guid.ToString("N") class="carousel slide" data-ride="carousel">
        <!-- Indicators -->
        <ol class="carousel-indicators">
            <li data-target="#@Model.Item.Children[0].ID.Guid.ToString("N")" data-slide-to="0" class="active"></li>
            @for (int itemcount = 1; itemcount < Model.Item.Children.Count; itemcount++)
            {
                <li data-target="#@Model.Item.Children[0].ID.Guid.ToString("N")" data-slide-to=@itemcount></li>
            }
        </ol>

        <!-- Wrapper for slides -->
        <div class="carousel-inner m-y-1" role="listbox">
            <div class="item mobilecardheight active">
                <div class="col-xs-12 img-padding img-div-height">
                    <div class="@Html.Sitecore().Field("{C63983F3-6ECD-45EA-A1D5-DFB37B366EDD}", firstChild) scale-08"></div>
                </div>
                <div class="col-xs-12 CardHeight ">
                    <h3>@Html.Sitecore().Field("{5787E6DD-A0F2-454F-AC4C-50921D4BBCB3}", firstChild)</h3>

                    <div class="col-xs-12">
                        <p>@Html.Sitecore().Field("{1E900F2F-6F68-46B4-A98A-7BDF3CE06C5E}", firstChild)</p>
                    </div>
                </div>
            </div>

            @foreach (Item child in Model.Item.Children)
            {
                if (child.ID != firstChild.ID)
                {
                    if (@Html.Sitecore().Field("ExcludeFromPage", child).ToString() != "1")
                    {
                        <div class="item mobilecardheight">
                            <div class="col-xs-12 img-padding img-div-height">
                                <div class="@Html.Sitecore().Field("{C63983F3-6ECD-45EA-A1D5-DFB37B366EDD}", child) scale-08"></div>
                            </div>
                            <div class="col-xs-12 CardHeight">
                                <h3>@Html.Sitecore().Field("{5787E6DD-A0F2-454F-AC4C-50921D4BBCB3}", child)</h3>

                                <div class="col-xs-12">
                                    <p>@Html.Sitecore().Field("{1E900F2F-6F68-46B4-A98A-7BDF3CE06C5E}", child)</p>
                                </div>
                            </div>
                        </div>
                    }
                }
            }
            <!-- Left and right controls -->
            <a class="left carousel-control" href="#@Model.Item.Children[0].ID.Guid.ToString("N")" role="button" data-slide="prev">
                <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
                <span class="sr-only">Previous</span>
            </a>
            <a class="right carousel-control" href="#@Model.Item.Children[0].ID.Guid.ToString("N")" role="button" data-slide="next">
                <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
            </a>
        </div>
    </div>
</div>

<!--More button javascript used on the desktop screens-->
@if (counter != 0 && counter > maxvisible)
{
    <script>
        var acc = document.getElementsByClassName("@UniqueName");
        var i;

        for (i = 0; i < acc.length; i++) {
            acc[i].addEventListener("click", function () {
                var panel = this.previousElementSibling;
                if (panel != null) {
                    if (panel.style.display === "block") {
                        panel.style.display = "none";
                        this.innerHTML = "<a href='#policies' class='more_link'>Show more</a>";
                    } else {
                        panel.style.display = "block";
                        this.innerHTML = "<a href='#policies' class='more_link'>Show less</a>";
                    }
                }
            });
        }
    </script>
}

Все это работало, как и ожидалось, на моем локальном компьютере, но я, должно быть, изменил что-то другое, что вызвало это. Есть идеи?

Ответы [ 2 ]

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

Ваши ссылки на поля выглядят странно для меня ...

  • @ Html .Sitecore (). Field ("{5787E6DD-A0F2-454F-AC4 C -50921D4BBCB3}", child)

Параметры для @ Html .Sitecore (). Field ():

  • string FieldName
  • string FieldName, Item item
  • string FieldName, параметры объекта
  • string FieldName, Item item, параметры объекта

Ваши поля буквально называются "{5787E6DD-A0F2-454F-AC4 C -50921D4BBCB3} "или это просто их идентификатор? На снимке экрана вашего редактора есть поля "CardText", "CardTitle", "CardIcon", и я ожидаю, что вместо идентификаторов GUID будет использоваться следующее:

  • @ Html .Sitecore (). Поле («CardTitle», дочерний)

Не знаю, почему он будет работать в прямом эфире, хотя если то, что вы показали, также и развернуто.

0 голосов
/ 17 января 2020

Не могли бы вы добавить еще скриншот? я не получаю то, что вы добавили в редакторе контента.

...