fritak/nette-dynamic-loader
最新稳定版本:1.2.2
Composer 安装命令:
composer require fritak/nette-dynamic-loader
包简介
Dynamic loader for nette, using bower.
README 文档
README
This is a dummy dynamic loader for nette.
##Getting started
- Download all plugins via bower, install in PATH: PLUGIN_NAME/css and PLUGIN_NAME/js (Unfortunately, there is currently no other path possible) You can do it nicely with Bower installer (bower.json):
"dependencies": { "jquery": "~2.1.3", "jquery-ui": "~1.11.4", "bootstrap": "~3.3.4", }, "install": { "path": { "css": "plugins/{name}/css", "js": "plugins/{name}/js", "/[sc|le]ss$/": "plugins/{name}/css", "eot": "plugins/{name}/fonts", "svg": "plugins/{name}/fonts", "ttf": "plugins/{name}/fonts", "woff": "plugins/{name}/fonts", "woff2": "plugins/{name}/fonts", "otf": "plugins/{name}/fonts", "png": "plugins/{name}/css/images" }
- Prefered install method is via composer
composer require fritak/nette-dynamic-loader
- Register at config.neon with parameters a for caching
parameters:
loader:
bowerJson: '/var/www/bower.json' # Path to your bower file
pluginPath: '/var/www/plugins/' # Path to installed plugins (see item 0)
services:
- DynamicLoader\Loader(%loader%, @cacheStorage)
- Create component (eg. in BasePresenter)
use DynamicLoader\Loader; public function createComponentHeadLoader() { $component = clone $this->context->getByType('DynamicLoader\Loader'); $component->renderPosition = Loader::POSITION_HEAD; return $component; } public function createComponentBottomLoader() { $component = clone $this->context->getByType('DynamicLoader\Loader'); $component->renderPosition = Loader::POSITION_BOTT; return $component; }
- Add control to a template (eg. @layout)
{control dynamicLoader}
- And that's it! You can control it with following config:
parameters:
loader:
defaultCSS: DynamicLoader\Loader::POSITION_HEAD #Defaut CSS position
defaultJS: DynamicLoader\Loader::POSITION_BOTT #Defaut JS position
renderAll: 1 # Render ALL added plugins
bowerJson: '/var/project/www/bower.json' # Path to your bower file
basePath: '/project/www' # If you have different basePath than is default
pluginPath: '/var/project/www/plugins/' # Path to installed plugins (see item 0)
disableBar: 1 # You can disable debug bar
positionsHead: # You can set plugins positions in HEAD OR BOTT directly:
- 'bootstrap.min.css'
positionsBott:
- 'bootstrap.min.js'
- You can set default plugins global
defaultPlugins:
- 'jquery'
- 'jquery-ui'
- 'bootstrap'
- Or in groups. But then you have to set GROUP to a component.
defaultPlugins:
front:
- 'jquery'
backEnd:
- 'jquery'
- 'jquery-ui'
- 'bootstrap'
- If you set defaultPlugins, others won't be loaded. So you have to set them manually in presenters (eg. in HomepagePresenter):
public function __construct() { $this->enablePlugins = ['jquery-ui']; parent::__construct(); }
- And edit basePresenter:
public $enablePlugins = []; public function createComponentHeadLoader() { $component = clone $this->context->getByType('\DynamicLoader\Loader'); $component->renderPosition = Loader::POSITION_HEAD; $component->enablePlugins = $this->enablePlugins; $component->group = 'front'; return $component; } public function createComponentBottomLoader() { $component = clone $this->context->getByType('\DynamicLoader\Loader'); $component->renderPosition = Loader::POSITION_BOTT; $component->enablePlugins = $this->enablePlugins; $component->group = 'front'; return $component; }
Links
统计信息
- 总下载量: 40
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-03-30