Кажется, я не могу отображать свои изображения в слайдере. (Processwire) Но все мои поля в повторителе настроены правильно.

<section class="hero-slider style1">
  <div class="home-slider">
    <!-- Single Slider -->
    <?php
    foreach ($page->slider_repeater as $slider_repeater) {
      echo "<div class='single-slider' style='background-image:url('{$slider_repeater->images->url}{$slider_repeater->images}')'>";
      echo "<div class='container'>";
      echo "<div class='row'>";
      echo "<div class='col-lg-12 col-md-12 col-12'>";
      echo "<div class='welcome-text'>";
      echo "<div class='hero-text'>";
      echo "<h4>{$slider_repeater->texth4}</h4>";
      echo "<h1>{$slider_repeater->texth1}</h1>";
      echo "<div class='p-text'>";
      echo "<p>{$slider_repeater->textp}</p>";
      echo "</div>";
      echo "</div>";
      echo "</div>";
      echo "</div>";
      echo "</div>";
      echo "</div>";
      echo "</div>";
    }
    ?>
  </div>
</section>

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


person Alvin Alinda    schedule 06.08.2020    source источник


Ответы (1)


Сначала вам нужно проверить, настроено ли ваше поле для вывода с одним или несколькими значениями. В резервной копии перейдите в меню «Настройка» > «Поля» > «Изображения» и проверьте вкладку Подробности. Обратите внимание на настройки Максимально допустимое количество файлов и Отформатированное значение. Они сообщат вам, содержит ли ваше поле images одно изображение или несколько изображений.

Внутри вашей функции background-image:url также происходит несколько ошибок: style='background-image:url('{$slider_repeater->images->url}{$slider_repeater->images}')'

  1. Вы используете одинарные кавычки (') как для разделения начала и конца значения атрибута HTML, так и внутри функции url, это может вызвать ошибки. Оставьте одинарные кавычки внутри функции url.
  2. Какова цель второго вызова {$slider_repeater-›images}? Оставьте это.

Все сказанное, измените параметр стиля на один из следующих, и он должен работать:

// if your images field is set to Single item, or Automatic with a limit of 1
style='background-image:url({$slider_repeater->images->url})'

// if your images field is set to Arry of items, or Automatic with a limit of 0 or >1
style='background-image:url({$slider_repeater->images->first->url})'
person MoritzLost    schedule 07.08.2020