drmabuse / yii2-sir-trevor-js
Yii 2 Sir Trevor JS 小部件
0.0.5
2014-07-24 19:16 UTC
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-14 14:21:18 UTC
README
版本 0.0.5
一个 sir-trevor-js 模块
浏览器支持
Sir Trevor 仅在以下现代浏览器上进行了测试
- IE10+
- Chrome 25+
- Safari 5+
- Firefox 16+
依赖项
Sir Trevor 需要 Underscore (或 LoDash), jQuery (或 Zepto) 和 Eventable.
贡献
待办事项
1. create output from Input
开始使用
使用 composer 安装
composer install drmabuse/yii2-sir-trevor-js:"*"
基本用法
<?=
$form->field(
$model,
'attributeName')->widget(\drmabuse\sirtrevorjs\SirTrevorWidget::className(),
[
'imageUploadUrl' => \yii\helpers\Url::to(['file/sir-trevor-upload']),
'language' => 'de',//es,fi,pt,fr,de,cn,
'assetMode' => 'min'//dev,
'element' => '.sir-trevor'// wil add to the textarea,
'initJs' => 'SirTrevor....'//PLZ read before Sir Trevor Api
'options' => ['class' => 'mysexyTextarea'],
'blockOptions' => Json::encode(
[
'el' => new JsExpression("$('.sir-trevor')"),
'blockTypes' => [
"Heading",
"Text",
"List",
"Quote",
"Image",
"Video",
"Tweet",
"Columns",
"Code",
"Gallery"
],
'defaultType' => false
]
)
]
)
?>
//Output
<?php
use drmabuse\sirtrevorjs\SirTrevorConverter;
$converter = new SirTrevorConverter();
?>
<?= $converter->toHtml($json) ?>
高级用法
图片块 - 示例文件上传处理程序
/**
* Action for file uploads via sir-trevor image block from SirTrevorWidget (input widget)
*
* @param $root relative base folder
*/
public function actionSirTrevorUpload($root)
{
$upload = UploadedFile::getInstanceByName('attachment[file]');
$model = new File();
$name_id = Inflector::slug(str_replace($upload->extension, '', $upload->name));
$model->path = 'images/' . $root . '/' . $model->name_id . '.' . $upload->extension;
$savePath = \Yii::getAlias('@backend/web') . '/' . $model->path;
$response = new Response();
$response->format = Response::FORMAT_JSON;
$response->data['message'] = "File";
if (!is_file($savePath) && is_dir(dirname($savePath))) {
if ($upload->saveAs($model->path)) {
$model->mime_type = FileHelper::getMimeType($model->path);
$model->file_size = $upload->size;
if ($model->save()) {
$items = $this->getItems($this->rootPath);
list($width, $height, $type, $attr) = getimagesize($model->path);
$response->setStatusCode(200);
$response->content = Json::encode(['file' => ['url' => $model->path]]);
\Yii::$app->end(0, $response);
} else {
$response->statusText = "Database record could not be saved.";
}
} else {
$response->statusText = "File could not be saved.";
}
}else{
$response->statusText = "File exists or root folder '{$savePath}' not found.";
}
$response->setStatusCode(500);
\Yii::$app->end(0, $response);
}
开发者信息
如果您想从最新的 JavaScript 源代码编译/构建,请使用以下命令获取 JavaScript 依赖项。
npm update
bower update
要创建资产文件,请运行
grunt default
要创建新版本
grunt bumpup
grunt semantic