[Решено] Fancybox работает только со второй попытки.

Главные вкладки

Аватар пользователя nitskel nitskel 22 сентября 2014 в 23:48

Использую следующую конструкцию.
С помощью image_style создаю две фотографии, маленькую и побольше. Потом вывожу их в шаблон. Проблема в том, что пока не создалась фотография побольше, Fancybox ее не подхватывает, и она открывается отдельно. После обновления страницы уже все работает. То это проблема, поскольку фотографий несколько тысяч.

Может можно как-то после проверки на file_exist железно создать фотографию побольше?

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


<?php
$uri 
= ($profile->field_photo'uri');
$photo_scale theme('image_style', array(
        
'style_name' => 'profile_photo_scale',
        
'path'       => $uri,
        
'attributes' => array('class' => 'profile_photo'),
));
$url_photo_scale image_style_url('profile_photo_scale'$uri);
$url_photo file_create_url($uri); ?>

<a href="<?php echo $url_photo_scale;?>" rel="fancybox" class="fancybox">
<?php echo theme('image_style', array(
    
'style_name' => 'profile_new',
    
'path'       => $uri,
    
'attributes' => array('class' => 'profile_photo'),
));
?>
</a>
?>

Комментарии

Аватар пользователя nitskel nitskel 25 сентября 2014 в 18:05

Спасибо, понятно.

В общем пришлось вот такой скриптик прокрутить. Способ, конечно, брутальный, но зато фотки железно создает.

$uri = db_select('file_managed', 'p')
            ->fields('p', array('uri'))
            ->execute()
            ->fetchCol();
  foreach ($uri as $val) {
    $photo_scale = theme('image_style', array(
                'style_name' => 'profile_photo_scale',
                'path'       => $val,
              ));
    echo $photo_scale;
   
  }