dbxapp 4.1.3
CMS, Shop, Workflows und modulare Geschäftsanwendungen
Loading...
Searching...
No Matches
shop-dashboard-tutorial-20260721/job.php
Go to the documentation of this file.
1<?php
8declare(strict_types=1);
9
10$content = file_get_contents(__DIR__ . '/content/shop-dashboard.html');
11$overview = file_get_contents(__DIR__ . '/content/tutorial-overview.html');
12if ($content === false || $overview === false) {
13 throw new RuntimeException('Tutorial-Inhalt konnte nicht geladen werden.');
14}
15
16$media = array(
17 array('shot_overview', '00-overview', 'Shop-Dashboard Übersicht', 'Shop-Dashboard mit sechs Kennzahlen und direkten Einstiegen in alle Arbeitsbereiche', 'Übersicht: offene Vorgänge lesen und den passenden Arbeitsbereich öffnen.'),
18 array('shot_products', '01-produkte', 'Produkte', 'Shop-Produktliste mit Filtern, Bildern, Gruppen, Attributen, Versand und Channels', 'Produkte: Sortiment filtern, Zuordnungen prüfen und Artikel bearbeiten.'),
19 array('shot_orders', '02-bestellungen', 'Bestellungen', 'Shop-Bestellliste mit Kunde, Positionen, Bestellstatus, Zahlungsstatus, Versand und Summe', 'Bestellungen: Bestellung, Zahlung und Versand getrennt kontrollieren.'),
20 array('shot_groups', '03-produktgruppen', 'Produktgruppen', 'Shop-Produktgruppe mit Obergruppe, Mehrwertsteuerklasse, Gruppenbild und Galerieeinstellungen', 'Produktgruppen: gemeinsame Struktur, Steuer- und Darstellungsregeln pflegen.'),
21 array('shot_attributes', '04-attribute', 'Attribute', 'Shop-Attributdefinition mit Gruppe, Key, Titel, Typ, Einheit und Optionen', 'Attribute: strukturierte Produktmerkmale je Produktgruppe definieren.'),
22 array('shot_shipping', '05-versandgruppen', 'Versandgruppen', 'Shop-Versandgruppe mit Versandweg, Lieferzeit, Bruttokosten und Freigrenze', 'Versandgruppen: Lieferweg, Lieferzeit, Kosten und Freigrenze bündeln.'),
23 array('shot_channel_groups', '06-channel-gruppen', 'Channel-Gruppen', 'Shop-Channel-Gruppe mit Beschreibung, Aktivstatus und ausgewählten Verkaufskanälen', 'Channel-Gruppen: Verkaufskanäle als wiederverwendbares Set zuordnen.'),
24 array('shot_channels', '07-channels', 'Channels', 'Shop-Channels mit Plattform, Verbindung, Aktivstatus, Export, Order-Import und Teststatus', 'Channels: internen Shop und externe Plattformverbindungen steuern.'),
25 array('shot_media', '08-shop-medien', 'Shop-Medien', 'Shop-Medienverwaltung mit Artikel, Produktgruppe, Sortierung, Primärbild und zugeordneten Bildern', 'Shop-Medien: CMS-Dateien Artikeln und Produktgruppen zuordnen.'),
26 array('shot_legal', '09-rechtstexte', 'Rechtstexte', 'Shop-Rechtstexte mit CMS-ID, Permalink, Status, Leserechten, Template und Vorschau', 'Rechtstexte: CMS-Daten prüfen, bearbeiten und im Shop kontrollieren.'),
27 array('shot_returns', '10-widerrufe', 'Widerrufe', 'Shop-Widerrufsverwaltung mit Kunde, Nachricht, Status und Bearbeitungsaktionen', 'Widerrufe: Anfrage, Bestand, Erstattung und Abschluss nachvollziehbar bearbeiten.'),
28 array('shot_settings', '11-einstellungen', 'Einstellungen', 'Shop-Einstellungen mit globalen Schaltern für Bestand, Channels, Checkout, Rechtstexte, Mail und Zahlung', 'Einstellungen: globale Regeln für Shop, Steuern, Checkout, Zahlung, Versand und Medien.'),
29);
30
31$steps = array();
32foreach ($media as $item) {
33 [$id, $suffix, $title, $alt, $caption] = $item;
34 $steps[] = array(
35 'id' => $id,
36 'action' => 'media.create_image_variant',
37 'params' => array(
38 'source_file' => 'dbx/modules/dbxKi/work/shop-dashboard-tutorial-20260721/output/shop-dashboard-' . $suffix . '.png',
39 'file_name' => 'tutorial-shop-dashboard-' . $suffix . '.webp',
40 'media_folder' => 'img/gallery',
41 'width' => 1600,
42 'height' => 900,
43 'fit' => 'contain',
44 'quality' => 88,
45 'title' => 'Tutorial Shop-Dashboard – ' . $title,
46 'alt' => $alt,
47 'caption' => $caption,
48 'tags' => 'dbxapp,shop,shop-dashboard,tutorial,screenshot',
49 ),
50 );
51}
52
53$steps[] = array(
54 'id' => 'shop_dashboard_page',
55 'action' => 'page.create',
56 'params' => array(
57 'lng' => 'de',
58 'folder_id' => 15,
59 'title' => 'Tutorial: Shop Dashboard',
60 'seo_title' => 'Tutorial: Shop Dashboard',
61 'permalink' => 'tutorial-shop-dashboard',
62 'description' => 'Alle Kennzahlen und Bereiche des dbxapp Shop-Dashboards: Produkte, Bestellungen, Gruppen, Channels, Medien, Rechtstexte, Widerrufe und Einstellungen.',
63 'keywords' => 'dbxapp, Shop Dashboard, Produkte, Bestellungen, Versand, Channels, Shop Medien, Rechtstexte, Widerrufe, Tutorial',
64 'activ' => 1,
65 'group_read' => '*',
66 'template' => 'c-body1-footer',
67 'hero_template' => 'none',
68 'hero_image_id' => 'none',
69 'gallery_template' => 'image-gallery',
70 'gallery_visible_count' => '1',
71 'gallery_image_size' => 'original',
72 'gallery_lightbox_width' => '100vw',
73 'gallery_overflow' => 'tutorial',
74 'gallery_click_behavior' => 'lightbox',
75 'sorter' => '0125',
76 'content' => trim($content),
77 ),
78);
79
80foreach ($media as $item) {
81 [$id, $suffix, $title, $alt, $caption] = $item;
82 $steps[] = array(
83 'id' => 'assign_' . $id,
84 'action' => 'media.assign',
85 'params' => array(
86 'media_id' => '$ref:' . $id . '.media_id',
87 'content_id' => '$ref:shop_dashboard_page.page_id',
88 'slot' => 'inline',
89 'lng' => 'de',
90 'caption' => $caption,
91 ),
92 );
93}
94
95$steps[] = array(
96 'id' => 'update_tutorial_overview',
97 'action' => 'page.update',
98 'params' => array(
99 'lng' => 'de',
100 'id' => 79,
101 'patch' => array(
102 'content' => trim($overview),
103 'description' => 'dbxapp Tutorials für Login, Admin-Dashboard, dbxContent, dbxKi, Shop-Dashboard, Shop-Administration, Frontend und Workflows.',
104 'keywords' => 'dbxapp, Tutorials, Admin Dashboard, Shop Dashboard, dbxContent, dbxKi, Workflow',
105 ),
106 ),
107);
108
109echo json_encode(
110 array('steps' => $steps),
111 JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
112) . PHP_EOL;
for( $step=0;$step< 1000;$step++) if(($schema['status'] ?? '') !=='finished') $media