Zum Inhalt

Objekte & Klassen

Konzept

WebEdition-Objekte sind strukturierte, typisierte Inhalte – etwa wie Zeilen einer Datenbank-Tabelle. Jedes Objekt gehört einer Klasse an, die das Schema vorgibt.

Anwendungsfälle in Sachpool:

  • Versicherungspartner mit Logo, URL, Rechner-Link, Ansprechpartnern
  • Ansprechpartner mit Name, Position, Kontakt, Bild
  • Branchennews mit Titel, Teaser, Inhalt, Autor
  • Software-Tools mit Preis, Lizenzinfo, Link, Banner

Anders als reine Dokumente können Objekte:

  • Zentral gepflegt werden (ein Datensatz, viele Einbindungen)
  • Per <we:listview> dynamisch gelistet/gefiltert werden
  • Per multiobject_-Feld mit anderen Objekten verknüpft werden

Feld-Namenskonvention

WebEdition verwendet Präfixe, die den Feldtyp bestimmen. Aus Spaltennamen lässt sich daher direkt der Feldtyp ablesen:

Präfix Typ Datenbank-Spalte
input_ Einzeiliges Textfeld varchar(255) o. ä.
text_ Mehrzeiliger Text / WYSIWYG longtext
int_ Ganzzahl int
date_ Datum int (Unix-Timestamp)
checkbox_ Boolean tinyint(1)
select_ Auswahlliste varchar
img_ Bildreferenz int (Doc-ID)
link_ Link-Feld (URL + evtl. Params) text
href_ Referenz auf anderes Dokument text
multiobject_ Mehrere Objekte verknüpft longtext (JSON/IDs)
collection_ Sammlung (Collection-Modul) int

Spalten, die mit OF_ beginnen, sind interne Objekt-File-Felder (ID, Publikationsstatus, Modifikations-Datum) und werden automatisch gepflegt.

Klassenübersicht Sachpool

15 Klassen, 778 Objekte insgesamt:

Klasse Objekte Inhalt
ansprechpartner 144 Kontaktpersonen (intern + bei Versicherern)
branchennews 136 News-Einträge für die Redaktion
partnerversicherung 130 Versicherungspartner mit Rechner/Links
werbung 51 Werbeanzeigen (statische Banner)
courtaglisten 21 Courtagelisten (Abrechnungen)
software-tools 20 Software-Produkte mit Lizenzlogik
mandanten-liste 15 Mandanten-Zuordnung
veranstaltungen 15 Veranstaltungstermine
weiterbildung 9 Weiterbildungs-Angebote
dynamische-werbung 8 Dynamisch eingeblendete Werbung
produktwelt 7 Produktübersichten
software-lizenzierung 2 Lizenzmodelle
kv_weiterbildung 2 Weiterbildungs-KV
kv_dashboard 208 Kundenverwaltungs-Dashboard-Einträge
dasboard (sic) 0 Nicht verwendet, Tippfehler im Klassennamen

Klassennamen-Stolperfallen

  • dasboard (statt dashboard) – leer, wahrscheinlich irrtümlich angelegt. Prüfen ob löschbar.
  • kv_dashboard hat 208 Objekte, obwohl der Name auf die Kundenverwaltung hinweist – vermutlich Dashboard-Konfig pro Nutzer.

Klasse: partnerversicherung

Zentral für die Tarifrechner- und Partnerseiten.

Feld Typ Rolle
input_name varchar(255) Versicherer-Name
input_vermittlernr varchar(100) Sachpool-Vermittlernummer beim Partner
input_anschrift-strasse / -ort varchar(255) Adresse
input_telefon / input_telefax / input_email varchar(255) Kontakt
img_img int Logo-Doc-ID
link_url text Hauptwebsite
link_link-rechner text Online-Rechner (mit Platzhaltern, z. B. %SACHUSER%)
link_link-download text Dokumenten-Download-Link
text_text-intern longtext Interner Text (nur für eingeloggte Nutzer)
href_include-content text Ref. auf eingebettetes Content-Dokument
multiobject_ansprechpartner longtext Verknüpfte Ansprechpartner
text_tags longtext Such-Tags (Volltextsuche)
checkbox_werbung-oben / -seitlich tinyint(1) Werbung aktivieren
multiobject_WerbebannerObenMO / SeitlichMO longtext Werbebanner-Zuweisung
select_werbung-oben-size / -seitlich-size varchar Bannergröße
checkbox_werbung-oben-links / -seitlich-links tinyint(1) Werbe-Linkziel

→ Modul-Doku: Tarifrechner, Vergleichsportale

Klasse: software-tools

Software-Produkte mit Lizenzmodell.

Feld Typ Rolle
input_name / input_teaser varchar Produktname und Kurztext
input_vermittlernr varchar(100) Vermittlernr. für Partnerbezug
img_img int Produktbild
text_text longtext Produktbeschreibung
input_preis / input_preis-alt varchar Preis (aktuell + vorher/gestrichen)
link_link-rechner / link_link-download text Produkt-Links
multiobject_link-liste longtext Weitere Link-Objekte
text_text-intern longtext Text nur für Lizenzinhaber
href_include-content text Eingebettete Content-Seite
multiobject_ansprechpartner longtext Zuständige Ansprechpartner
checkbox_Lizenz tinyint(1) Lizenz erforderlich
input_Lizenzname varchar(50) Lizenz-Schlüssel/Kennung
checkbox_verdeckteLizenz tinyint(1) Verdeckte Lizenz (nicht sichtbar anzeigen)
collection_Werbebanner-Oben / -Seitlich int Werbebanner-Collection
multiobject_WerbebannerObenMO / SeitlichMO longtext Einzelne Banner-Referenzen
select_werbung-oben-size / -seitlich-size varchar Bannergröße
checkbox_werbung-oben-links / -seitlich-links tinyint(1) Werbe-Linkziel

Doppelte Werbebanner-Modellierung

Für Werbung existieren hier beide Varianten: collection_ (WebEdition-Collection) und multiobject_ (Multi-Object). Historisch gewachsen – Anwendung im Template prüfen, bevor man ein Feld verändert.

→ Modul-Doku: Vergleichsportale (Lizenzmodell)

Klasse: ansprechpartner

Einfache Kontaktklasse, von vielen anderen Klassen via multiobject_ansprechpartner verknüpft.

Feld Typ Rolle
input_name varchar(160) Name
input_position varchar(255) Position/Funktion
int_reihenfolge int(11) (nullable) Sortierreihenfolge
input_telefon / input_telefax / input_email varchar(255) Kontakt
img_img int Foto
date_datum int Datum (wofür? ggf. Eintritts-/Änderungsdatum)

Einsatz:

  • Über _include-module/_ansprechpartner-inc.tmpl zentral gerendert
  • Verknüpft mit partnerversicherung und software-tools

Objekte im Template einsetzen

<we:listview type="object" classid="3" rows="20">
  <we:field type="input" name="input_name" />
  <we:field type="link" name="link_link-rechner" />
</we:listview>

Für Filterung per SQL direkt auf tblObject_<id> siehe Datenbank-Zugriff.