venne/widgets

Venne widgets 组件

dev-master / 3.0.x-dev 2015-03-03 07:22 UTC

This package is auto-updated.

Last update: 2024-08-29 04:08:57 UTC


README

安装

安装Venne/Widgets的最佳方式是使用Composer

composer require venne/widgets:@dev

自动使用

注册widgets

使用标签venne.widget

services:
	myControlFactory:
		class: App\MyControlFactory
		tags: [venne.widget: 'myWidget']

在presenters/controls中使用widgets作为全局组件

class ExamplePresenter extends Nette\Application\UI\Presenter
{
	use Venne\Widgets\WidgetsControlTrait;
}

模板

...
{control myWidget}
...

手动使用

注册一些widgets

$widgetManager = new Venne\Widgets\WidgetManager($systemContainer);
$widgetManager->addWidget('widget1', function() {
	return new MyComponent;
});
$widgetManager->addWidget('widget2', new MyFormFactory);
$widgetManager->addWidget('widget3', 'app.myFormFactory'); // service in system container

创建实例并使用它

if ($widgetManager->hasWidget('widget1')) {
	$widget = $widgetManager->getWidget('widget1');
	$widget->render();
}