Please note that this documentation is for the most recent version of this extension. It may not be relevant for older versions. Related documentation can be found in the documentation directory of the extension.
Human readable URLs
Slug configuration (TYPO3 9.5 upwards)
routeEnhancers:
PageTypeSuffix:
type: PageType
map:
shop.json: 1496773586
ShopProductsPlugin:
type: Extbase
limitToPages:
- 50
extension: Shop
plugin: Products
routes:
- routePath: '/{product_slug}'
_controller: 'Product::show'
_arguments:
product_slug: product
defaultController: 'Product::list'
aspects:
product_slug:
type: PersistedAliasMapper
tableName: tx_shop_domain_model_product
routeFieldName: slug
routeValuePrefix: /
ShopCheckoutPlugin:
type: Extbase
limitToPages:
- 54
extension: Shop
plugin: BasketOrder
routes:
- routePath: '/{checkout_type}'
_controller: 'BasketOrder::checkout'
_arguments:
checkout_type: type
- routePath: '/{checkout_type}/confirm'
_controller: 'BasketOrder::confirmOrder'
_arguments:
checkout_type: type
- routePath: '/{checkout_type}/cancel/{basket_order}'
_controller: 'BasketOrder::cancel'
_arguments:
checkout_type: type
basket_order: basketOrder
- routePath: '/{checkout_type}/callback'
_controller: 'BasketOrder::callback'
_arguments:
checkout_type: type
- routePath: '/{checkout_type}/success/{basket_order}'
_controller: 'BasketOrder::success'
_arguments:
checkout_type: type
basket_order: basketOrder
- routePath: '/{checkout_type}/error/{basket_order}'
_controller: 'BasketOrder::error'
_arguments:
checkout_type: type
basket_order: basketOrder
- routePath: '/success'
_controller: 'BasketOrder::success'
- routePath: '/stripe-callback'
_controller: 'BasketOrder::stripeCallback'
aspects:
checkout_type:
type: StaticValueMapper
map:
on-invoice: onInvoice
pre-payment: prePayment
pay-pal: payPal
pay-pal-plus: payPalPlus
klarna: klarna
stripe: stripe
request: request
basket_order:
type: PersistedAliasMapper
tableName: tx_shop_domain_model_basketorder
routeFieldName: uid
ShopSubscriptionsPlugin:
type: Extbase
limitToPages:
- 52
extension: ShopPro
plugin: Subscriptions
routes:
- routePath: '/stripe-subscription-callback'
_controller: 'Subscription::stripeSubscriptionCallback'
defaultController: 'Subscription::list'
ShopOrderListPlugin:
type: Extbase
limitToPages:
- 48
extension: ShopPro
plugin: BasketOrderList
routes:
- routePath: '/{username}'
_controller: 'BasketOrder::list'
_arguments:
username: frontendUser
defaultController: 'BasketOrder::list'
aspects:
username:
type: PersistedAliasMapper
tableName: fe_users
routeFieldName: username
Realurl configuration
$configuration = [
'fixedPostVars' => [
'shopConfiguration' => [
0 => [
'GETvar' => 'tx_shop_products[action]',
'valueMap' => [
'show' => '',
],
'noMatch' => 'bypass',
],
1 => [
'GETvar' => 'tx_shop_products[controller]',
'valueMap' => [],
'noMatch' => 'bypass',
],
2 => [
'GETvar' => 'tx_shop_products[product]',
'lookUpTable' => [
'table' => 'tx_shop_domain_model_product',
'id_field' => 'uid',
'alias_field' => 'title',
//'alias_field' => "CONCAT(title, '-', sub_title)",
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => [
'strtolower' => 1,
'spaceCharacter' => '-',
],
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'autoUpdate' => 1,
'expireDays' => 180,
],
],
],
17 => 'shopConfiguration',
],
];