Download the PHP package melazhari/sulu-builder-bundle without Composer

On this page you can find all versions of the php package melazhari/sulu-builder-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sulu-builder-bundle

SuluBuilderBundle

A production-ready Sulu CMS bundle that adds a "Sulu Builder" top-level item to the Sulu Administration navigation. It lists the XML templates of your project (pages, snippets, … — configurable) and lets you create, edit, import and save them with the embedded builderxml visual builder (drag-and-drop designer with XML generate/import), backed by a JSON admin API with well-formed-XML validation on save.


1. Bundle structure — where each file belongs

(tests/bridge-test.html is a standalone browser test of the postMessage bridge — open it over HTTP and it prints PASS/FAIL lines.)

How the pieces connect:

  1. BuilderAdmin::configureViews() registers the admin route /builder with the view type sulu_builder.builder.
  2. Resources/js/index.js registers the React component under that same key in the viewRegistry — this is how Sulu knows which component to render.
  3. BuilderAdmin::configureNavigationItems() adds the navigation entry pointing at the view.
  4. BuilderAdmin::getConfig() generates the API URLs from the named routes and hands them to the frontend at boot time (initializer.addUpdateConfigHook in Resources/js/index.js) — so the admin prefix (/admin by default) is dynamic, never hard-coded in JavaScript.
  5. The React views call the templates endpoint, handled by TemplateController → TemplateXmlManager.
  6. The editor view embeds Resources/public/builder/index.html (the builderxml app) in an iframe; suluBridge.js inside the app answers sulu-builder:load / sulu-builder:new / sulu-builder:request-xml postMessages, so the same visual builder is used to create, edit and import templates, and Save round-trips through the admin API.

2. Installation

Full step-by-step instructions (composer, bundle registration, routing, frontend build, permissions, troubleshooting) live in INSTALL.md.

Most of the configuration can be done automatically — after composer require, run:

It registers the bundle, auto-detects the admin prefix, creates the routing/config files and adds a relative import of the frontend sources to the admin entry point (no npm linking — use --npm if you prefer a file: dependency). Only npm run build, cache:clear and the permission grant remain manual.

The admin URL prefix is dynamic: the API routes take whatever prefix you choose when importing Resources/config/routing_api.yml (default /admin/api), and the React view receives the resulting URLs at runtime via BuilderAdmin::getConfig(). Projects mounting the Administration on a custom path only adjust the routing prefix.


3. Permissions

The bundle registers the security context sulu.builder.templates under the "Sulu Builder" group. After installation, go to Settings → User roles in the Administration and grant View (and Edit if you want saving) to the relevant roles. The navigation item is hidden for users without the View permission.


4. API

URLs below assume the default /admin/api prefix — they follow whatever prefix your project uses for the routing import.

Method URL Description
GET /admin/api/builder/templates List all templates of all configured types
GET /admin/api/builder/templates/{type}/{key} Get the raw XML content of one template
PUT /admin/api/builder/templates/{type}/{key} Save content: {"content": "<template>…"} — validates well-formed XML

5. Extending

Theming & responsiveness

The view reuses Sulu Admin components (Table, Breadcrumb, Loader, toolbar via withToolbar), so typography, colors, icons and spacing are inherited from the Sulu admin theme. Sulu ≤ 2.6 ships a single (light) theme; because no colors are hard-coded in the components used, a future Sulu dark theme will apply automatically. The layout is fluid and adds reduced padding below 700px.


All versions of sulu-builder-bundle with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2 || ^8.0
sulu/sulu Version ^2.4
symfony/config Version ^5.4 || ^6.0
symfony/dependency-injection Version ^5.4 || ^6.0
symfony/http-foundation Version ^5.4 || ^6.0
symfony/http-kernel Version ^5.4 || ^6.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package melazhari/sulu-builder-bundle contains the following files

Loading the files please wait ...