unifik / media-bundle
symfony-unifik 分布式的媒体包
0.1.2
2017-05-15 17:44 UTC
Requires
- friendsofsymfony/jsrouting-bundle: dev-master
- liip/imagine-bundle: ~1.0
- symfony/symfony: ~2.3
- unifik/doctrine-behaviors-bundle: dev-master
This package is not auto-updated.
Last update: 2024-09-28 16:41:29 UTC
README
安装
使用 composer 文件
"require": {
//...,
"unifik/media-bundle": "dev-master"
},
在 AppKernel.php 中添加以下行
new Unifik\MediaBundle\UnifikMediaBundle(),
在 app/config/routing.yml 中添加以下内容
unifik_media_backend:
resource: "@UnifikMediaBundle/Resources/config/routing_backend.yml"
prefix: /admin/media
一旦加载了包,要激活带有 CKEditor 的媒体管理器,必须在 ckeditor 配置中注册插件(app/config/config.yml)
external_plugins:
unifikmediamanager:
path: bundles/unifikmedia/backend/js/ckeditor/plugin/unifikmediamanager
你还需要在工具栏中添加 'Insert_media'
按钮。以下是一个配置示例
trsteel_ckeditor:
toolbar_groups:
[...]
insert: ['Insert_media', 'Image', 'Flash', 'Table', 'HorizontalRule']
[...]
为了在表单中获取适当的媒体选择字段,你需要在表单主题中添加以下行
{% block media_select_widget %}
{% include 'UnifikMediaBundle:Backend/Form:fields.html.twig' with {'widget_attributes': block('widget_attributes')} %}
{% endblock %}
此包使用 FOSRoutingBundle。因此,你需要包含以下 js 文件
{% javascripts
'bundles/fosjsrouting/js/router.js'
'js/fos_js_routes.js'
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
并运行以下命令:app/console fos:js-routing:dump
包含所需的 dynamic_loader.js
文件以添加 Media Bundle CKEditor 插件
{% javascripts
'@UnifikMediaBundle/Resources/public/backend/js/dynamic_loader.js'
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
在 config.yml
文件中包含 liip imagine routing
_liip_imagine:
resource: "@LiipImagineBundle/Resources/config/routing.xml"
包要求
- unifik/doctrine-behaviors-bundle
- liip/imagine-bundle
- friendsofsymfony/jsrouting-bundle
添加媒体字段
要链接媒体与实体,添加以下的多对一关系
manyToOne:
myMedia:
targetEntity: Unifik\MediaBundle\Entity\Media
要生成媒体字段,在你的表单类型中添加以下内容:(默认类型是 image)
->add('image2', 'media_select')
要选择其他媒体类型:(可用的类型有:image、video、embedvideo 和 document)
->add('image2', 'media_select', array('type' => 'image'))