2схс | Приложение галереи Bluimp

Я хочу использовать заголовок изображения (значение метаданных на скриншоте ниже) для автоматического отображения в качестве заголовка каждого изображения под каждым изображением. Также для целей доступности автоматически назначать это мета-значение как значение «alt = «»» по умолчанию?

введите здесь описание изображения

Текущий код шаблона:

<link rel="stylesheet" href="@App.Path/dist/lib/blueimp/css/blueimp-gallery.min.css" data-enableoptimizations="true" />
<script type="text/javascript" src="@App.Path/dist/lib/blueimp/js/blueimp-gallery.min.js" data-enableoptimizations="bottom"></script>
<link rel="stylesheet" href="@App.Path/dist/app/view.css" data-enableoptimizations="true" />

@if(@Dnn.User.IsSuperUser)
            {
            @Content.Toolbar
        } else {
            @Edit.Toolbar(Content, actions: "edit,add")
        }

<div id="[email protected]" style="display:none;">
    @foreach (var pic in AsAdam(Content, "Images").Files)
    {
        <a href="@[email protected]&[email protected]&mode=crop" title="@(((dynamic)pic.Metadata).Title)" data-gallery="#[email protected]">
            @(((dynamic)pic.Metadata).Title)
        </a>
    }
</div>

@* this is the rotator element *@
<div id='[email protected]' class='blueimp-gallery blueimp-gallery-carousel' data-carousel='true' data-start-slideshow="true">
    <div class='slides'></div>
    <h3 class='title'></h3>
    <a class='prev'>‹</a>
    <a class='next'>›</a>
    <a class='play-pause'></a>
    <ol class='indicator'></ol>
</div>

<script type="text/javascript">
    $(document).ready(function () {
        // initialize the carousel gallery
        blueimp.Gallery($('[data-gallery="#[email protected]"]').get(), {
                container: '#[email protected]',
                carousel: true
            }
        );
    });
</script>

Также обратите внимание, что когда я нажимаю на тег метаданных, появляется следующее всплывающее сообщение об ошибке:

введите здесь описание изображения

Примечание: Версия: 9.2.0

ОБНОВЛЕНИЕ: изменение «Метаданных изображения» на «ImageMetadata» сработало, спасибо.

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

<div id="[email protected]" style="display:none;">
    @foreach (var pic in AsAdam(Content, "Images").Files)
    {
        <a href="@[email protected]&[email protected]&mode=crop" title="@(((dynamic)pic.Metadata).Title)" alt="@(((dynamic)pic.Metadata).Title)" data-gallery="#[email protected]">
            @(((dynamic)pic.Metadata).Title)
        </a>
    }
</div>

person denisjoconnor    schedule 21.09.2017    source источник


Ответы (1)


Итак, вы спрашиваете о нескольких вещах одновременно.

номер 1: использовать заголовок, который вы хотите проверить, есть ли у изображения метаданные, и если да, используйте их. Этот код должен помочь (pic - это переменная изображения в вашем цикле):

@(pic => !pic.HasMetadata ? "" : ((dynamic)pic.Metadata).Title)

номер 2, кажется, проблема в конфигурации. насколько я вижу, кнопка метаданных на панели инструментов по умолчанию работает. Я проверил внутреннюю и неправильную конфигурацию поля - вы должны изменить ее с «Метаданные изображения» на «Метаданные изображения».

введите здесь описание изображения

person iJungleBoy    schedule 27.09.2017
comment
примечание: blueimp 3.2 исправляет это 2sxc. org/ru/приложения/приложение/ - person iJungleBoy; 28.09.2017