{"id":55000273,"date":"2021-12-01T00:00:00","date_gmt":"2022-03-31T21:33:13","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=273"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Seminarverwaltung_IVa_Kunden_und_Seminare","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Seminarverwaltung_IVa_Kunden_und_Seminare\/","title":{"rendered":"Seminarverwaltung IVa: Kunden und Seminare"},"content":{"rendered":"<p><b>Die Arbeit mit der Seminarverwaltung startet an dem Punkt, wo wir die online eingegangenen Bestellungen einlesen und in der Seminarverwaltung Kunden und Bestellungen in Kunden und Seminarteilnahmen umwandeln. Dazu ben&ouml;tigen wir eine M&ouml;glichkeit, die online erfolgten Bestellungen in die Anwendung einzulesen &#8211; siehe Artikel &#8220;Seminarverwaltung VI: Daten vom Shopsystem&#8221;. Au&szlig;erdem wollen wir in diesem Artikel zeigen, wie Sie die Kunden und die Seminarteilnahmen verwalten k&ouml;nnen. Hier kann es auch vorkommen, dass ein Kunde auf einem anderen Wege als im Onlineshop bestellt &#8211; daher ben&ouml;tigen wir M&ouml;glichkeit zum Anlegen von Kunden und Seminarteilnahmen &uuml;ber die Benutzeroberfl&auml;che.<\/b><\/p>\n<p>Wir haben diesen Artikel gegen&uuml;ber der urspr&uuml;nglichen Planung dreigeteilt. Den ersten Teil finden Sie hier vor, den zweiten und dritten Teil beschreiben wir gleich im Anschluss. In diesem Teil der Artikelreihe zeigen wir, wie Sie die Seiten zum Verwalten von Kunden und Seminaren und der Zuordnung von Kunden zu Seminaren und umgekehrt realisieren k&ouml;nnen. Dazu legen wir jeweils <b>Page<\/b>-Elemente an, und zwar die folgenden:<\/p>\n<ul>\n<li><b>KundenUebersicht.xaml<\/b>: Diese Seite zeigt eine Liste aller Kunden an und bietet die M&ouml;glichkeit, die Kunden nach verschiedenen Kriterien zu durchsuchen. Au&szlig;erdem enth&auml;lt sie Schaltfl&auml;chen zum Anlegen neuer Kunden, zum L&ouml;schen von Kunden und zum Bearbeiten eines Kunden.<\/li>\n<li><b>Kundendetails.xaml<\/b>: Diese Seite zeigt die Details zu einem Kunden an. Dazu geh&ouml;ren neben den Daten der Tabelle <b>tblKunden <\/b>auch die von diesem Kunden gebuchten Seminare. Die Seite soll auch die M&ouml;glichkeit bieten, Seminare zum Kunden hinzuzuf&uuml;gen oder zu entfernen.<\/li>\n<\/ul>\n<p>In der ersten Fortsetzung dieses Artikels namens <b>Seminarverwaltung IVb: Kunden und Seminare <\/b>(<b>www.datenbankentwickler.net\/294<\/b>) schauen wir uns die Seiten zur Darstellung der Seminare in der &Uuml;bersicht und in der Einzelansicht an. Die dort beschriebenen Seiten lauten:<\/p>\n<ul>\n<li><b>SeminareUebersicht.xaml<\/b>: Die &Uuml;bersichtsseite f&uuml;r die Seminare soll eine Liste aller Seminare anzeigen. Hier soll der Benutzer eine Suchfunktion vorfinden sowie Schaltfl&auml;chen zum Anlegen neuer Seminare und zum Bearbeiten oder L&ouml;schen von Seminaren.<\/li>\n<li><b>Seminardetails.xaml<\/b>: Die Detailseite eines Seminars zeigt neben den Details des Seminars auch eine Liste der Kunden an, die dieses Seminar gebucht haben. Sie k&ouml;nnen hier manuell Kunden hinzuf&uuml;gen oder aus der Liste der Teilnehmer entfernen. Au&szlig;erdem finden Sie hier Funktionen, um den Kunden Informationen zum Seminar zuzusenden &#8211; beispielsweise E-Mails mit dem Link zur Teams-Sitzung, in der das Seminar stattfindet, oder f&uuml;r die Aufzeichnung des Seminars.<\/li>\n<\/ul>\n<p>Schlie&szlig;lich folgt noch der dritte Teil, den wir <b>Seminarverwaltung IVc: Kunden und Seminare <\/b>(<b>www.datenbankentwickler.net\/295<\/b>) genannt haben. In diesem beschreiben wir, wie wir den in den ersten beiden Teilen erl&auml;uterten Seiten noch die Elemente hinzuf&uuml;gen, mit denen Sie die Zuordnung von Kunden zu Seminaren verwalten k&ouml;nnen.<\/p>\n<h2>Die Kunden&uuml;bersicht<\/h2>\n<p>Die Kunden&uuml;bersicht soll alle Kunden in einem <b>ListView<\/b>-Steuerelement anzeigen. Au&szlig;erdem wollen wir folgende Funktionen bereitstellen:<\/p>\n<ul>\n<li>&Ouml;ffnen der Details zu einem Kunden per Doppelklick auf den jeweiligen Eintrag<\/li>\n<li>&Ouml;ffnen der Details zu einem Kunden durch Auswahl und anschlie&szlig;endes Bet&auml;tigen der <b>Bearbeiten<\/b>-Schaltfl&auml;che<\/li>\n<li>L&ouml;schen des aktuell markierten Kunden per Schaltfl&auml;che<\/li>\n<li>Anlegen eines neuen Kunden per Schaltfl&auml;che<\/li>\n<li>Suche nach Kunden &uuml;ber den Vornamen und den Nachnamen<\/li>\n<\/ul>\n<p>Der Entwurf dieser Seite namens <b>Kundendetails.xaml <\/b>sieht wie in Bild 1 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_06\/pic_273_001.png\" alt=\"Entwurf der Seite zur Anzeige der Kunden&uuml;bersicht\" width=\"700\" height=\"194,6795\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Entwurf der Seite zur Anzeige der Kunden&uuml;bersicht<\/span><\/b><\/p>\n<p>Im XAML-Code haben wir ein Grid definiert, das drei Zeilen aufnimmt. Die erste enth&auml;lt ein StackPanel mit den Suchfeldern, die zweite das <b>ListView<\/b>-Steuerelement und die dritte die Steuerelemente zum Verwalten der angezeigten Kunden:<\/p>\n<pre>&lt;Page x:Class=\"KundenUebersicht\" ... Title=\"KundenUebersicht\"&gt;\r\n     ...\r\n     &lt;Grid&gt;\r\n         &lt;Grid.RowDefinitions&gt;\r\n             &lt;RowDefinition Height=\"Auto\"&gt;&lt;\/RowDefinition&gt;\r\n             &lt;RowDefinition Height=\"*\"&gt;&lt;\/RowDefinition&gt;\r\n             &lt;RowDefinition Height=\"Auto\"&gt;&lt;\/RowDefinition&gt;\r\n         &lt;\/Grid.RowDefinitions&gt;<\/pre>\n<p>Das StackPanel f&uuml;r die Suche definieren wir mit zwei Textfeldern zur Eingabe von Vorname und\/oder Nachname und einer Schaltfl&auml;che zum Ausf&uuml;hren der Suche:<\/p>\n<pre>         &lt;StackPanel Orientation=\"Horizontal\"&gt;\r\n             &lt;Label&gt;Vorname:&lt;\/Label&gt;\r\n             &lt;TextBox x:Name=\"txtSucheVorname\" Width=\"100\"&gt;&lt;\/TextBox&gt;\r\n             &lt;Label&gt;Nachname:&lt;\/Label&gt;\r\n             &lt;TextBox x:Name=\"txtSucheNachname\" Width=\"100\"&gt;&lt;\/TextBox&gt;\r\n             &lt;Button x:Name=\"btnSuchen\" Click=\"btnSuchen_Click\"&gt;\r\n                 &lt;StackPanel Orientation=\"Horizontal\"&gt;\r\n                     &lt;Image Source=\"images\/find_text.png\" Width=\"24\" Height=\"24\"&gt;&lt;\/Image&gt;\r\n                 &lt;\/StackPanel&gt;\r\n             &lt;\/Button&gt;\r\n         &lt;\/StackPanel&gt;<\/pre>\n<p>Das <b>ListView<\/b>-Steuerelement namens <b>lvwKunden <\/b>ist an die Auflistung <b>Kunden <\/b>aus dem Code behind-Modul gebunden. Es erlaubt das Ausw&auml;hlen jeweils eines Elements und bei einem Doppelklick soll eine Ereignismethode ausgel&ouml;st werden. Die einzelnen anzuzeigenden Spalten definieren wir mit <b>GridViewColumn<\/b>-Elementen:<\/p>\n<pre>         &lt;ListView x:Name=\"lvwKunden\" Grid.Row=\"1\" ItemsSource=\"{Binding Kunden}\" SelectionMode=\"Single\"                  MouseDoubleClick=\"lvwKunden_MouseDoubleClick\"&gt;\r\n             &lt;ListView.View&gt;\r\n                 &lt;GridView&gt;\r\n                     &lt;GridViewColumn Header=\"ID\" DisplayMemberBinding=\"{Binding ID}\" \/&gt;\r\n                     &lt;GridViewColumn Header=\"Firma\" DisplayMemberBinding=\"{Binding Firma}\" \/&gt;\r\n                     &lt;GridViewColumn Header=\"Vorname\" DisplayMemberBinding=\"{Binding Vorname}\" \/&gt;\r\n                     &lt;GridViewColumn Header=\"Nachname\" DisplayMemberBinding=\"{Binding Nachname}\" \/&gt;\r\n                     &lt;GridViewColumn Header=\"Stra&szlig;e\" DisplayMemberBinding=\"{Binding Strasse}\" \/&gt;\r\n                     &lt;GridViewColumn Header=\"PLZ\" DisplayMemberBinding=\"{Binding PLZ}\" \/&gt;\r\n                     &lt;GridViewColumn Header=\"Ort\" DisplayMemberBinding=\"{Binding Ort}\" \/&gt;\r\n                     &lt;GridViewColumn Header=\"Land\" DisplayMemberBinding=\"{Binding Land}\" \/&gt;\r\n                     &lt;GridViewColumn Header=\"E-Mail\" DisplayMemberBinding=\"{Binding EMail}\" \/&gt;\r\n                 &lt;\/GridView&gt;\r\n             &lt;\/ListView.View&gt;\r\n         &lt;\/ListView&gt;<\/pre>\n<p>Die dritte Zeile des <b>Grid<\/b>-Elements enth&auml;lt ein weiteres <b>StackPanel<\/b>-Element mit den Steuerelementen zum Verwalten der Kunden &#8211; hier mit Schaltfl&auml;chen zum Schlie&szlig;en des Bereichs (<b>btnOK<\/b>), zum Anlegen neuer Kunden (<b>btnNeu<\/b>), zum Anzeigen des aktuellen Kunden (<b>btnDetails<\/b>) und zum L&ouml;schen des aktuell markierten Kunden (<b>btnLoeschen<\/b>):<\/p>\n<pre>         &lt;StackPanel Orientation=\"Horizontal\" Grid.Row=\"2\"&gt;\r\n             &lt;Button x:Name=\"btnOK\" Click=\"btnOK_Click\"&gt;\r\n                 &lt;StackPanel Orientation=\"Horizontal\"&gt;\r\n                     &lt;Image Source=\"images\/ok.png\" Width=\"24\" Height=\"24\"&gt;&lt;\/Image&gt;\r\n                     &lt;Label&gt;OK&lt;\/Label&gt;\r\n                 &lt;\/StackPanel&gt;\r\n             &lt;\/Button&gt;\r\n             &lt;Button x:Name=\"btnNeu\" Click=\"btnNeu_Click\"&gt;\r\n                 &lt;StackPanel Orientation=\"Horizontal\"&gt;\r\n                     &lt;Image Source=\"images\/add.png\" Width=\"24\" Height=\"24\"&gt;&lt;\/Image&gt;\r\n                     &lt;Label&gt;Neu&lt;\/Label&gt;\r\n                 &lt;\/StackPanel&gt;\r\n             &lt;\/Button&gt;\r\n             &lt;Button x:Name=\"btnDetails\" Click=\"btnDetails_Click\"&gt;\r\n                 &lt;StackPanel Orientation=\"Horizontal\"&gt;\r\n                     &lt;Image Source=\"images\/pencil.png\" Width=\"24\" Height=\"24\"&gt;&lt;\/Image&gt;\r\n                     &lt;Label&gt;Bearbeiten&lt;\/Label&gt;\r\n                 &lt;\/StackPanel&gt;\r\n             &lt;\/Button&gt;\r\n             &lt;Button x:Name=\"btnLoeschen\" Click=\"btnLoeschen_Click\"&gt;\r\n                 &lt;StackPanel Orientation=\"Horizontal\"&gt;\r\n                     &lt;Image Source=\"images\/delete.png\" Width=\"24\" Height=\"24\"&gt;&lt;\/Image&gt;\r\n                     &lt;Label&gt;L&ouml;schen&lt;\/Label&gt;\r\n                 &lt;\/StackPanel&gt;\r\n             &lt;\/Button&gt;\r\n         &lt;\/StackPanel&gt;\r\n     &lt;\/Grid&gt;\r\n&lt;\/Page&gt;<\/pre>\n<h2>Anzeigen der Kunden im ListView-Steuerelement<\/h2>\n<p>Im Code behind-Modul ben&ouml;tigen wir den folgenden Namespace-Verweis:<\/p>\n<pre>Imports System.Collections.ObjectModel<\/pre>\n<p>Au&szlig;erdem deklarieren wir hier die folgenden Variablen:<\/p>\n<pre><span style=\"color:blue;\">Private <\/span>dbContext<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> SeminarverwaltungContext\r\n<span style=\"color:blue;\">Private <\/span>_kunden<span style=\"color:blue;\"> As <\/span>ObservableCollection(Of Kunde)\r\n<span style=\"color:blue;\">Private <\/span>objFrame<span style=\"color:blue;\"> As <\/span>Frame\r\n<span style=\"color:blue;\">Private <\/span>objListCollectionView<span style=\"color:blue;\"> As <\/span>ListCollectionView<\/pre>\n<p>Beim Initialisieren der Seite wird die Konstruktor-Methode ausgel&ouml;st. Diese erwartet als Parameter einen Verweis auf das &uuml;bergeordnete <b>Frame<\/b>-Element, beispielsweise zum Leeren des <b>Frame<\/b>-Elements, wenn die Seite geschlossen wird. Diesen Verweis speichert die Prozedur in der Variablen <b>objFrame<\/b>. Au&szlig;erdem initialisiert die Methode die Komponente (<b>InitializeComponent<\/b>), f&uuml;llt die Liste der Kunden, weist sich selbst dem <b>DataContext <\/b>zu und referenziert mit <b>objListCollectionView <\/b>eine Sicht auf die Auflistung <b>Kunden<\/b>. Schlie&szlig;lich stellt sie die Methode <b>Kundenfilter <\/b>als auszuf&uuml;hrende Methode beim Aufruf des Filters der <b>ListCollectionView <\/b>ein:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>New(fra<span style=\"color:blue;\"> As <\/span>Frame)\r\n     objFrame = fra\r\n     InitializeComponent()\r\n     Kunden = <span style=\"color:blue;\">New<\/span> ObservableCollection(Of Kunde)(dbContext.Kunden)\r\n     DataContext = Me\r\n     objListCollectionView = CollectionViewSource.GetDefaultView(Kunden)\r\n     objListCollectionView.Filter = AddressOf Kundenfilter\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die &ouml;ffentliche Eigenschaft <b>Kunden <\/b>erfasst die Auflistung der Kunden und stellt diese als Quelle f&uuml;r das <b>ListView<\/b>-Steuerelement zur Verf&uuml;gung:<\/p>\n<pre><span style=\"color:blue;\">Public Property <\/span>Kunden<span style=\"color:blue;\"> As <\/span>ObservableCollection(Of Kunde)\r\n     Get\r\n         Return _kunden\r\n     End Get\r\n     Set(value<span style=\"color:blue;\"> As <\/span>ObservableCollection(Of Kunde))\r\n         _kunden = value\r\n     End <span style=\"color:blue;\">Set<\/span>\r\n<span style=\"color:blue;\">End Property<\/span><\/pre>\n<h2>Filtern nach dem Vornamen und dem Nachnamen<\/h2>\n<p>Die Steuerelemente im oberen Bereich der Kunden&uuml;bersicht erlauben die Eingabe eines Vornamens und einen Nachnamens, nach dem gefiltert werden soll. F&uuml;r die Eigenschaft <b>Filter <\/b>des <b>ListCollectionView<\/b>-Elements haben wir weiter oben bereits die Funktion <b>Kundenfilter <\/b>zugewiesen. Die Funktion <b>Kundenfilter <\/b>wird beim Filtern der <b>ListCollectionView <\/b>f&uuml;r jeden Datensatz einmal aufgerufen. Dabei erfasst sie den Vornamen und den Nachnamen des aktuellen <b>Kunde<\/b>-Elements und schreibt diese beziehungsweise gegebenenfalls eine leere Zeichenkette in die Variablen <b>strVorname <\/b>und <b>strNachname<\/b>. Dann pr&uuml;ft sie, ob Nachname und Vorname mit den Werten aus <b>txtSucheNachname <\/b>beziehungsweise <b>txtSucheVorname <\/b>beginnen. Falls nicht, wird der Wert <b>False <\/b>zur&uuml;ckgegeben. Ist beides erf&uuml;llt, gibt die Funktion den Wert <b>True <\/b>zur&uuml;ck und des jeweilige Element wird angezeigt:<\/p>\n<pre><span style=\"color:blue;\">Private Function <\/span>Kundenfilter(item<span style=\"color:blue;\"> As Object<\/span>)<span style=\"color:blue;\"> As Boolean<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>objKunde<span style=\"color:blue;\"> As <\/span>Kunde\r\n     <span style=\"color:blue;\">Dim <\/span>strVorname<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strNachname<span style=\"color:blue;\"> As String<\/span>\r\n     objKunde = TryCast(item, Kunde)\r\n     strVorname = IIf(objKunde.Vorname = Nothing, \"\", objKunde.Vorname)\r\n     strNachname = IIf(objKunde.Nachname = Nothing, \"\", objKunde.Nachname)\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> (strNachname.StartsWith(txtSucheNachname.Text, StringComparison.OrdinalIgnoreCase))<span style=\"color:blue;\"> Then<\/span>\r\n         Return <span style=\"color:blue;\">False<\/span>\r\n     <span style=\"color:blue;\">End If<\/span>\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> (strVorname.StartsWith(txtSucheVorname.Text, StringComparison.OrdinalIgnoreCase))<span style=\"color:blue;\"> Then<\/span>\r\n         Return <span style=\"color:blue;\">False<\/span>\r\n     <span style=\"color:blue;\">End If<\/span>\r\n     Return <span style=\"color:blue;\">True<\/span>\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000273\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000273?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000273\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"123b777de9\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Arbeit mit der Seminarverwaltung startet an dem Punkt, wo wir die online eingegangenen Bestellungen einlesen und in der Seminarverwaltung Kunden und Bestellungen in Kunden und Seminarteilnahmen umwandeln. Dazu ben&ouml;tigen wir eine M&ouml;glichkeit, die online erfolgten Bestellungen in die Anwendung einzulesen &#8211; siehe Artikel &#8220;Seminarverwaltung VI: Daten vom Shopsystem&#8221;. Au&szlig;erdem wollen wir in diesem Artikel zeigen, wie Sie die Kunden und die Seminarteilnahmen verwalten k&ouml;nnen. Hier kann es auch vorkommen, dass ein Kunde auf einem anderen Wege als im Onlineshop bestellt &#8211; daher ben&ouml;tigen wir M&ouml;glichkeit zum Anlegen von Kunden und Seminarteilnahmen &uuml;ber die Benutzeroberfl&auml;che.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662021,66062021,44000027,44000004],"tags":[],"yst_prominent_words":[],"class_list":["post-55000273","post","type-post","status-publish","format-standard","hentry","category-662021","category-66062021","category-Excel_programmieren","category-Loesungen"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000273"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000273\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000273"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}