skylineos / yii2-s3manager

AWS S3桶中文件管理的yii2扩展

安装: 272

依赖项: 0

建议者: 0

安全性: 0

星标: 2

关注者: 2

分支: 2

开放问题: 0

语言:JavaScript

类型:yii2-extension

4.1.6 2022-07-27 13:57 UTC

This package is auto-updated.

Last update: 2024-09-27 18:42:15 UTC


README

一个用于管理AWS S3桶中文件的Yii 2扩展


此扩展为Yii框架2.0提供了管理AWS S3桶中文件的非常可定制的解决方案。它可以独立使用,作为表单字段的回调,或与TinyMCE集成。

有关许可证信息,请参阅LICENSE文件。

安装

安装此扩展的首选方式是通过composer

运行以下命令

php composer.phar require --prefer-dist skylineos/yii2-s3manager

或向您的composer.json文件的require部分添加以下内容

"skylineos/yii2-s3manager": "~3.0.0"

配置

要使用此扩展,您应将模块添加到您的Web配置中。模块本身的配置可以在这里或即时完成。

return [
    //....
    'modules' => [
        's3manager' => [
            'class' => 'skylineos\yii\s3manager\Module',
            // All settings can be configured on the fly regardless of usage type (fileinput, standalone manager, tinymce plugin)
            'configuration' => [ 
                'bucket' => 'your-bucket-name', // can be overriden with \Yii::$app->params['s3bucket']
                'version' => 'latest',
                'region' => 'your-bucket-region', // can be overriden with \Yii::$app->params['s3region']
                'scheme' => 'http',
            ],            
        ],
    ]
];

请确保检查widgets文件夹以获取暴露的参数。

使用

独立

只需导航到/s3manager

带文件输入(活动表单)

在您的表单中添加以下内容(例如,views/post/form.php)

use skylineos\yii\s3manager\widgets\{FileInput, MediaManagerModal};

在您想要表单字段的位置

<label>My Field</label>
<?= FileInput::widget(['model' => $model, 'attribute' => 'myField']) ?>

然后,在页面底部(在您的<?php ActiveForm::end(); ?>之后)<?= MediaManagerModal::widget(['s3region' => 'us-east1', 's3bucket' => 'my-bucket-name']) ?>

与TinyMCE一起使用

在您的form.php中

use skylineos\yii\s3manager\widgets\{TinyMce, MediaManagerModal};

在您想要TinyMCE的位置(客户端选项主要取决于您)

<?= $form->field($model, 'content')->widget(TinyMce::className(), [
    'options' => ['rows' => 15],
    'clientOptions' => [
        'plugins' => [
            "advlist autolink lists link charmap print preview anchor",
            "searchreplace visualblocks code fullscreen",
            "insertdatetime media table contextmenu paste image"
        ],
        'menubar' => 'edit insert view format table tools help',
        'toolbar' => "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
    ]
]);?>

然后,在页面底部(在您的<?php ActiveForm::end(); ?>之后)<?= MediaManagerModal::widget(['s3region' => 'us-east1', 's3bucket' => 'my-bucket-name']) ?>