Невозможно правильно выполнить итерацию в фигурных кодах или 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

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