Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

v5.5

...

 

...

...

Info
titleMehr Informationen zu wizards

Produktanforderung: /wiki/spaces/PE/pages/24814394

Wizards

Neue Wizards können in jedem Plugin im Verzeichnis /wizard angelegt werden, wurde bisher jedoch nur priorisiert in den collections. Nun wird ein weiterer Ordner angelegt, welcher den Identifier des Wizards angesehen wird (vergleichbar wie eine Gruppe in der sich mehrere Wizards befinden können). Hier können die einzelnen wizards angelegt werden (im json-Format). Jeder wizard in diesem Ordner wird nun auf einer Wizard-Liste dargestellt, wenn der Identifier in einer dashboard.json eingetragen wird. Folglich ein Beispiel einen dashboard.json Eintrags:

...

languagephp
themeRDark

...

Wizards bieten die Möglichkeit Datensätze in einem geführten Prozess zu bearbeiten. Um das zu ermöglichen können Wizards in jeder App im Verzeichnis resources/wizards angelegt werden. Ein Wizards besteht aus einer JSON-Datei (siehe nachfolgendes Beispiel).

Codeblock
languagejava
{
  "name": {
    "de": "NAME DES WIZARDS",
    "en": "NAME DES WIZARDS"
  },
    "targeticon": "blankfa-sharp fa-light fa-vial",
    "hrefsteps": "",[
    {
"attributes": {     "data-requestrepository": "base/wizard.list/available&identifier=IDENTIFIER"
ShopGroup",
 },     "hasRighthandler": "base/wizard.list/available"EntityList",
   } ]

Preset

Presets sind strukturiert in <root>/<repositories>. Darin liegen die einzelnen repositories mit deren Datensätzen benannt nach deren entity-Feldern. Folglich könnte ein preset für eine einzige Shop-Gruppe aussehen:

Codeblock
languagephp
themeRDark
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <repositories>
    <repository name="shopGroup">:  {
    <entity reference="1">         <column name="idde">1</column>
        <column name="shopGroupActive">1</column>
        <column name="shopGroupVisibilityMainMenu">1</column>
        <column name="shopGroupVisibilityHome">1</column>
        <column name="shopGroupVisibilitySidebar">1</column>
        <column name="shopGroupName">Befestigung</column>
        <column name="shopGroupShortText"/>
        <column name="shopGroupDescription"><![CDATA[<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. </p>]]>        </column>
        <column name="shopGroupImage">plugin/remote/bundle/shop/images/eyecatcher/shutterstock_670360852.jpg</column>
        <column name="sortNumber">1</column>
        <column name="shopGroupArticleFinderConfigID">0</column>
        <column name="shopGroupMetaTitle"/>
        <column name="shopGroupMetaKeywords"/>
        <column name="shopGroupMetaDescription"/>
        <column name="shopGroupMetaRobots"/>
      </entity>
    </repository>
  </repositories>
</root>

Mit der entity-reference können Verknüpfen gemacht werden. Hat man zusätzlich zur Gruppe mit der reference 1 noch einen Artikel mit der reference 2, können diese als <relation> angegeben werden. So würde das aussehen:

Codeblock
languagephp
themeRDark
<relations>
  <relation from="1" to="2"/>
</relations>

Der Wizard liest presets aus und importiert dessen Daten. Im wizards können preset importiert werden, indem man als handler "presetList" angibt und in dessen "configuration" den Pfad dieser Datei. Relations gibt man in der "configuration" als "forceRelation" (array) an. Will man z.B. Artikelgruppen mit Artikel verknüpfen, schreibt man beide Tabellen-Identifier in die "forceRelations". Mehr Informationen zu den Handlern auf der /wiki/spaces/PE/pages/24814394.

Codeblock
languagephp
themeRDark
"repository": "shopGroup",
"handler": "presetList",
"name": {
  "de": "Artikelgruppen",
  "en": "article groups"
},
"configuration": {
  "file": "plugin/remote/bundle/shop/presets/presetExampleArticles.xml",
  "allowMultiple": true,
  "systemStep": true,
  "forceRelations": [
    "shopGroup",
    "shopArticle"
  ]
}: "Step 1",
        "en": "Step 1"
      },
      "configuration": {
        "allowMultiple": true,
        "allowEmpty": true
      }
    }
  ]
}

Der Wizard ist bspw. im Mulit-Kontextmenü einer Datensatzliste erreichbar. Dort kann man Datensätze nacheinander bearbeiten. Es ist möglich diese Konfigurationsdateien für Teilprozesse dynamish zu schreiben und dadurch anschließend im geführten Prozess zu nutzen.

Handler

Der Wizard liest Presets aus und importiert dessen Daten. Der Wizards stellt unterschiedliche Handler zur Verfügung, sodass sich unterschiedliche Anforderungen erfüllen lassen. Folgende Handler stehen zur Verfügung:

  • EntityList

  • EntityForm

EntityList

Verwenden Sie diesen Handler, um Datentabellen zu verarbeiten.

EntityForm

Verwenden Sie diesen Handler, um einen Datensatz (aus einem Preset oder einer Datentabelle) nach Auswahl zu bearbeiten.