如何安装Yii imagesgallerymanager扩展
我正在尝试创建图像库,发现以下扩展: 我选择这个扩展是因为它是评估最好的。我的问题是我不知道如何安装它。我是新用Yii的,所以我迷路了 说明如下:如何安装Yii imagesgallerymanager扩展,yii,Yii,我正在尝试创建图像库,发现以下扩展: 我选择这个扩展是因为它是评估最好的。我的问题是我不知道如何安装它。我是新用Yii的,所以我迷路了 说明如下: 将源代码签出到项目,例如ext.galleryManager 安装并配置映像组件() 将gallery的表添加到数据库中(扩展中的migrations文件夹中有sql方案和迁移示例) 通过在config/main.php中添加要导入的“ext.galleryManager.models.*”将库模型导入到项目中 将GalleryController
application main config components
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'D:/Program Files/ImageMagick-6.4.8-Q16'),
),
调用方法():
$image = Yii::app()->image->load('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->save(); // or $image->save('images/small.jpg');
第二种:
Yii::import('application.extensions.image.Image');
$image = new Image('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->render();
//other options
'components' => array(
'image' => array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'D:/Program Files/ImageMagick-6.4.8-Q16'),
),
//.. other components
)
'versions'=>array
(
'small'=>array
(
'centeredpreview'=>array(98, 98)
),
'medium'=>array
(
'resize'=>array(800, NULL)
)
)
我应该将前面的代码粘贴到../config/main.php中吗?对不起,我有点困惑
非常感谢。我建议您从z_bodya(yii开发者)那里克隆yii演示博客。使用以下命令,已经实现了他的yii扩展(图像附件、图像库、tinymce+elfinder):
git clone https://bitbucket.org/z_bodya/yii-demo-blog.git
然后按照该页上的说明进行操作
然后研究他的厨房经理的工作流程
此外,还可以阅读有关Yii的书籍,我建议:
Web Application Development with Yii and PHP
Author: Jeffrey Winesett
http://www.amazon.com/dp/1849518726?tag=gii20f-20
Yii Application Development Cookbook
Author: Alexander Makarov
http://www.amazon.com/dp/B00BKZHDGS?tag=gii20f-20
看起来是对的。您能确保条目
'images'
在'components'
数组中吗?您的配置文件(main.php
)应该如下所示:
application main config components
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'D:/Program Files/ImageMagick-6.4.8-Q16'),
),
调用方法():
$image = Yii::app()->image->load('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->save(); // or $image->save('images/small.jpg');
第二种:
Yii::import('application.extensions.image.Image');
$image = new Image('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->render();
//other options
'components' => array(
'image' => array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'D:/Program Files/ImageMagick-6.4.8-Q16'),
),
//.. other components
)
'versions'=>array
(
'small'=>array
(
'centeredpreview'=>array(98, 98)
),
'medium'=>array
(
'resize'=>array(800, NULL)
)
)
调用$image->render()
以显示实际图像。它应该在控制器或视图文件中
在使用该类之前调用Yii::import()
。这样做是为了让Yii知道在哪里可以找到您的课程。在开始之前
如果此扩展适用于您,您应该先了解以下几点:
Bootstrap.css
文件,因为它使用来自它的样式),但是您可能会使用与应用程序其他部分不同的样式的gallery manager- yii画廊经理扩建本身
- yii图像扩展
- 推特引导的风格
下载
部分的文件,或者(仅适用于主扩展名)
将其内容解压缩到应用程序中的extensions
文件夹中,并可以选择更改其文件夹的名称
至于Twitter引导,您只需要它的样式(Bootstrap.css
)就可以被扩展使用。你不需要整个图书馆
解包yii_image
扩展后,您需要将其配置添加到应用程序的配置数组中(如果您没有更改,请在protected/config/main.php
中)
应该是:
'image'=>array
(
'class'=>'application.extensions.image.CImageComponent',
'driver'=>'GD'
)
如果要使用默认PHP的GD
库进行图像处理,或者:
'image'=>array
(
'class'=>'application.extensions.image.CImageComponent',
'driver'=>'ImageMagick',
'params'=>array('directory'=>'D:/Program Files/ImageMagick-6.4.8-Q16')
)
如果要使用ImageMagick
库
仔细检查路径/别名(application.extensions.image
此处)是否正确有效。yii gallery manager扩展中的大多数操作都是通过POST/AJAX进行的,调试它们有点困难。yii图像扩展的错误路径/别名是Gallery Manager无法正确上载图像的第一个问题源
将yii gallery manager添加到应用程序
我决定使用基于行为的方法,因为使用行为更灵活
以下是我将yii gallery manager添加到应用程序中的步骤:
$this->addColumn('contents', 'gallery_id', "integer DEFAULT NULL COMMENT 'Foregin key to Gallery -- gallery for this content' AFTER `content_id`");
extensi
Yii::app()->image->load($path)->centeredpreview(140, 140)->crop(140, 120)->save(Yii::getPathOfAlias('webroot') . '/' .$this->galleryDir . '/_' . $this->getFileName('') . '.' . $this->galleryExt);
.sorter
{
overflow: auto;
height: 400px;
}
public function down()
{
/**
* Drop yii-gallery-manager extension tables.
*/
$this->dropForeignKey('fk_gallery_photo_gallery1', 'gallery_photo');
$this->dropTable('gallery_photo');
$this->dropTable('gallery');
}
$this->addColumn('contents', 'gallery_id', "integer DEFAULT NULL COMMENT 'Foregin key to Gallery -- gallery for this content' AFTER `content_id`");
<?php
$model = new GalleryPhoto();
$model->gallery_id = 123;
$model->file_name = 'test1';
$model->setImage('test2');
?>
"require": {
...
"z_bodya/yii-gallery-manager": "dev-default"
},
composer update