public function upload() { if ($this->validate()) { $cat = Categories::findOne($this->id); $contr = Yii::$app->controllerNamespace . '\\' . ucfirst($cat->handler) . 'Controller'; $base = $contr::baseStorePath(); $store_to = $base['real'] . $cat->route; foreach ($this->files as $f) { $new_fn = $this->newFileName($f->baseName, $f->extension); if ($f->saveAs($store_to . $new_fn)) { $res = new Resources(); $res->attachBehavior('ImageBehavior', ['class' => ImageBehavior::className()]); $res->category_id = $this->id; $res->title = $res->description = $f->baseName; $res->keywords = $new_fn; //реальное имя файла с расширением $res->alias = str_replace('.' . $f->extension, '', $new_fn); //псевдоним изначально равен имени файла $res->path = $store_to; $res->webroute = $base['web'] . $cat->route; $res->filename = $new_fn; $res->save(); } //TODO обработка ошибки сохранения файла } return true; } return false; }
private function getUploadedFilesInfo($ids) { $res = []; foreach ($ids as $id) { $f = Files::findOne($id); $f->attachBehavior('ImageBehavior', ['class' => ImageBehavior::className()]); $res[] = ['id' => $f->id, 'img' => $f->url, 'thumb' => $f->thumbnailUrl]; } return $res; }
private function changeAlbumImagesPath() { $images = $this->owner->resources; foreach ($images as $img) { $img->attachBehavior('image', ['class' => ImageBehavior::className()]); $alias = $this->owner->alias; $img->path = $this->_parentDir . $alias . '/'; $img->webroute = Yii::getAlias(str_replace('@webroot', '@web', $this->base)) . $this->_parentRoute . $alias . '/'; $img->save(); } }
public function run($table, $id) { /* $onlyExtensions = array_map( function ($ext) { return '*.'.$ext; }, Yii::$app->controller->module->imageAllowExtensions ); $filesPath = FileHelper::findFiles(Yii::$app->controller->module->getSaveDir(), [ 'recursive' => true, 'only' => $onlyExtensions ]);*/ $files = Files::getAttachedFiles($table, $id); $res = []; foreach ($files as $file) { $file->attachBehavior('image', ['class' => ImageBehavior::className()]); $res[] = ['thumb' => $file->thumbnailUrl, 'image' => $file->url, 'title' => $file->title]; } return $res; }
public function upload() { if ($this->validate()) { $path = $this->getStoreInfo(); $store_to = $path['real'] . $path['route']; if (!file_exists($store_to)) { FileHelper::createDirectory($store_to); } foreach ($this->files as $f) { $image = $this->isImageFile($f); $new_fn = $this->newFileName($f->baseName, $f->extension, $image); if ($f->saveAs($store_to . $new_fn)) { $model = new Files(); if ($image) { $model->attachBehavior('imageFileBehavior', ['class' => ImageBehavior::className()]); } $model->filename = $new_fn; $model->base_dir = $path['real']; $model->base_url = $path['web']; $model->path = $path['route']; $model->title = $f->baseName; $model->alias = str_replace('.' . $f->extension, '', $new_fn); $model->attach_table = $this->tableId; $model->attach_id = $this->id; if ($model->save()) { $this->_uploadedIds[] = $model->id; } $this->_fn = $new_fn; $this->_url = $path['web'] . $path['route'] . $new_fn; } //TODO обработка ошибки сохранения файла } return true; } return false; }
//VAR_VAL $title = 'Мини-трактор МТМ-10'; $keywords = 'МТМ-10, трактор, мини-трактор, ооо мобиль, ЖКХ, фермер, личное, хозяйство'; $description = 'МТМ-10 - недорогой универсальный малогабаритный трактор. Трактор МТМ-10 построен из отечественных комплектующих, что обеспечивает высокую ремонтопригодность и низкую стоимость запасных частей. Широкий выбор навесных и прицепных агрегатов позволяет выполнять обширный спектр работ в фермерских и личных подсобных хозяйствах, в жилищно-коммунальном хозяйстве и на малых производственных площадках'; $album_id = 51; // //VAR_IMPLEMENT $this->title = $title; // $album = \app\models\Categories::findOne(['id' => $album_id, 'handler' => 'album']); if ($album == null) { $slideshow = '#Альбом_не_найден'; } else { $img_list = []; foreach ($album->resources as $img) { $img->attachBehavior('ImageBehavior', ['class' => \app\components\ImageBehavior::className()]); $img_list[] = ['title' => $img->title, 'href' => $img->imageUrl, 'thumbnail' => $img->thumbnailUrl]; } $slideshow = \app\widgets\blueimp\BlueimpGallery::widget(['items' => $img_list, 'mode' => 2]); } // ?> <h2>Мини-трактор МТМ-10</h2><p><?php echo $slideshow; ?> <br></p><p>МТМ-10 это недорогой универсальный малогабаритный трактор тягового класса 0,2 тс с задней ведущей осью, разработанный и производимый на территории Самарской области. При разработке данной машины был сделан упор на применение отечественных автокомпонентов и комплектующих, что позволило получить высокую ремонтопригодность и низкую стоимость запасных частей.</p><p>Наш малогабаритный трактор полностью адаптирован к навесным и прицепным агрегатам, которые мы предлагаем своим клиентам, что позволяет выполнять широкий спектр работ в фермерских и личных подсобных хозяйствах,
/** * @inheritdoc */ public function behaviors() { return ['multilingual' => ['class' => MultilingualActiveRecord::className(), 'translationModelClass' => PostTranslation::className()], 'CacheableActiveRecord' => ['class' => \DevGroup\TagDependencyHelper\CacheableActiveRecord::className()], 'timestamp' => ['class' => TimestampBehavior::className(), 'createdAtAttribute' => false, 'updatedAtAttribute' => 'updated_at', 'value' => new Expression('NOW()')], ['class' => ImageBehavior::className(), 'savePathAlias' => '@app/web/images/', 'urlPrefix' => '/images/', 'crop' => true, 'attributes' => ['photo' => ['savePathAlias' => '@app/web/images/', 'urlPrefix' => '/images/', 'width' => 1040, 'height' => 700, 'thumbnails' => ['mini' => ['width' => 120, 'height' => 120]]]]]]; }
<?php use yii\helpers\Html; use yii\helpers\Url; mb_internal_encoding('UTF-8'); $model->attachBehavior('imageFile', ['class' => \app\components\ImageBehavior::className()]); ?> <div class="row"> <div class="col-md-3"> <img src="<?php echo $model->thumbnailUrl; ?> " class="img-thumbnail"> </div> <div class="col-md-9"> <div class="row"> <div class="col-md-1"> <p> <?php echo Html::a('<i class="glyphicon glyphicon-pencil"></i>', ['image/edit', 'id' => $model->id], ['class' => 'btn btn-primary', 'title' => 'Редактировать']); ?> </p> <p> <?php echo Html::a('<i class="glyphicon glyphicon-search"></i>', $model->url, ['class' => 'btn btn-info', 'target' => '_blank', 'title' => 'Просмотреть в полном размере']); ?> </p> <p> <?php echo Html::a('<i class="glyphicon glyphicon-trash"></i>', ['image/delete', 'id' => $model->id], ['class' => 'btn btn-danger', 'title' => 'Удалить']); ?>
/** * Deletes an existing Resources model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param string $id * @return mixed */ public function actionDelete($id) { $model = $this->findModel($id); $model->attachBehavior('ImageBehavior', ['class' => ImageBehavior::className()]); $model->delete(); return $this->redirect(['list', 'id' => $model->category_id]); }
<?php use yii\helpers\Html; use yii\widgets\ActiveForm; use app\components\ImageBehavior; $model->attachBehavior('ImageBehavior', ['class' => ImageBehavior::className()]); ?> <p class="text-center"> <?php echo Html::img($model->thumbnailUrl, []); ?> </p> <div class="image-form"> <?php $form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'id')->hiddenInput()->label(false); ?> <?php echo $form->field($model, 'title')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'description')->textArea(['maxlength' => true]); ?> <div class="form-group">