smirik/taggable-bundle

该软件包最新版本(dev-master)没有可用的许可证信息。

基于taggable行为的symfony标签包

该软件包的官方仓库似乎已不存在,因此该软件包已被冻结。

安装: 551

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 2

开放问题: 2

类型:symfony-bundle

dev-master 2013-06-17 16:40 UTC

This package is not auto-updated.

Last update: 2021-07-09 21:42:03 UTC


README

为symfony 2.1和propel 1.6提供行为和部件

如何安装

  • 添加到composer.json
{
    "require": {
      "smirik/propel-taggable-behavior": "*",
      "smirik/taggable-bundle": "*"
    }
}
  • 在您的 AppKernel 类中启用插件

app/AppKernel.php

class AppKernel extends AppKernel
{
    public function registerBundles()
    {
        $bundles = array(
        	...
        	new Smirik\TaggableBundle\SmirikTaggableBundle(),
        	...
        );
    }
}
  • taggable 行为添加到 propel.ini 或 config.yml(构建属性)

config/schema.xml

<table name="articles" phpName="Article">
    <behavior name="taggable" />
    <column name="id" type="integer" primaryKey="true" autoIncrement="true"/>
    <column name="title" type="varchar" size="255" />
    <!-- ... -->
</table>
  • 重建您的模型
php app/console propel:build
  • 作为表单中的部件
namespace Acme\GalleryBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

class GalleryType extends AbstractType
{
	public function getDefaultOptions(array $options)
	{
		return array(
			'data_class' => 'Glorpen\GalleryBundle\Model\Gallery',
		);
	}

	public function buildForm(FormBuilder $builder, array $options)
	{
		$builder->add('title', 'text', array('label'=>'Title'));
		$builder->add('tags', 'tags', array('label' => 'Tags', 'defaultText'=>'add tag', 'class' => 'YOUR_TAG_CLASS_WITH_NAMESPACE'));
	}

	public function getName(){
		return 'gallery';
	}

}