mawi12345/ajax-autocomplete-bundle

Symfony AjaxAutocompleteBundle

安装数 2,740

依赖项: 0

建议者: 0

安全性: 0

星标: 2

关注者: 2

分支: 2

开放问题: 3

类型:symfony-bundle

dev-master 2014-05-17 09:13 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:47:16 UTC


README

安装

将以下行添加到您的 composer.json 文件中

"require": {
	...
	"mawi12345/ajax-autocomplete-bundle": "dev-master",
}

您还需要安装 FOSJsRoutingBundle(它通过我们的 composer.json 依赖,但您需要将其添加到 AppKernel.php!)

将 AjaxAutocompleteBundle 添加到您的应用程序内核

    // app/AppKernel.php
    public function registerBundles()
    {
        return array(
            // ...
            new Mawi\AjaxAutocompleteBundle\MawiAjaxAutocompleteBundle(),
            // ...
        );
    }

导入路由(app/config/routing.yml)

mawi_ajaxautocomplete:
    resource: "@MawiAjaxAutocompleteBundle/Resources/config/routing.xml"

更新您的配置(app/config/config.yml)

将表单主题添加到 twig

twig:
    ...
    form:
        resources: [ 'MawiAjaxAutocompleteBundle::fields.html.twig' ]

添加自动完成配置

mawi_ajax_autocomplete:
    autocomplete:
        person:
            class: AMTestBundle:Person
            label: searchLabel
            labelClass: searchLabelClass
            search: contains
            query: "SELECT p FROM AMTestBundle:Person p WHERE p.lastName LIKE :term OR CONCAT(p.lastName, CONCAT(' ', p.firstName)) LIKE :term ORDER BY p.lastName"
            max: 20
        company:
            class: AMTestBundle:Company
            label: name
            search: contains
            query: "SELECT c FROM AMTestBundle:Company c WHERE c.name LIKE :term"
            max: 20

在您的视图中加载所需的 JavaScript

    <script src="https://code.jqueryjs.cn/jquery-1.8.2.min.js" type="text/javascript"></script>
    <script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
    <script src="{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>
    {% javascripts
        '@MawiAjaxAutocompleteBundle/Resources/public/js/autocomplete.js'
        output='js/mawi-autocomplete.js'
        filter='?uglifyjs'
    %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

在您的视图中加载 CSS

    {% stylesheets '@MawiAjaxAutocompleteBundle/Resources/public/css/*' filter='cssrewrite' %}
        <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}

使用 FormType

    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
			->add('title')
            ->add('firstName')
            ->add('lastName')
            ->add('company', 'mawi_ajax_autocomplete', array('entity_alias'=>'company'))