Products such as publications are ordered via a shopping cart: Setting up product overview page (shop) and individual page, design and configuration of the order form


With the product feature pages, publications, promotional items or subscriptions can be displayed as pages, placed in a shopping cart and combined into one order. Product pages can be keyworded with content categories and appear in page lists that display related content. In addition, a separate category tree can be used to differentiate between product types. An available quantity can also be stored for each product, which is reduced with each order according to the number of pieces. A threshold value can also be defineda , above which the availability status is changed or a message is sent to a specific address. Depending on this, a deliverability status can be issued.


We have created products as pages in TYPO3, because the need for product description can be different for each product, thus providing all options for the use of content objects.

Product pages have these properties:

  • Page title (=product title)*
  • Subtitle (=roof line)
  • Description (=teaser text/subtitle if applicable)
  • a publication date that can only be changed editorially (like article)
  • a product number
  • a free-text field (without richtext but with breaks) for important features, which appears in the order block of the product page.
  • An available quantity
  • A delivery status
    • with a green dot: "Available" / "On stock".
    • with a yellow dot: "Only few available" / "Only few on stock
    • with a red dot: "Will be reordered" / "New delivery expected"
      Products with dark red status have no order button
  • one or more threshold values. This triggers defined actions once when the threshold value has been reached or exceeded with an order. It can be defined per threshold value:
    • Threshold value number
    • whether the delivery status should be set to yellow ("only few on stock")
    • whether a notification should be sent
    • E-mail address of the notification
    • Subject of the notification
    • Text of the notification

Order process: On each product page there is an order button with a uniformly predefined text (by default "Add to Basket"). In front of each order button there is an input field for the order quantity, which is preset with the standard value 1, and next to this there are buttons for increasing or decreasing this value by 1. In addition, in page lists, if these only display products, there is the option of displaying an order button for each product already in the list. If this button is clicked, the product is placed in the shopping basket. For this purpose, a session cookie is set for 24 hours, at the longest until the order is placed. The visitor will see an information field below the page title "[Product name (page title)] has been added to the shopping cart. / "[Product name (page title)] was added to the basket.", a shopping basket symbol with the number of orders placed by the visitor appears as well as two buttons "Zum Warenkorb" / "Show basket" and "Weiter auswählen" / "Continue choosing". The latter leads (when ordering from the product page) to the parent page, when ordering from a list this closes the info field. If you continue choosing, you will always be on the overview page, where you can now see the shopping basket symbol.

On the shopping cart page, the order can be completed with the button "Bestellen" / "Order". Above this, a line is displayed for each order, which contains

  • a thumbnail of the product image
  • the product title
  • the ordered quantity

and an input form for the delivery address:

  • I order (x) privately ( ) commercially

In the case of "private", the following data will also be written to a website visitor record:

  • Salutation | Title
  • First Name | Last name
  • Address
  • Postcode | Town
  • Region/State
  • Country
  • E-mail (for the order confirmation)
  • Phone number (for further inquiries

In the case of "commercial", the following data is also written into an institute record:

  • Company* | Business type
  • Branch/Project, if applicable
  • Address*
  • Postcode* | Town*
  • Region/State
  • Country
    [under the headline: "contact person"]
  • Salutation | Title
  • First name* | Last name
  • E-mail (for the confomation)*
  • Phone number (for further inquiries)

After clicking the button, the data will be displayed again (as on the confirmation page of the event registration) and only after renewed confirmation will the order be placed. The ordered products and the delivery address are saved as an order record under the shopping cart page. There they can be exported as CSV files.

If a personal or institution record with the email address already exists, the data is supplemented or updated. If the address field is already occupied by website visitors, the address, postcode, city, region/state and country are not saved.

The order uses the form system. Optionally, it can only be triggered after confirming a link in the confirmation e-mail (with the double opt-in finihser).

In planning (Prio 2)

Related products
  • References to related products can be set
Chargeable products
  • There can be chargeable products. Additional entries can be made in the properties of the product page:
    • Net price 1* [in cents]
    • Value added tax at price 1* [in percent]
    • Currency price 1 [EUR(Default), USD]
    • Gross price 1 (if not entered here, the value is calculated from net price and VAT)
    • Net price 2
    • Value added tax at price 2
    • Currency Price 2 [EUR(Default), USD]
    • Gross price 2 (if not entered here, the value is calculated from net price and VAT)
    • Bulky goods (yes/no)
    • Weight (enter in whole grams, display in kg)
  • In the shopping basket, the net and gross values are also displayed for the unit price, the total price per product and the total value of the order. In addition, the value added tax is shown for the total price. 
  • When ordering chargeable products, the system creates an invoice as a PDF, this can be sent to the customer or to an address stored in the order form
  • The button on the confirmation page is called "Order with costs".

Any number of variants can be defined. Each variant 

  • must be given a name
  • can have a different value to any of the values listed under products with costs
  • can have a different available quantity, a different status "discontinued product", and a different product number.
  • The settings for the main product also apply to the variants.
  • If an available quantity is entered for a variant, the set threshold value and thus any triggered change in the delivery status also apply to the variant.

Alternatively or in addition to processing payments by invoice, immediate payment by direct debit, credit card or PayPal via Mollie, the payment processor already planned for the donation feature. More information on the conditions and payment features of Mollie here.

From new enquiries:

  • Chargeable events: Here the VA page remains an event page, but in addition there is a product, the "ticket", which can be placed in a shopping basket and paid for like brochures or give-aways. A special feature is that when a purchase is made for each ticket, an invitation code is generated with the data entered for the delivery address for the registration form of the page and a link with the code is sent to the e-mail address of the purchaser. Further event-specific data is entered in the registration form. 

In planning (Prio 3)

  • For products, a boost setting for page lists can be assigned, which causes the publication date of the product to be given (no or) less relevance.A function in the shopping basket suggests rounding up the invoice amount and donating the rounding difference.

This feature is based on the extension:

Has already been used in versions 6,7,8, based on tt_product. New implementation as wwt3_product for versions 10, 11