Доброго времени суток!
Я могу загружать и просматривать изображения в админ панели (приложение backend) без каких-либо проблем, а так же выводить изображения во "frontend" приложении yii2-advanced шаблона, но у меня есть дополнительное приложение frontend_2 и вот там изображение недоступно, ссылка возвращает 404 код.
Во всех 3х приложениях ссылки CostaRico/yii2-images возвращает одинаковые ссылки изображений. Домены же у всех 3х приложений различные.
Настройки CostaRico/yii2-images в common/config/main.php:
'modules' => [
'yii2images' => [
'class' => 'rico\yii2images\Module',
//be sure, that permissions ok
//if you cant avoid permission errors you have to create "images" folder in web root manually and set 777 permissions
'imagesStorePath' => '@root/upload/store', //path to origin images
'imagesCachePath' => '@root/upload/cache', //path to resized copies
'graphicsLibrary' => 'GD', //but really its better to use 'Imagick'
'placeHolderPath' => '@root/upload/store/no-image.png', // if you want to get placeholder when image not exists, string will be processed by Yii::getAlias
'imageCompressionQuality' => 85, // Optional. Default value is 85.
]
Как вы могли заметить, я использую одну и ту же папку для хранения изображений для всех 3х приложений yii2=advancesd.
Код Costa-Rico/images в модели каждого приложения:
public $gallery;
public $gallery_url;
public function behaviors()
{
return [
'image' => [
'class' => 'rico\yii2images\behaviors\ImageBehave',
]
];
}
Для отображения картинки во frontend-2 приложении я использую следующий код:
$general_logo = General::find()->where(['index' => 'logo_social'])->one();
if($general_logo) $image = $general_logo->getImage();
if($general_logo && $image) : ?>
<meta property="og:image" content="<?= $image->getUrl(); ?>"/>
<?php endif; ?>
У кого-то есть идеи, в чем может быть ошибка? Спасибо.
Я решил проблему. Это была дурацкая ошибка в роутинге моего дополнительного приложения frontend_2, в файле frontend_2/config/main.php:
'urlManager' => [
'rules' => [
[
'pattern' => '<url:.+>',
'route' => 'page/view',
],
],
]
Это правило отправляло все паттерны URL, не подходящие под предыдущие правила, на контроллер PageController, отвечающий за вывод отдельных текстовых страниц. PageController и отдавал в итоге 404 страницу. Таким образом, оно перехватывало урл до того, как его могло обработать расширение CostaRico/yii2-images и отправляло сценарий по ложному пути. Я закомментировал это правило, обновил страницу и увидел долгожданную картинку.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Ведь класс AbstractSet имплементит SetТак зачем реализациям повторно его имплементить?
Допустим, у меня есть десктопное приложениеУ него есть свои кнопки, нажимая на которые выполняются различные методы