CarsDemo

CarsDemo a real-world example of print documents generated with content from the Pimcore demo. They show the integration into Pimcore and usage of an arbitrary data model.

Overview

Project Content DataObjects Content Selection Chapters Single- / Facing Pages
Car List Car Categories from path products/cars or Manufacturer Both
Car Detail Car Categories from path products/cars or Manufacturer Both
Car Sales Label Car Manufacturer or Car Single
Accessory List AccessoryPart Categories from path products/spare parts or Manufacturer Both
Accessory Price List AccessoryPart Categories from path products/spare parts or Manufacturer Both

Content Selection

Car Content

Car DataObject centric print products can be generated for Categories DataObjects from path products/cars or Manufacturer DataObjects. The Pimcore DataObject structures are transformed to a publication tree.

Demo Publications - Cars

Accessory Content

AccessoryPart DataObject centric print products can be generated for Categories DataObjects from path products/spare parts or Manufacturer DataObjects. The Pimcore DataObject structures are transformed to a publication tree.

Demo Publications - Accessory

PimPrint Features

Comprehensive Document update

After generation process PimPrint creates a textbox on first page outside page margins at top left position on a non-printable layer called PimPrint Update-Info. This textbox contains information regarding the generated publication, language, generation timestamp, etc. PimPrint uses this textbox to

PimPrint - Update Info

PimPrint uses this textbox to identity the publication and content generated into the document. When a document with this textbox is opened, or plugin is reloaded, the rendering settings for the current document are automatically preselected. This allows fast content update of a previously generated document.

To try this out, you need a generated demo document, edit content in the Pimcore admin interface, and generate (update) the already generated document. An example use-case would be:

  • (Un)Publish some cars or car variants
  • Edit descriptive texts
  • etc.

Go back to InDesign click the Start Generation button.
This will start a content update of the previously generated document.

After generation is finished, the content in the document will be updated with the current data in the Pimcore database. PimPrint uses the InDesign Articles panel to display comprehensive feedback of the update generation process. Click on Window > Articles to open the Articles panel.

Article Documentation
PimPrint-Deleted Elements that has been removed in the update process.
In addition to the Article a layer with the same name is created and all elements are moved to it. Is set to invisible automatically.
PimPrint-Updated Element content was updated.
PimPrint-Created New created elements.

Changing the Template

The InDesign template file used by CarsDemo renderings can be changed in the Pimcore admin interface.

This is an example use-case how the user can change the used template file manually or changing programmatically depending on the selected content. This basic concept can be used for different szenarios.

Website Settings

Global changes to templates via Website Settings:

Website Setting Documentation
pimPrint_carsDemo_template Changes the template of all renderings except for Car Sales Label
pimPrint_carSalesLabel_template Changes the template of the Car Sales Label rendering

PimPrint Demo - Template Property

Predefined Property

As an example of content-dependent template modification, the predefined property pimPrint_carsDemo_template “PimPrint Category Template” can be assigned to Category DataObject. Renderings for this category use the respective template.

PimPrint Demo - Template Property

Technical note
The InDesign template file can be changed by overwriting the method getTemplate(): \Mds\PimPrint\DemoBundle\Project\CarsDemo\AbstractCarsDemoProject::getTemplate()

Render Modes

PimPrint offers different render modes.

Mode Documentation
Generate Generates or updates elements to position send from server and sets content sent from server.
Update Sets content sent from server in all elements. Leaves element positioning and dimensions untouched. AbstractBox command fits are executed as sent from server..
Update selected Sets content sent from server into selected elements. Leaves element positioning and dimensions untouched. AbstractBox command fits are executed as sent from server.
Generate language variants Generates or updates elements for language variants to position from the master-language and sets content sent from server.
Update language variants Sets content sent from server for language variants in all elements. Leaves element positioning and dimensions untouched. AbstractBox command fits are executed as sent from server.
Generate language variants positions Updates positions for language variants in all elements to the position from the master-language.
Update selected language variants Sets content sent from server for language variants in selected elements. Leaves element positioning and dimensions untouched. AbstractBox command fits are executed as sent from server.
Generate selected language variants positions Updates positions for language variants in selected elements to the position from the master-language.

PimPrint - Update Modes