A bundle for Sulu CMS that adds useful tools like Content Types (Form Fields) and List Transformers (Visualizations) to the Admin UI.
This bundle combines and modernizes functionality from the former SuluContentTypesBundle and SuluTweaksBundle for Sulu 3.0.
English | 🇩🇪 Deutsch
Detailed documentation for each feature can be found in the docs/ folder:
- Color Select - Color selection with visual preview (List: Type Color, see below)
- Number With Default - Number with support for
default_value - Slider Range - Slider input
- Star Rating - Star rating selection
- DateTime Start / End - Linked date-time pickers with auto end-time, business hours validation and next-slot finder
- DateTime With Default - Date-time picker with
default_valuesupport - Business Hours - Weekly schedule with time slots, breaks and copy function
- Public Holidays - Holiday manager with Nager.Date API integration
- Holiday Dates - Company holidays and closing times
- Single Contact Autocomplete - Single-Contact-Select with autocomplete
- Percent Bar - Percentage bar with many options
- Publish State - Display publication status in a separate column (hidden by default)
- Ghost Locale - Language status in a separate column (hidden by default)
- Type Color - Color display (Form: Color Select, see above)
- Star Rating - Star rating
- Color Dot - Colored circle from hex value
- Status Switcher - Interactive inline status switcher with dropdown with options changing the entity status
- Collapsible Sections - Auto-collapsible XML sections in the Admin UI (hacky)
- AddNewToolbarAction - "New"-Button in Action-Toolbar of an element
Requirement: Sulu CMS 3.0+
composer require manuxi/sulu-admin-extras-bundleAdd to config/bundles.php:
return [
Manuxi\SuluAdminExtrasBundle\SuluAdminExtrasBundle::class => ['all' => true],
];The interactive public_holidays field uses server-side proxy endpoints. Import the bundle routes in config/routes_admin.yaml:
SuluAdminExtrasBundle:
resource: '@SuluAdminExtrasBundle/Resources/config/routes.yaml'This registers /admin/api/public-holidays/countries, /subdivisions/{countryCode}, and /fetch. Without this import the JavaScript field loads but its API requests return 404.
To load the JavaScript components in the Sulu Admin, you must adjust your project's asset configuration.
A) Update assets/admin/package.json
Open the file assets/admin/package.json in your project root. Add or update the dependency to point to the bundle's resources:
{
"dependencies": {
"sulu-admin-extras-bundle": "file:../../vendor/manuxi/sulu-admin-extras-bundle/src/Resources"
}
}B) Update assets/admin/app.js
Open assets/admin/app.js (or index.js) and import the bundle:
import 'sulu-admin-extras-bundle';C) Install & Build Run the following commands to compile the admin assets:
cd assets/admin
npm install
npm run buildOnly one JavaScript bundle should register a given Sulu field key. In particular, do not import the JavaScript of sulu-testimonials-bundle in the same project when this bundle is enabled: both bundles register star_rating and the Sulu Admin will stop after login with:
Error: The key "star_rating" has already been used for another field
Keep sulu-admin-extras-bundle as the sole JavaScript provider for the shared star-rating fields. The TestimonialsBundle can still be installed and used for its server-side routes, controllers, templates, and entities.
You can copy the default configuration file:
cp vendor/manuxi/sulu-admin-extras-bundle/src/Resources/config/default.yaml config/packages/sulu_admin_extras.yamlSee docs for detailed configuration options.