Использую следующую конструкцию.
С помощью 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>
?>
Комментарии
Не у всех с 1 получается, железно создать фотографию побольше можно при загрузки фотографии, или её изменении.
Спасибо, понятно.
В общем пришлось вот такой скриптик прокрутить. Способ, конечно, брутальный, но зато фотки железно создает.
->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;
}
Эх, друпал, такой друпал, из 5000 тыщ фото 2 перевернул зачем-то