docs: add a user guide for the brand plugin - #15
Merged
Merged
Conversation
Generated with documentation-maker against a running Sylius test application (fixtures loaded, feature enabled, brand attribute and mapping configured, then `madcoders:brand:resync-products` run to attach 23 products across four brands), then reviewed and corrected. Four feature pages - the Brands grid and form, the Brands settings section, the shop surfaces, and the resync command - plus four walkthroughs. Every walkthrough was replayed against the running store and passes, so the steps and their screenshots are verified rather than described from the source. Scope is the plugin only. Stock Sylius screens are out, and installation stays in docs/INSTALLATION.md, which the guide links to instead of duplicating. `/docs/user-guide` is export-ignored. Shipping `docs/` in the package is what puts the installation instructions in vendor/, but the guide carries 8 MB of screenshots that have no business in every `composer require`; the README, the installation guide and the ADR log still ship. Two things caught during review rather than shipped: - The first capture pass produced unusable screenshots - unstyled, one of them 61752px tall - because the app was served with `php -S ... public/index.php`, which routes every request through the front controller and 404s the CSS under /build. Re-captured through the Symfony CLI at a 1440x1000 viewport. - The product-page brand badge was initially documented as absent, because no product in the first crawl resolved to a brand. It is present; the guide now shows it on a product whose brand has the product-page toggle on. Also `.documentation-maker.ini` and `.documentation-maker/` are gitignored, so the local base URL and the crawl artefacts stay out of the repository.
This was referenced Sep 2, 2026
Contributor
Author
|
On hold at the author's request, and it now needs a refresh before merging. Retargeted from #16 changes two things this guide describes:
The demo fixtures also moved out of Sylius' Refreshing means re-running the crawl against a shop built with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
End-user documentation for the plugin, under
docs/user-guide/.Stacked on #14 so this diff shows only the docs. GitHub will retarget it to
1.0when #14 merges.What is in it
README.mdfeatures/managing-brands.mdfeatures/brand-settings.mdfeatures/brands-in-the-shop.mdfeatures/resyncing-product-brands.mdmadcoders:brand:resync-products, its options, and the two admin surfaces for checking how a product resolvedjourneys/*.mdScope is the plugin only - stock Sylius screens are out. Installation is not duplicated; the guide links to
docs/INSTALLATION.md.The walkthroughs are verified, not described
Each one was replayed against a running Sylius test application by
dm-journey, which screenshots every step. All four pass withbrokenAt: null. The store was a real one: fixtures loaded, the feature enabled, a brand attribute and mapping configured, thenbin/console madcoders:brand:resync-productsrun to attach 23 products across four brands./docs/user-guideis export-ignored#14 makes
docs/ship in the package, which is what puts the installation instructions invendor/. This guide carries 8 MB of screenshots that have no business in everycomposer require, so the directory is excluded.README.md,docs/INSTALLATION.mdand the ADR log still ship.Two problems caught during review
Worth recording, because both would have shipped documentation that was wrong rather than merely thin.
Every screenshot in the first pass was unstyled - raw text in one very long column, one image 2880 x 61752 px. The cause was the web server, not missing assets: the app was being served with
php -S ... public/index.php, which routes every request through the front controller, so/build/**CSS returned 404. Re-served through the Symfony CLI (CSS now 200) and re-captured at a 1440x1000 viewport at 1x scale instead of full-page at 2x.The product-page brand badge was first documented as absent. No product in the original crawl resolved to a brand, so there was no evidence for it. It works:
/en_US/products/celestial-harmony-t-shirtresolves to the Sylius brand, whose Display on the product page toggle is on, and rendersBrand: Syliuslinking to/en_US/brands/sylius. The walkthrough now shows the badge and asserts its text as a journey step.Known limits
config/grids/admin/brand.yamlandconfig/grids/admin/product.yamlrather than from a screenshot.en_USis documented, matching the single shipped translation catalogue.All 59 internal links and image paths were verified to resolve on disk.