mandarinmedien / mmmmediabundle
YAMB -> 另一个媒体包
3.0.0
2022-04-14 06:33 UTC
Requires
- knplabs/gaufrette: ^0.2
- symfony/symfony: ^2.8|^3.0
- 3.0.0
- 2.2.15
- 2.2.14
- 2.2.13
- 2.2.12
- 2.2.11
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.12
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0
- 1.0
- 0.1.5.3
- 0.1.5.1
- 0.1.5
- 0.1.4.1
- 0.1.4
- 0.1.3
- 0.1.2.1
- 0.1.2
- 0.1.1
- 0.1.0
- dev-MM-Psiiirus-symfony-4
- dev-feature/symfony-3-support
This package is auto-updated.
Last update: 2024-09-25 10:31:10 UTC
README
追加到 app/AppKernel.php
...
public function registerBundles()
{
$bundles = array(
...
new MandarinMedien\MMMediaBundle\MMMediaBundle(),
...
);
....
}
...
追加到 app/config/config.yml
...
imports:
- { resource: '@MMMediaBundle/Resources/config/config.yml' }
...
追加到 App/config/routing.yml
...
mm_media:
resource: "@MMMediaBundle/Resources/config/routing.yml"
prefix: /mmmedia
...
创建 web/media 文件夹以存储图像
...
shell: mkdir PROJECT_ROOT/web/media
...
在您的实体中使用 MMMediaBundle
为了使媒体可排序,您需要使用此包的 MediaSortable 实体。对于媒体集合,使用单向多对多关联;对于单个媒体,使用单向一对一关联。为了防止数据库中出现垃圾数据,请确保设置 orphanRemoval 标志。
例如,单个媒体的 yaml 配置
...
oneToOne:
titleImage:
targetEntity: MandarinMedien\MMMediaBundle\Entity\MediaSortable
cascade:
- persist
- remove
...
例如,媒体集合的 yaml 配置
...
manyToMany:
medias:
targetEntity: MandarinMedien\MMMediaBundle\Entity\MediaSortable
orderBy: { 'position': 'ASC' }
joinColumn:
name: media_sortable_id
referencedColumnName: id
cascade:
- persist
- remove
orphanRemoval: true
...
将所有必要的资产添加到您的布局中
为了使 MMMediaBundle-UploadWidget 正常工作,您需要添加必要的 CSS 和 JS 文件。您可以复制下面的部分,或者将 @mmmedia_assets_css 和 @mmmedia_assets_js 添加到您的资产调用中。
Twig 示例
...
{% stylesheets '@mmmedia_assets_css' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% javascripts '@mmmedia_assets_js' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
...
表单类型选项
...
$builder
->add('medias', 'mmmedia_upload_collection', array(
// optional: configure allowed filetypes by file-extensions
'allowed_filetypes' => array(
'.jpg', '.png', '.gif'
)
));
...