Поменять картинки местами

На сайте очень много товаров и две первые картинки у всех них расположены не в правильном порядке. Возможно ли поменять их местами программным способом в цикле joxi.ru/LmGEV7kteglqDA?
stas
30 января 2017, 18:59
modx.pro
1
876
0

Комментарии: 3

Николай Загумённов
01 февраля 2017, 00:26
0
у картинок есть поле rank отвечающее за порядок
    stas
    01 февраля 2017, 10:00
    +1
    $pics = $modx->getCollection('msProductFile', ['parent' => 0]);
    foreach($pics as $pic) {
        $arr[$pic->toArray()['product_id']][] = $pic->toArray()['url'];
    }
    $vv;
    foreach($arr as $k=>$ar){
      if(count($ar) > 1){
        $vv[$k] = array_reverse(array_slice($ar, 0, 2));
      }else{
        continue;
      }
    }
    
    foreach($pics as $pic) {
      if(!($vv[$pic->toArray()["product_id"]][0])) continue;
      
      $pic->set('url',$vv[$pic->toArray()["product_id"]][0]);
      $pic->save();
      if($bb = $vv[$pic->toArray()["product_id"]][0]){
       $vv[$pic->toArray()["product_id"]][0] = $vv[$pic->toArray()["product_id"]][1];
      }
    }
    написал такой скрипт мож кому пригодиться
      Василий Наумкин
      01 февраля 2017, 11:33
      +1
      Если нужно всего одно поле, то
      $pic->toArray()['url']
      лучше заменить на
      $pic->get('url')

      Будет быстрее.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3