Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Order Collection Properties UI Extension for Umbraco Commerce
With the use of Properties, Umbraco Commerce allows a lot of flexibility to capture whatever data you need to record against an Order. To complement that functionality, it is also possible to configure those properties to be displayed within the Orders collection view.
Order Collection Properties are defined as manifest entries in your umbraco-package.manifest
.
Each entry must have a type of ucOrderCollectionProperty
along with a unique alias
and name
. An optional forEntityTypes
key can also be defined to control whether the property is visible on the Cart editor, or the Order editor, or both. The forEntityTypes
is an array and can accept either or both of the uc:cart
or uc:order
values.
A meta
entry provides configuration options for the property
propertyAlias
The alias of the order line property to edit
labelUiAlias
The alias of the property editor to use to view this property
align
Can be left
, center
, or right
to control the alignment of the column
When displaying your properties in the backoffice UI it is necessary to provide localizable labels. This is controlled by Umbraco's UI Localization feature.
Umbraco Commerce will automatically look for the following entries:
ucProperties_{alias}Label
A main label for the property used as a column heading
Here {alias}
is the property alias of a property.
UI Extensions for Umbraco Commerce
Umbraco Commerce offers a number of UI extension points, from the ability to add custom quick actions, to adding custom order property editors. These UI extension points are designed to allow you to adjust Umbraco Commerce's behavior to more closely match the requirements of the store owner.
Umbraco Commerce offers the following UI extension points:
Define custom analytics widgets to display in the analytics dashboard
Define quick actions to display in the entity editor
Define properties to be editable in the cart/order editor
Define properties to display in the cart/order collection view
Define order line properties to be editable in the cart/order editor
Define custom menu items to display a store menu
Entity Quick Actions UI Extension for Umbraco Commerce
Entity Quick Actions allow you to display a button directly in the entity editor screen for important actions that require instant access.
Each entry must have a type of ucEntityQuickAction
along with a unique alias
and name
. Unless you wish to override the button, the kind
key should be set to default
. An api
key should be defined that imports the implementation of the UcEntityQuickActionApi
interface.
A meta
entry provides configuration options for quick actions:
entityType
The entity type for which this quick action should be displayed
label
A label for this quick action (supports the #
prefix localization string syntax)
look
Can be primary
for a highlighted button, or secondary
for a more muted button
In order to define the logic to perform when a quick action button is clicked, you'll need to implement the UcEntityQuickActionApi
interface. This interface is defined as
This provides quick action implementations with access to the defined manifest
and expects the implementation of an execute
method to act.
An example implementation would be
Analytics Widgets UI Extension for Umbraco Commerce
Analytics Widgets allow you to display custom charts and reports in the analytics section to track your important KPIs.
Each entry must have a type of ucAnalyticsWidget
along with a unique alias
and name
. An element
key should be defined to import the implementation of the UcAnalyticsWidget
component interface.
A meta
entry provides configuration options for the widget
label
A label for this widget (supports the #
prefix localization string syntax)
description
A description for this widget (supports the #
prefix localization string syntax)
In order to define the UI for a widget, you'll need to define a component that implements the UcAnalyticsWidget
interface. This interface is defined as
This provides widget implementations with access to the current storeId
, the defined manifest
, and the current selected timeframe
for which the widget should show relevant data.
An example implementation would be
When an alternative timeframe is selected from the widget dashboard, all widget's timeframe
properties will be updated to re-fetch and render the widget.
Order Properties UI Extension for Umbraco Commerce
With the use of , Umbraco Commerce allows a lot of flexibility to capture whatever data you need to record against an Order. To complement that functionality, it is also possible to configure those properties to be editable within the backoffice UI.
Order Properties are defined as manifest entries in your .
Each entry must have a type of ucOrderProperty
along with a unique alias
and name
. An optional forEntityTypes
key can also be defined to control whether the property is visible on the Cart editor, or the Order editor, or both. The forEntityTypes
is an array and can accept either or both of uc:cart
or uc:order
values.
A meta
entry provides configuration options for the property
Order properties can be defined as one of the following to control where the property is displayed.
Umbraco Commerce will automatically look for the following entries:
Here {alias}
is the property alias of a property.
Store Menu Item UI Extension for Umbraco Commerce
Store Menu Items allow you to display custom menu items inside a Store tree, either in the Settings or Commerce sections.
Each entry must have a type of ucStoreMenuItem
along with a unique alias
and name
.
A meta
entry provides configuration options for the menu item
Menu items are set to navigate to the following route on click
Here:
{currentSection}
is the current section you are in,
{rootEntityType}
is the entity type of the menu this item is a child of (should be one of uc:store-management
or uc:store-settings
),
{rootUnique}
is the ID of the Store this menu is for, and
{entityType}
is the entity type as defined in the menu items manifest meta data.
To handle requests to this endpoint, you should define a workspace manifest for the given entity type.
Order Line Properties UI Extension for Umbraco Commerce
With the use of , Umbraco Commerce allows a lot of flexibility to capture whatever data you need to record against an Order Line. To complement that functionality, it is also possible to configure those properties to be editable within the backoffice UI.
Order Properties are defined as manifest entries in your .
Each entry must have a type of ucOrderLineProperty
along with a unique alias
and name
. An optional forEntityTypes
key can also be defined to control whether the property is visible on the Cart editor, or the Order editor, or both. The forEntityTypes
is an array and can accept either or both of uc:cart
or uc:order
values.
A meta
entry provides configuration options for the property
Umbraco Commerce will automatically look for the following entries:
Here {alias}
is the property alias of a property.
When displaying your properties in the backoffice UI it is necessary to provide localizable labels. This is controlled by Umbraco's feature.
When displaying your properties in the backoffice UI it is necessary to provide localizable labels. This is controlled by Umbraco's feature.
Uc.OrderPropertyGroup.Customer
Displays the property in the Customer fieldset of the customer details editor modal
Uc.OrderPropertyGroup.Billing
Displays the property in the Billing fieldset of the customer details editor modal
Uc.OrderPropertyGroup.Shipping
Displays the property in the Shipping fieldset of the customer details editor modal
Uc.OrderPropertyGroup.Notes
Displays the property in the Notes section of the Order editor
Uc.OrderPropertyGroup.AdditionalInfo
Displays the property in the Additional Info fieldset of the Order editor
ucProperties_{alias}Label
A main label for the property
ucProperties_{alias}Description
A description for the property
label
A label for this menu item (supports the #
prefix localization string syntax)
icon
An icon to display in the menu item
menus
An array of menu aliases under which this menu items should be added. Can be one or both of Uc.Menu.StoreManagement
or Uc.Menu.StoreSettings
entityType
Defines the entityType
this menu item can handle
childEntityTypes
Defines the entity types of any child menu items to ensure this menu item remains highlighted if the given entity type editor is opened
parentAlias
The alias of another menu item under which this menu item should be displayed
selectable
A boolean defining whether this menu item should be selectable
propertyAlias
The alias of the order line property to edit
readOnly
Set whether the property should be defined as read only and so should be viewable but not editable
showInOrderLineSummary
Set whether the property should display on the orderline summary
summaryStyle
Can be either inline
in which case the property value will be displayed inline with other inline properties below the product name, or table
in which case the property value will be displayed in a table below the product name
editorUiAlias
The alias of the property editor to use to edit this property
editorConfig
A JSON serialized string to pass to the editor UI as config
labelUiAlias
The alias of the property editor to use to view this property
ucProperties_{alias}Label
A main label for the property
ucProperties_{alias}Description
A description for the property
propertyAlias
The alias of the order line property to edit
group
Defines a group in which to display the property
editorUiAlias
The alias of the property editor to use to edit this property
editorConfig
A JSON serialized string to pass to the editor UI as config
labelUiAlias
The alias of the property editor to use to view this property