Невозможно правильно выполнить итерацию в фигурных кодах или php.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно правильно выполнить итерацию в фигурных кодах или php.

Сообщение Anonymous »

Я загрузил следующие изображения:

Код: Выделить всё

    image 1   (an image is uploaded)

image 2   (no image is uploaded)

image 3   (an image is uploaded)

image 4   (no image is uploaded)

image 5   (an image is uploaded)

image 6   (an image is uploaded)
и т. д.
и хотите отображать метки в том порядке, в котором эти изображения загружаются, например:

Код: Выделить всё

    image 1

image 2

image 3

image 4
(without image 2 and image 4 as they are not uploaded)
а) Вот оригинальные коды:

Код: Выделить всё

    [list]
{capture $featuredtLabel}{__ 'Image 1'}{/capture}
{capture $defaultLabel}{__ 'Image'}{/capture}
{foreach $galleryItems as $item}
[*]first} active{/if}">
{var $label = !empty($item['title']) ? $featuredtLabel : ($defaultLabel . ' ' . $iterator->counter)}
[url=#]{!$label}[/url]

{/foreach}
[/list]

При использовании исходных кодов будут отображаться все изображения, даже некоторые (изображение 2 и изображение 4) не загружены:

Код: Выделить всё

    image 1

image 2

image 3

image 4

image 5

image 6
б) Я изменил исходные коды на следующие:

Код: Выделить всё

    [list]
{capture $featuredtLabel}{__ 'Image 1'}{/capture}   
{capture $defaultLabel}{__ 'Image'}{/capture}
{foreach $galleryItems as $item}
[*]first} active{/if}">
{if !empty($item['image'])}   
{if empty($item['imageUrl'])}   
{var $iterator1 = $iterator->counter - 1}
{/if}

{var $iterator1 = $iterator->counter}
{var $label = !empty($item['title']) ? $featuredtLabel : ($defaultLabel . ' ' . $iterator1)}
[url=#]{!$label}[/url]

{/if}

{/foreach}
[/list]
Обратите внимание, что $iterator->counter начинается со значения 1, созданного JavaScript-скриптом темы WP. Для первой итерации должно быть 1 + 1 = 2, для второй итерации: 2 + 1 = 3
Приведенные выше коды дают следующие результаты:

Код: Выделить всё

    image 1

image 3

image 5

image 6
изображения выше отображаются правильно, поскольку у них есть действительные URL-адреса или изображения загружены. Но все метки отображаются некорректно. Я бы хотел, чтобы они были в таком порядке:

Код: Выделить всё

    image 1

image 2

image 3

image 4
Любая помощь очень ценится.

Подробнее здесь: https://stackoverflow.com/questions/787 ... -correctly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»