nvbooster / phpcr-assets-bundle
使用PHPCR Storage存储和提供js、css资源的Bundle
dev-master / dev-master
2016-03-20 05:11 UTC
Requires
- php: >=5.3.3
- symfony-cmf/core-bundle: ~1.0
- symfony-cmf/routing-auto-bundle: ~1.0
- symfony/assetic-bundle: ~2.3
- symfony/framework-bundle: ~2.3
This package is not auto-updated.
Last update: 2020-06-10 04:01:08 UTC
README
使用PHPCR Storage存储和提供js、css资源的Bundle。
安装
将其包含在您的composer.json文件中
"nvbooster/phpcr-assets-bundle": "dev-master"
或运行
composer require nvbooster/phpcr-assets-bundle-master
确保CmfRoutingAutoBundle已安装并配置,请参阅https://github.com/symfony-cmf/RoutingAutoBundle
然后添加PHPCRAssetsBundle到您的AppKernel
public function registerBundles() { $bundles = array( ... new NVBooster\PHPCRAssetsBundle\NVBoosterPHPCRAssetsBundle(), ); }
配置
基本功能无需配置;
SonataAdmin集成
要使用SonataAdmin管理资源,请将管理服务添加到sonata配置中
sonata_admin: dashboard: groups: ... assets: label: Assets items: - nvbooster_assets.js_asset_admin - nvbooster_assets.css_asset_admin sonata_doctrine_phpcr_admin: document_tree: ... NVBooster\PHPCRAssetsBundle\Asset\JsAsset: valid_children: [] NVBooster\PHPCRAssetsBundle\Asset\CssAsset: valid_children: []
CodeMirror集成
要在SonataAdmin中编辑资源使用CodeMirror库,请在配置中添加codemirror部分
nvbooster_assets: codemirror: ~
如果您希望Bundle在需要时自动包含CodeMirror的js和css文件,则应提供路径(见完整配置)。
完整配置
nvbooster_assets: phpcr: root_path: '/cms/assets' #Defines path in PHPCR tree for assets to store in filters: css: [] #Default assetics filters for css assets js: [] #Default assetics filters for js assets routing: base_uri: assets #Defines base uri for routes generated codemirror: paths: js: ~ #Path for codemirror.js in web folder css: ~ #Path for codemirror.css in web folder modes_dir: ~ #Path for codemirror modes directory in web folder themes_dir: ~ #Path for codemirror theme styles in web folder options: #Codemirror widget defaults mode: xml #Default mode theme: eclipse #Default theme
使用
配置后,运行仓库初始化器以在PHPCR存储中创建所有必需的路径
php app/console doctrine:phpcr:repository:init
在模板中包含资源
<link rel="stylesheet" href="{{ url(css_asset) }}"/> <script type="text/javascript" src="{{ url(js_asset) }}"></script>
或其他方式。