Present for Craft CMS

Configuration

Present → Settings, or config/present.php.

Show components in the cart

Default: on.

Whether craft.present.cartLineItems() includes the things inside a box. Present never hides a line item from Commerce — the setting only tells your templates what to render. An order the merchant cannot see in full is worse than a slightly noisy cart.

Enforce the stock rollup

Default: on.

Makes a bundle unavailable when its components cannot supply a single box. Off, the bundle stays purchasable and Commerce's own per-purchasable stock validation catches it at the line item instead — later, and with a worse message.

When a box in a cart comes apart

Default: put it back.

Boxes come apart in ordinary use: a cart template that lets a shopper delete any line item, an admin editing a quantity on the order screen, a component that has since been disabled. Present checks every group on every recalculation.

  • Put it back the way it was — component quantities are reset from the container's, and a missing component is re-added from the stored selection.
  • Remove the whole box and say why — the group goes, with an order notice explaining it.

Leaving it alone is not an option, because a half-priced half-box is the one outcome nobody wants.

Deleting the container always removes the whole box whatever this is set to: there is nothing left to repair the contents back into.

Register the builder's CSS and JS

Default: on.

Turn off if you are bundling present-builder.js through your own pipeline.

Money decimal places

Default: 2.

How finely a fixed bundle price is split across its components. Two is right for most currencies; use 0 for yen or won, or the allocator produces prices with fractions no gateway will take.

Config file

<?php

return [
    'showComponentsInCart' => true,
    'enforceStockRollup' => true,
    'brokenGroupBehavior' => 'repair',   // or 'remove'
    'registerBuilderAssets' => true,
    'moneyDecimals' => 2,
];

Permissions

  • Manage bundles — the bundles section and the element editor
  • Use the configurator — the CP configurator (Pro)

Bundle types are admin-only and require allowAdminChanges, because they live in project config.

More in Commerce

Pairs well with Present

For the storefront side of Craft Commerce. Checkout, subscriptions, bundles, loyalty, B2B and the product feeds that bring shoppers in.