This PR converts the Checkout structure section, its pages, and its content to individual singles instead. It also adds a custom element source to emphasize that collection of checkout singles.
While the structure’s visual hierarchy is clear and helpful to look at, other structure section features are more problematic than they are helpful:
Reordering items has no effect on the front-end checkout flow.
There’s no point to adding more pages with the existing, specialized entry types. (What would you do with two Address pages that doesn’t require some kind of developer intervention?)
The Cart page isn’t really part of the checkout flow, even though it kind of hangs out with those pages.
The ability to delete entries could be limited with permissions, but Craft doesn’t have the ability to prevent reordering or hide the New entry button for that section.
Existing Structure Section
Cart (/cart)
Checkout (/checkout)
Address (/checkout/address)
Shipping (/checkout/shipping)
Summary (/checkout/summary)
Success (/checkout/success)
Proposed Singles
This PR makes each page in the structure above a single instead, using its title to differentiate sub-pages for the editor even though they’ll continue to exist at the same public URLs:
Cart (/cart)
Checkout (/checkout)
Checkout: Address (/checkout/address)
Checkout: Shipping (/checkout/shipping)
Checkout: Summary (/checkout/summary)
Checkout: Success (/checkout/success)
The custom field layouts are maintained, with the exception of an additional Heading field for the last four pages. This makes it possible to keep the on-page heading the same as the current flow. (And if that field is empty, each layout will fall back to the entry title.)
Description
This PR converts the Checkout structure section, its pages, and its content to individual singles instead. It also adds a custom element source to emphasize that collection of checkout singles.
While the structure’s visual hierarchy is clear and helpful to look at, other structure section features are more problematic than they are helpful:
The ability to delete entries could be limited with permissions, but Craft doesn’t have the ability to prevent reordering or hide the New entry button for that section.
Existing Structure Section
/cart
)/checkout
)/checkout/address
)/checkout/shipping
)/checkout/summary
)/checkout/success
)Proposed Singles
This PR makes each page in the structure above a single instead, using its title to differentiate sub-pages for the editor even though they’ll continue to exist at the same public URLs:
/cart
)/checkout
)/checkout/address
)/checkout/shipping
)/checkout/summary
)/checkout/success
)The custom field layouts are maintained, with the exception of an additional Heading field for the last four pages. This makes it possible to keep the on-page heading the same as the current flow. (And if that field is empty, each layout will fall back to the entry title.)