Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何安装Yii imagesgallerymanager扩展_Yii - Fatal编程技术网

如何安装Yii imagesgallerymanager扩展

如何安装Yii imagesgallerymanager扩展,yii,Yii,我正在尝试创建图像库,发现以下扩展: 我选择这个扩展是因为它是评估最好的。我的问题是我不知道如何安装它。我是新用Yii的,所以我迷路了 说明如下: 将源代码签出到项目,例如ext.galleryManager 安装并配置映像组件() 将gallery的表添加到数据库中(扩展中的migrations文件夹中有sql方案和迁移示例) 通过在config/main.php中添加要导入的“ext.galleryManager.models.*”将库模型导入到项目中 将GalleryController

我正在尝试创建图像库,发现以下扩展:

我选择这个扩展是因为它是评估最好的。我的问题是我不知道如何安装它。我是新用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知道在哪里可以找到您的课程。

    在开始之前 如果此扩展适用于您,您应该先了解以下几点:

  • 如果您不确定yii gallery manager扩展是否适合您,并且希望在将其合并到应用程序之前使用它,请按照本文末尾的“演示应用程序”部分进行操作

  • Gallery Manager只是一组小部件、模型、行为和控制器,为您自己的模型和模块提供库管理功能。它不是一个现成的、开箱即用的解决方案,它的形式是管理库的整个模块。此外,它也是画廊经理只。它是用于后端的,不为前端提供任何特殊的功能。您必须根据yii gallery manager extension提供的数据编写自己的代码来展示特定的图库

  • 由于图库连接到您的一个模型,并保存在单独的表中,因此使用图库管理器小部件可以立即在线进行更改。换句话说,编辑任何模型的用户不必保存它,甚至可以取消编辑它,但他/她在Gallery Manager中所做的更改会立即发送(通过AJAX),立即存储在数据库中,并立即公开。您可能应该将此信息传递给应用程序的用户。甚至考虑一些实现,如果用户正在编辑和改变画廊,则会使POST隐形,

  • Gallery Manager扩展由功能强大的yii图像扩展(实际上是著名的Kohana图像处理类的yii端口)支持,并为您自动生成每个上传图像的预览,包括许多酷炫的图形效果和图像转换

  • 扩展使用Twitter引导样式。如果您也在应用程序中使用它,那么您的gallery manager将匹配整个应用程序的样式。如果不使用Bootstrap,则不需要安装它(yii gallery manager只需要
    Bootstrap.css
    文件,因为它使用来自它的样式),但是您可能会使用与应用程序其他部分不同的样式的gallery manager

  • 如果您确信要使用此扩展,请继续阅读。如果辞职,您可以滚动到本文的末尾,在那里我放置了一些替代方案

    准备阶段 要在应用程序中安装和使用此扩展,您需要:

    • yii画廊经理扩建本身

    • yii图像扩展

    • 推特引导的风格

    由于某些错误,两个扩展的主存储库(位于BitBucket)都无法关闭。您应该使用添加到
    下载
    部分的文件,或者(仅适用于主扩展名)

    将其内容解压缩到应用程序中的
    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