Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Select2 Bundle

Select2 Bundle Laravel Package

pinano/select2-bundle

Symfony2 bundle that packages Select2 (v4.0.3) assets for easy use in Twig/Assetic. Install via Composer, register the bundle, run assets:install, then include select2 JS/CSS plus optional i18n locale files.

View on GitHub
Deep Wiki
Context7

Symfony2 bundle for wrapping the famous select2 jquery plugin by @ivaynberg

Frequently asked questions about Select2 Bundle
Can I use this bundle in Laravel instead of Symfony2?
No, this bundle is specifically designed for Symfony2 and relies on its bundle architecture, Twig templating, and assets system. Laravel projects would need a custom adapter (e.g., Laravel Mix for assets, a service provider for configuration) or a standalone Select2 integration via npm/yarn.
What Laravel alternatives exist for Select2 integration?
For Laravel, consider packages like `laravel-select2` (Composer) or standalone npm/yarn installations of Select2. Laravel Mix or Vite can bundle Select2 assets directly. Alternatives include `laravel-admin` (which includes Select2) or custom implementations using Laravel’s Blade directives.
Does this bundle support Symfony 3/4/5/6, or only Symfony2?
This bundle is hardcoded for Symfony2 and may conflict with newer Symfony versions (e.g., autowiring, Flex, or updated Twig/Doctrine). For Symfony 3+, you’d need to fork the bundle or wrap it in a custom bundle using Symfony’s `Bundle` base class, which isn’t officially supported.
How do I integrate Select2 with Symfony’s FormBuilder (e.g., EntityType or ChoiceType)?
The bundle doesn’t explicitly document FormBuilder integration, but you can manually apply Select2 to rendered `<select>` elements using JavaScript: `$('select').select2()`. For Twig, extend form themes or use custom form types. Example: `{{ form_widget(form.field, {'attr': {'class': 'select2'}}) }}` followed by `$('.select2').select2()`.
What jQuery version does this bundle require, and is it compatible with modern projects?
The bundle requires jQuery 1.x–3.x. If your project uses jQuery 3+, test for compatibility, but avoid jQuery 1.x due to security risks. Modern projects using ES modules or non-jQuery frontends (e.g., Vue/React) will need to manually include jQuery or use a different solution like Alpine.js for dropdowns.
How do I update Select2 to a newer version (e.g., 4.1.x) with this bundle?
This bundle is locked to Select2 4.0.3. To upgrade, fork the repository, replace the bundled assets (JS/CSS) with newer versions from [Select2’s CDN](https://select2.org/) or npm, and update the Twig/Assetic paths. Alternatively, use a standalone npm/yarn installation of Select2 for easier updates.
Can I use Webpack Encore or Vite instead of Symfony’s `assets:install` for asset management?
No, this bundle relies on Symfony’s assets system (`assets:install`). For Webpack Encore or Vite, you’d need to manually copy the Select2 assets (from `node_modules/select2` or a CDN) into your `resources/assets` folder and configure your build tool to process them. The bundle doesn’t provide Webpack/Vite presets.
Are there any known security risks with Select2 4.0.3 or the bundled jQuery?
Select2 4.0.3 (2017) and older jQuery versions (e.g., 1.x–2.x) may have unpatched vulnerabilities. Check [Select2’s security advisories](https://github.com/select2/select2/security/advisories) and [jQuery’s release notes](https://jquery.com/download/) for risks. For production, consider upgrading Select2 via npm or using a CDN with a newer version.
How do I add multilingual support (e.g., Spanish, French) to Select2 in Twig?
Include the locale file after `select2.min.js` in your Twig template. Example: `{% javascripts '@PinanoSelect2Bundle/Resources/public/js/select2.min.js' '@PinanoSelect2Bundle/Resources/public/js/i18n/es.js' %}`. The bundle provides `i18n/` files for common languages. Ensure the locale file is loaded *after* the main Select2 script.
What’s the best way to test this bundle in a Symfony2 project?
Test by rendering a form with `EntityType` or `ChoiceType` fields, then verify Select2 enhances the `<select>` elements. Use PHPUnit to check Twig templates render correctly with the bundle’s assets. Test edge cases like empty selections, dynamic updates (e.g., AJAX), and locale switching. Mock jQuery if needed for isolated tests.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor