Ограничить кол-во картинок

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #1 trainracing » 16.06.2017, 08:03

Как ограничить выгрузку только 9 картинок на маркет в yandex.php?
на окай 1.2.4

и где кстати yandex.php на okay 2.0.2?

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #2 OkayCMS » 16.06.2017, 08:29

Он теперь feed.xml

А зачем ограничивать? Яндекс просто предупреждение выдает что возьмет только первые 9. На работоспособность это никак не сказывается. Разве что чтобы сам файл был чуть меньше.

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #3 trainracing » 16.06.2017, 08:43

OkayCMS писал(а):А зачем ограничивать? Яндекс просто предупреждение выдает что возьмет только первые 9. На работоспособность это никак не сказывается. Разве что чтобы сам файл был чуть меньше.

ну все таки как ограничить на 9 картинок? уж больно мозолит глаза это предупреждение..

m1hasik M
Аватара
m1hasik M
Возраст: 32
Репутация: 31
Сообщения: 200
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Откуда: Днепр
Skype

Сообщение #4 m1hasik » 16.06.2017, 08:57

trainracing писал(а):
OkayCMS писал(а):А зачем ограничивать? Яндекс просто предупреждение выдает что возьмет только первые 9. На работоспособность это никак не сказывается. Разве что чтобы сам файл был чуть меньше.

ну все таки как ограничить на 9 картинок? уж больно мозолит глаза это предупреждение..

файл feed.php в корне сайта

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

if(!empty($p_images[$p->product_id])) {
      $i = 1;
        foreach($p_images[$p->product_id] as $img) {
            if($i <=9) {
            print "<picture>".$okay->design->resize_modifier($img, 800, 600)."</picture>";
         }
         $i++;
         
        }
    }

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 16.06.2017, 09:35

Зачем же так сложно? Лучше бы использовать возможности PHP и писать попроще, например:

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

if(!empty($p_images[$p->product_id])) {
        foreach($p_images[$p->product_id] as $i =>$img) {
            if($i>=9) break;
            print "<picture>".$okay->design->resize_modifier($img, 800, 600)."</picture>";
        }
    }


или

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

if(!empty($p_images[$p->product_id])) {
        foreach(array_slice($p_images[$p->product_id],0,9) as $img) {
             print "<picture>".$okay->design->resize_modifier($img, 800, 600)."</picture>";
        }
    }

m1hasik M
Аватара
m1hasik M
Возраст: 32
Репутация: 31
Сообщения: 200
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Откуда: Днепр
Skype

Сообщение #6 m1hasik » 16.06.2017, 10:38

korshunov, вот надо сразу писать как правильно а не ковырять каждую строчку и влезать потом как моисей со своими советами

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #7 korshunov » 16.06.2017, 10:57

m1hasik писал(а):korshunov, вот надо сразу писать как правильно а не ковырять каждую строчку и влезать потом как моисей со своими советами

Вот и я Вам ранее дал тот же совет: надо сразу писать правильно. Советы давать легко...

m1hasik M
Аватара
m1hasik M
Возраст: 32
Репутация: 31
Сообщения: 200
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Откуда: Днепр
Skype

Сообщение #8 m1hasik » 16.06.2017, 10:59

korshunov писал(а):
m1hasik писал(а):korshunov, вот надо сразу писать как правильно а не ковырять каждую строчку и влезать потом как моисей со своими советами

Вот и я Вам ранее дал тот же совет: надо сразу писать правильно. Советы давать легко...
Ну по крайней мере в данном случае правильный любой из трех вариантов, и ни один из них не создает супер нагрузки


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

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


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 27 гостей