PAXIDO: HOW-TO

PAXIDO: HOW-TO

  • Home
  • Hilfe
Agenda-Listing Unterschiedlicher Look nach Sessiontyp

„Best“- Practice

  1. Im CPT (Custom Post Type) SESSION/Agendapunkt wird unter dem Sessiontitel der Sessiontyp (Keynote/Pause,Breakout,,..) gepflegt.
    Das kann man auch differenzierter definieren, indem man (unter Menüpunkt: Indivduelle Felder die Optionen Platin, Gold, Silber,… einrichtet) die entsprechende Klasse anklickt. Zu Vorführzwecken kann man dann beispeilsweise auch 2 Variantnen wie platin und platinlila zur Auswahl stellen.
  2. Im JET-Listing des Agendapunktes definiert man im Spaltenobjekt (siehe 2.Bild) unter ERWEITERT die Klasse. Diese ergibt sich aus dem Prefix (Vorher) pxsessiontyp_ , der unter Erweitert angegeben werden kann und dem ACF (Advanced Field ) Sessiontyp per Klick auf das Werkzeug/Zange-Symbol. Nun steht in dem äßeresn DIV-Conatiner in class=“pxsessiontyp_platinlila“ (oder was man definiert hat) Dazu wurde noch eine ID definiert pxSession und im Sessiontitel die ID pxSessiontitel
  3. Unter Design→Customizer→Zusätzliches CSS kann nun die Hintergrundfabe oder eine Hintergrundverlauf in Gold, Platin,… die Rahmenfarbe, der rahmentyp und gegebenenfalls eine Plakette hinter den Sessiontitel konfiguriert werden.
    siehe https://codepen.io/bradyfe/pen/gxVYLm für silberne ,goldige Farbverläufe

#pxSession.pxsessiontyp_platinlila
{
border:8px ridge #ccbbff;
color: #8000ff;
box-shadow:
7px 7px 0.9em rgb(115, 1, 191, 0.55),
}

#pxSession.pxsessiontyp_gold
{
color: rgba(82, 82, 34, 0.72);
text-decoration: none;
font-weight: bold;
text-shadow: 1px 1px 0 #ffdeca;
box-shadow:
2px 2px 0.5em rgba(155, 122, 89, 0.55),
inset 1px 1px 0 rgba(255, 255, 255, 0.9),
inset -1px -1px 0 rgba(0, 0, 0, 0.5)
;
border: 2px solid #dd9933;
background:
-moz-linear-gradient(
-72deg,
#ffdea1,
#ffffff 16%,
#ffdea1 21%,
#ffffff 24%,
#ffdea1 27%,
#ffdea1 36%,
#ffffff 45%,
#ffffff 60%,
#ffdea1 72%,
#ffffff 80%,
#ffdea1 84%,
#736445
);

}

#pxSession.pxsessiontyp_platinum #sessiontitel div.jet-listing-dynamic-field__inline-wrap:after
,
#pxSession.pxsessiontyp_platinlila #sessiontitel div.jet-listing-dynamic-field__inline-wrap:after
{
content: “;
background-image: url(„/wp-content/uploads/sponsors/Sponsor-Platinum.png“) ;
background-size: 30px 30px;
display: inline-block;
width: 30px;
height: 30px;
content:““;
transform: scale(.7);

}

Teilen
agenda_006_listing01
agenda_006_listing02
agenda_006_listing03
agenda_006_listing4
Agenda: Accordion Titel mit Icons
  1. Icons werden anhand des ausgewählten Sessiontypes (falls dazu hinterlegt) angezeigt.
    Dazu gibt es im Kopf der Agenda ein Javascript-Objekt (Bild 1)

    jQuery(document).ready(function()
    {
    console.log(„JS-Code im Kopf der Agenda“);

    //Definition der Icons mit Klassen aus FontAwesome https://fontawesome.com/icons
    var icon_imbiss = ‚<i class=“px-awesome fa-sharp fa-solid fa-french-fries“ aria-hidden=“true“></i>‘;
    var icon_mpause = ‚<i class=“px-awesome fa-sharp fa-solid fa-plate-utensils“ aria-hidden=“true“></i>‘;
    var icon_kpause = ‚<i class=“px-awesome fa-sharp fa-solid fa-mug-hot“ aria-hidden=“true“></i>‘;

    //Zuordnung der Icons zu den Sessiontype->Headlines
    jQuery(‚div.imbiss .eael-accordion-tab-title‘).append(icon_imbiss);
    jQuery(‚div.mittagspause .eael-accordion-tab-title‘).append(icon_mpause);
    jQuery(‚div.kaffeepause .eael-accordion-tab-title‘).append(icon_kpause);

    //für die Klasse px-awesome Abstand 10px nach links und #0000ff ist blaue Farbe
    jQuery(‚.px-awesome‚).css(‚margin-left‚,’10px‘).css(‚color‚,’#0000ff‚);

    });

  2. Wählt man wie in Bild 2 angezigt den Session-Typ imbiss aus, wird dort beim Laden der Seite ein HTML-Objekt <i></i> mit bestimmten Klassen erstellt und in das div-Objekt der Headline des Accordions Imbiss eingebettet und es erscheinen die Pommes frites.

    <div class=“eael-accordion-tab-title“>Imbiss<i class=“px-awesome fa-sharp fa-solid fa-french-fries“ aria-hidden=“true“ style=“margin-left: 10px; color: rgb(0, 0, 255);“></i></div>

  3. Möchte man einen neuen Sessiontyp bzw. ein weiteren Pausentyp mit einem Icon definieren, so ergänzt man links im Menü unter Individuelle Felder (unter der Feldgruppe Session ->siehe Bild 3)  im Feld Session Type die Auswahl-Option . Hier:  treffpunkt (Bild 4)
  4. Jetzt ruft man auf der Webseite von FontAwesome (siehe oben) das gewünschte Icon auf (Bild 5+6) und kopiert dort die Klassen und setzt sie in das Javascript-Objekt (siehe Punkt 1 oben) ein.
    Dazu kopiert man eine icon_xxxx-Variable und benamt sie um icon_imbiss zu icon_treffpunkt
    und erstezt die Klasse fa-french-fries zu fa-users-rays:

    var icon_treffpunkt = ‚<i class=“px-awesome fa-sharp fa-solid fa-users-rays“ aria-hidden=“true“></i>‘;
    jQuery(‚div.treffpunkt .eael-accordion-tab-title‘).append(icon_treffpunkt);

  5. Egal, ob man jetzt in der Agenda einem Agenda-Punkt/-Objekt den Session-.Typ treffpunkt zuweist  oder vor Definition unter Punkt 4.  Sobald es wie in Punkt 4 definiert wurde , wird nun das neu Icon angezeigt. (siehe Bild 8)
  6. Falls Icons in unterschiedlichen Farben dargestellt werden sollten, so müsste man im entsprechenden Icon-Objekt anstelle der px-awesome-Klasse einen weiteren  (Farb-)Klassen-Namen definieren und im Javascript-Objekt in der letzten Zeile dieses duplizieren und entsprechend anpassen.

    var icon_treffpunkt = ‚<i class=“px-neuerKlassenname fa-sharp fa-solid fa-users-rays“ aria-hidden=“true“></i>‘;
    jQuery(‚.px-neuerKlassenname‚).css(‚margin-left‚,’10px‘).css(‚color‚,’#00ffff‚);

Teilen
agenda_awesome_icons01_jscode
agenda_awesome_icons02_sessiontype
agenda_awesome_icons03_sessiontypes
agenda_awesome_icons03_sessiontypes_auswahl
agenda_awesome_icons04_fontawesome_choose
agenda_awesome_icons04_fontawesome_class
agenda_awesome_icons05_cpt
agenda_awesome_icons06_icon_treffpunkt
Anzeigewert statt Speichertwert auf Überprüfungsseite und Email

Bei Radiobuttons, Checkboxen oder Select-/Dropdown-Feldern  wird auf der Überprüfungsseite  der Anzeigewert (option_label) ausgegeben, sofern dieser als Option im Paxido-Veification-Feld ausgewählt wurde (siehe Bild1)

Will man jedoch ein Anzeigewert (Titel eines Forums bei einem Textfeld , das beispielsweise duch Javascript mit einem Speicher-Wert befüllt wurde (F1-F10 eines Workshops bzw. Forums) ausweisen, so muss man zur Befüllung kurzzeitig den Feldtyp von TEXT auf SELECT oder RADIOBUTTONS oder CHECKBOXEN wechseln. Dann kann man die Key-/Value-Paare (Speicher-/Anzeige-Werte) befüllen/importieren.  (siehe Bild2)

Da im Überprüfungsfeld lediglich SELECT-/DROPDOWN-Felder, RADIOBUTTONS und CHECKBOXEN als Options-Felder ausgewertet werden, muss bei Text-Felder der schieberegler Anzeigewert auf Überprüfungsseite auf JA gesetzt werden.

Will man den Anzeigewert in der Email ausgewiesen bekommen, so muss statt {feldname} im Email-Template {feldname!}, also ein Ausrufezeichen hinzugefügt werden.
Soll der Anzeigewert darüberhinaus (bei einer mehrsprachigen Seite) noch übersetzt werden, dann fügt man ein 2.Ausrufezeichen hinzu {feldname!!}.

 

Teilen
elementorobjects_01_verificationsetting
elementorobjects_02_optionlabel_setting
elementorobjects_03_options_setting
Badge-Druck mit unterschiedlichen Farbvarianten - TBD

TBD

Erklärung für alphabetisch sortiert alle Badges und alphabetisch sortiert je nach Farbkategorie

Teilen
Badge-Generator Settings anpassen

Mit Hilfe des neuen Tools zur Generierung von Badges über den PDF-Generator können Badges einfacher generiert und individueller angepasst werden.

 

Um individuelle Einstellungen vornehmen zu können, geht man auf das linksseitige Menü auf PDF-Generator > Badge-Settings.

 

 

 

Hier unterteilt sich die Seite in unterschiedliche Bereiche, drei größere mit dunkelgrün abgetrennte Bereiche und mehrere mit hellgrün abgetrennte.
Im obersten dunkelgrünen Abschnitt „Allgemein“ kann man die Breite, Höhe und den Anschnitt (in der Regel 3mm) auf den Badge anpassen. Bei einem herkömmlichen Butterfly-Badge ist dies normalerweise Breite = 200 mm und Höhe = 97 mm.

 

Darunter folgt die Sektion „Vorderseite„. Für herkömmliche Butterfly-Badges sind die Einstellungen für Vorder- und Rückseite oft identisch. Bei der Nutzung von der nachhaltigen Variante mit Druck bei Jung&Brecht, sowie Lieferung fertig ausgestanzter Badges, sind Vorder- und Rückseite unter Umständen unterschiedlich.

Das Hintergrundbild bringt das Badge-Design in die Settings des PDF-Generators. Bei einem Butterfly-Badge wird ausschließlich hier eine Grafik hinterlegt. Diese Grafik muss vorher in den Medien hochgeladen sein, damit der Pfad hier angegeben werden kann.
Bei einem Druck der nachhaltigen Badges muss die Hintergrundgrafik für die Vorder- und Rückseite separat angegeben werden, einmal direkt unter der Überschrift „Vorderseite“ und einmal direkt unter der Überschrift „Rückseite“.

Im Bereich „Namensfeld“ kann bei Breite und Höhe das Feld festgelegt, in welchem die Schrift auf dem Badge aufgedruckt wird.
„Abstand oben“ und „Abstand links“ definiert den Abstand vom Namensfeld von der oberen Kante und linken Kante des Badges (bzw. der Druckmarkierungen bei einer PDF oder InDesign-Datei).
Der „Innere Abstand“ definiert, wie weit von der oberen und linken Kante des Namensfeldes entfernt die Schrift aufgedruckt wird.
Mit der Auswahl ja/nein bei Vor- und Nachname in einer Zeile kann eingestellt werden, an welcher Stelle der Zeilenumbruch erfolgt.

 

In dem Abschnitt „Barcode“ kann der aufgedruckte Barcode genauer definiert werden.
Auch hier kann simultan zum Namensfeld die Breite, Höhe und den Abstand zur Badgekante von oben und links eingestellt werden.
Außerdem kann definiert werden, ob der Barcode linksbündig, zentriert oder rechtsbündig angebracht werden kann.
Mit dem Feld Schriftgröße wird die Größe des Barcodes eingestellt, dies erfolgt ähnlich wie bei einer normalen Schriftart über die Angabe von pt.

 

Zusätzlich zum Barcode kann auch ein „QR-Code“ definiert werden.
Einziger Unterschied zu den Einstellungen beim Barcode ist hier, dass man keine Schriftgröße angibt, sondern den Pfad für ein in den Medien hochgeladenes Bild des QR-Codes.

 

Die „Rückseite“ kann simultan zur „Vorderseite“ angepasst werden.
Achtung! Unterschiede:
– Abstände der Badgekante links müssen von der ganz linken Seite der Grafik, nicht von der Mitte des Badges aus, gemessen werden.
– Bei anderen Badge-Varianten als Butterfly: Hintergrundgrafik einfügen

 

In dem Bereich „Schriften“ kann namensgeblich alles zu den Schriften auf dem Badge eingestellt werden:
Schriftart, -größe, -farbe und -stärke.

Sowie im Teil „Firma“ noch den Abstand zwischen Namen und Firma auf dem Badge.

 

 

 

 

 

Teilen
Badge-Generator_Settings_1
Badge-Generator_Settings_2
Badge-Generator_Settings_3
Badge-Generator_Settings_4
Badge-Generator_Settings_5
Badge-Generator_Settings_6
Badge-Generator_Settings_7
Badge-Generator_Settings_8
Badgevorschau im Anmeldeformular

Man zieht in das Anmeldeformular das Elementorobjekt Paxido Badepreview rein.

Zunächst wählt man das Template für die Badgevorschau aus. Momentan standardmäßig butterfly .
Die Auswahl ist zukunftsgerichtet und eröffnet Möglichkeiten  auch weitere Vorlagen mit definierten Funktionen und Konfiguratioinsparametern zu nutzen.

Unter Stil und dem Reiter Background lässt sich die Hintergrundgrafik auswählen.
Diese sollte derzeit idealerweise 430x360px groß sein, oder selbiges Verhältnis von Breite zu Höhe besitzen.
Dabei stellt die Grafik im jpg oder png-format das komplette Namensschild dar (inkl. aller Weißflächen und Logo/s).

Die Positionen bzw. Koordinaten von Vorname, Nachname und Firma lassen sich unter dem Reiter Positionen definieren.

 

Teilen
elementor_badge_preiview_01
elementor_badge_preiview_02
Berechtigung Comet Cache leeren

Wenn Comet Cache installiert und aktiviert wird, müssen einzelnen Rollen neben dem Administrator (Kundenbenutzer, etc.) das Recht Comet Cache zugeordnet werden.

Hierzu muss zunächst über WinSCP der Code angepasst werden:
\\wp-content\plugins\comet-cache\src\includes\traits\Plugin\UserUtils.php

Einzufügender Code:

public function currentUserCanClearCache()
{

/*
* pxcustom
* NTSPEZIAL
* 05.04.2023
* Recht Clear Comet Cache
*/
if(current_user_can('px-clear-comet-cache')) {
return $can = true;
}

if (!is_null($can = &$this->cacheKey('currentUserCanClearCache'))) {
return $can; // Already cached this.
}
$is_multisite = is_multisite();

if (!$is_multisite && current_user_can($this->cap)) {
return $can = true; // Plugin admin.
}
if ($is_multisite && current_user_can($this->network_cap)) {
   return $can = true; // Plugin admin.
}
   return $can = false;
}

Anschließend muss im Dashboard über AAM Rolle Kundenbenutzer das Recht Comet Cache vergeben werden:

– Im Rechten Bildschrim-Teil Rolle (Kundenbenutzer, etc.) auswählen und auf Zahnrad klicken
– Dann mittig-links auf Capabilities und in der Bildschirm-Mitte auch +create clicken
– Recht px-clear-comet-cache anlegen und der Rolle zuordnen

 

 

Teilen
Paxido_Berechtigung_Cometcache_leeren
Dashboard: Hintergrund (CSS)

Den Hintergrund bzw. die Hintergrundfarbe des Welcome-Panels ändert man im „Ultimate-Dashbooard“-Plugin unter Einstellungen.

Dort den RGB-Farbcode eintragen

.welcome-panel
{

background-color:#eeeeee;

}

Teilen
dashboard_ultimate_css
Datensatz anlegen

Um einen neuen Datensatz anzulegen müssen folgende Schritte unternommen werden:

In der linken Auswahlleiste des Dashboards in den Datenmanager gehen

Oben links auf den grünen Button „Neuer Datensatz“ klicken

Teilen
Dynamic Conditions (bei Listings)

Um unterschiedliche Darstellungen (Farbe der Uhrzeit in Abhängigkeit von Session-Typ (Pause,Coffee Break, Lunch=blau; andere schwarz) transparent zu verwirklichen, oder Accordion mit oder ohne Icon zum Aufklappen (Pause ohne Pfeil-Icon) anzuzeigen, dupliziert man die Objekte im Listing und bedient  sich DYNAMIC CONDITIONS (Tab: ERWEITERT) .

Hier kann man definieren wenn DYNAMIC TAG (hier: Session Type) mit dem Vergleichswert „im Array“ (erste Wahl oder < bzw. >)  also Bestandteil, der unterhalb komma-getrennt aufgezählten Listen-Elemente ist (bsp. Pause) dann zeige (oder verstecke) das entsprechende Objekt (Überschrift=Uhrzeit; Accordion mit oder ohne Pfeil) .

In der Zweiten Abbildung sieht man links 2 Überschrift-Objekte untereinander. Das obere wird versteckt, wenn DYNAMIC-TAG Session-Type eines der zur Auswahl stehenden Typen wie  pause,coffee,lunch,eveningevent ist. Das darunterliegende in blauer Uhrzeitfarbe wird angezeigt , wenn im Array pause…

Danaben 2 Accordion-Objekte untereinander . Hier wird eveningevent bei der Liste entfernt, weil bei Eveningevent in blau ein Aufkapppfeil mit Details zum Eveningevent angezeigt werden sollen.

 

Selbiges geht auch mit dem aktuellen Datum und Uhrzeit, um einen Registrierbutton oder Earlybird-Hinweis zeitabhängig ein- oder auszublenden (Vergleichswert ist dann nicht im Array sondern“<=“ oder „>=“.

Teilen
dynamic_conditions_agenda
dynamic_conditions
dynamic_conditions_02
dynamic_conditions_03
dynamic_conditions_04
Filter für Fortgeschrittene

und das ist ein text für Fortgeschrittene

Teilen
listenmanagement_filter_anlegen_003
listenmanagement_filter_anlegen_002
Filter(bedingung) in einer Liste erstellen
Ein Filter ist die Einschränkung auf alle „User“ Datensätze  in der Datenbank. Wichtig ist, dass am besten (unterhalb der Filter)  bei „NULL-Werte ersetzen durch Leer“ eingestellt ist. Dadurch entsprechen die Suchergebnisse bei Filtereinstellungen EQUAL oder NOT EQUAL dem gewünschten Ergebnis. NULL und Leerstring sind zwei unterschiedliche Dinge.
Wenn man im Listenmanager eine Liste bearbeitet, erscheint eine Oberfläche in der sich unter anderem die Darstellung rechts befindet.

Um einen neuen Filter zu erstellen, klickt man auf den blauen Button „Neue Filter-Bedingung“.

 

Es öffnet sich nun ein Fenster mit der Oberfläche, die rechts dargestellt ist.

Bei der ersten Auswahlmöglichkeit „AND/OR“ muss „AND“ ausgewählt werden.

Bei „Edit name“ muss der Name des Feldes ausgewählt werden, auf welches man einen Filter anwenden möchte.

Bei „Edit Operation“ muss die Art des Filters ausgewählt werden; bspw. „ist gleich wie“, „ist ungleich“, „enthält“, etc.

Bei „Edit Value“ soll nun das eingegeben werden, was in die Liste hinein oder heraus gefiltert werden soll. Das Beispiel rechts zeigt einen Filter, der lediglich Teilnehmer in der Liste aufführt, die bei Bezahlart Rechnung angegeben haben.

Anschließend muss auf den Button „Submit“ geklickt werden.

Nun erscheint die neue Filter-Bedingung in der Liste „Filter-Bedingungen“, siehe ganz unten im Beispielbild rechts.
Teilen
listenmanagement_filter_anlegen_001
listenmanagement_filter_anlegen_002
listenmanagement_filter_anlegen_003
Freigabeprozess

1. Voraussetzungen um die Buttons im Datamanagement zu sehen

  • in AAM die Capability freigabe_users anlegen und der Rolle zuweisen
  • Unter Datamanagement Settings muss das Freigabe-Feld (i.d.R: px_freigabe) zugewiesen werden
  • in der im Datamanagement ausgewählten Liste muss das unter Settings hinterlegte Freigabe-Feld als Spalte ausgewählt sein.

2. Berechtigung erteilen

Im Advanced Access Manager (AAM) muss ein Recht bzw. eine Fahigkeit (Capability) mit dem Namen freigabe_users, wie in Abb.1 zu sehen, eingerichtet und den entsprechenden Rollen zugewiesen werden.

3. Felderdefinition für die automatisierten Aktionen im Datamanagement

Unter Settings werden im Datenmanager nicht nur das Standardformular für den Bearbeitungsmodus bestimmt, sondern auch das Freigabefeld.
Bei Freigabe (Speicherwert hier ja) wird das Email-Template dafür versendet.
Bei Ablehnung (Speicherwert = nein) wird das dort hinterlegte Email-Template an die Person versendet.

4. Freigabe via Datenmanager

Wie in Abbildung 3 zu sehen, kann die Freigabe im Datenmanager vollzogen werden. werden. Ist noch keine Freigabe/Ablehnung erteilt worden, stehen beide Aktions-Buttons zur Verfügung, ansonsten ist der Status per grünem Haken (freigegeben) oder rotem Kreuz (abgelehnt) dargestellt.
Dieser kann aber durch klicken des jeweils anderen Status sofort geändert werden.

5. Freigabe oder Ablehnung via Email

Da ein Freigeber nicht regelmäßig in den Datenmanager klickt, wird dem Freigeber oder der Freigeberin parallel zur Eingangsbestätigung eine Email zugesandt (Maillayout2 in Abb.7 ) , in der alle notwendigen Angaben zum Antragsteller oder -stellerin aufgelistet sind.
Darunter sind 2 Buttons FREIGEBEN {shortcode_release_link}&page_id=28968
und ABLEHNEN {shortcode_deny_link}&page_id=28973
Die beiden Shortcodes werden beim Versenden automatisch ausgewertet.

Da die freigebende Person (wie zum Beispiel bei interner Anmeldung der/die entsprechende Vorgesetzte) variieren kann, ist die Emailadresse in einem bestimmten Feld (hier email_freigabe (Abb. 4) auswählbar und kann beim Import oder als verstecktes Feld im Anmeldeprozess befüllt werden.

6. Interne Anmeldung (mit anderem Dataprozessor)

Es ist sinnvoll die (interne) Anmeldung mit Freigabeprozess vom „normalen“ Anmeldeprozess zu entkoppeln und einen separaten Dataprozessor mit separaten Abschlussregeln zuz definieren.

In den Abschluissregeln gibt es da mindestens 3 Abschlussregeln. Freigabefeld (i.d.R. px_freigabe)
px_freigabe = „“ ==> Abschlussseite Eingangsbestätigung  Maillayout1= Eingangsbestätigung  Maillayout2 = Action needed mit email-Feld= email_freigabe

px_freigabe =ja ==>Abschlussseite freigegeben  MAillayout1 = Freigabe-Email

px_freigabe =nein ==>Abschlussseite ablehnen  Maillayout1 = Absage-Email

 

 

Teilen
freigabeprozess_aam_capability
freigabeprozess_datamanagement_settings
freigabeprozess_datamanagement_buttons
freigabeprozess_emailmanagement_emailfeld
freigabeprozess_emailmanagement_button_deny
freigabeprozess_emailmanagement_button_release
freigabeprozess_emailmanagement_buttons01
freigabeprozess_dataprozessor_abschlussregel01_leer
freigabeprozess_dataprozessor_abschlussregel02_ja
freigabeprozess_dataprozessor_abschlussregel03_nein
Header (all-in-one) mit Conditional Display

Wenn man in einem Header-Template bestimmte Buttons oder Bereiche abhängig von der Seite (bzw. Post) anzeigen möchte, so kann man dies im Elementor unter „Erweitert“ EA Conditional Display (EA: Essential Addon muss aktiviert sein) konfigurieren.

  1. Zunächst muss die Berücksichtigung mit dem Schieberegler „Enable Conditional Display“ aktiviert werden.
  2. Im zweiten Schritt die Aktion ANZEIGEN oder VERSTECKEN (oder VERSTECKEN OHNE BEDINGUNG)
  3. Im ersten Screenshot wird die Bedingung dargestellt: ANZEIGEN wenn die Seite „Home“ lautet

Im zweiten Screenshot sollen bei allen aufgelisteten Seiten der REGISTER-NOW-Button ausgeblendet werden.
Im SELECT ANY POST  erscheinen alle Seiten (Post Type = POSTS)  (nachdem mindestens 3 Buchstaben angegeben wurden). Will man den Button bei allen Registrierungsseiten ausgeblendet haben, so gibt man „Reg“ ein und klickt die entsprechenden Seiten (mit gedrückter STRG-Taste – geht schneller als jeweils ein Neueintrag)  an.
Im vierten Screenshot werden dann noch die Überprüfungsseiten ergänzt. Man will ja nicht, dass man während des Registrierungsprozesses auf die „Register-as„-Seite geleitet wird. Diese Seiten lauten nach Sprachkonvention „…Verification…“ . Also erscheinen nach verif alle entsprechenden Seiten/Posts.

Im dritten Screenshot kommt noch eine zweite Bedingung mit Datum hinzu. Zwischen dem 15. August 12:00 Uhr und Jahresende, soll der Registrierungsbutton ausgeblendet bleiben.

Zu beachten ist auch die 3. Zeile im Controler: „ACTION APPLICABLE IF“  und den 2 Icons/Buttons.
„TRUE ALL LOGIC“ und „TRUE ANY LOGIC“ was soviel bedeutet ,ob die beiden Bedingungen mit „UND“ oder „ODER“ verknüpft werden.
In unserem Fall: ODER, denn entweder ausblenden wenn eines der aufgelisteten Registrierungs- oder Verification-Seiten ODER der Zeitraum zutrifft.

Sprache auf englisch setzen und Pfad auf /en/:
Im letzten Screenshot  ist kein CONDITIONAL DISPLAY, aber der Vollständigkeit halber aufgeführt, dass man im Header (egal wie oder worüber man auf der Webseite landet die Sprache in der Session [locale] auf  en_US gesetzt wird, sofern noch keine session gestartet wurde bzw. noch kein Session-wert für locale (die Sprache) gesetzt wurde. Somit wurde die REWRITE-RULE in der .htacess überflüssig.

 

Teilen
header_all-in-one_nurhome
header_all-in-one_registernow_ohnedatum
header_all-in-one_registernow_mitdatum
header_all-in-one_registernow_verify
header_all-in-one_setlanguage
Inhalte übersetzen mit TranslatePress

Du musst eingeloggt sein.
Rufe die zu übersetzende Seite im Browser auf. Achte auf die Sprache /en/ in der URL und ergänze ?trp-edit-translation=true am Ende.
Zum Beispiel : https://deineseite.paxido.com/en/deineseite/?trp-edit-translation=true

Entweder übersetzt man einen Begriff oder Inhalt eines HTML-Tags oder durch Pfeil nach oben eine Kombination verschiedener HTML-Tags.

 

Im Dolmetscher-Plugin (px-translatepress) kann man die Übersetzungen auch direkt vornehmen und ggf. korrigieren. Wichtig ist dabei den Status auf 1 oder 2 zu setzen, damit die Übersetzung als valide erkannt und dargestellt wird.

 

 

Teilen
translatepress_01
translatepress_02
Konnektivitäts-Code: 301 Keine Datenverbindung

Zunächst wird die cs3070helper-.exe zum konfigurieren des Motorolascanners geöffnet (PW: heida… bei Paulevents erfragen)
Die Konfigurationsdaten stehen bei Paxido unter Einstellungen→ PX Motorola Scanner
Public Key: 4b81852f7d1b8e90acd123e426c83f59
URL : http://blablabla.paxido.com/wp-admin/admin-ajax.php?action=px_motorola_scanner_init

Wichtig ist http:// und nicht https://

in der Apache2-Konfiguration ist eine automatische http:// auf https://-Umleitung (REWRITE-RULE) die ausommentiert werden muss und der apache neu gestartet
(putty.exe : /etc/init.d/apache2 restart)
Dann sollte die Konfiguration laufen.

Alle Formularfelder die unter SCANaBLE aktiv gesetzt sind, werden dann im Dropddown zum importieren angezeigt.

 

Teilen
px_motorolascanner_diadnose
px_motorolascanner_datei
px_motorolascanner
px_motorolascanner_exe
Listen erstellen in Masse (Masscreate)

Wenn man viele Listen produzieren muss, zum Beispiel für Scannings  in verschiedenen Räumen oder bei unterschiedlichen Sponsoren,
so unterscheiden sich  diese
a) durch ein Feld ( mit der Namenskonvention: scan_{Stadt[Stuttgart,Hamburg,München,Köln]}_{Breakout[1-10]}_{Uhrzeit[1000,1100,1300,1430]}, in das die jeweilugen Zeitstempel geschrieben wurden.
b) einen Filter mit dem entsprechenden Feld und der Bedingung !=“ , also ==> scan_xxx    NOT EQUAL   {leer} (siehe Bild 03)

 

Will man nun beispielsweisealle mehrere Listen für eine Stadt (zum Beispiel „Stuttgart“) produzieren und hat die entsprechenden Felder auch mit „Masscreate“ und der oberen  Namenskonvention  erstellt, dann kann man mit dem Suchmuster „scan_stuttgart%“ alle Listen auf Basis einer Referenzliste produzieren.
Es werden für alle gefundenen Felder mit dem Suchmuster, also scan_stuttgart_breakout01_1030, scan_stuttgart_breakout01_1130…scan_stuttgart_breakout06_1645 Listen produziert. Also die Referenzliste mit allen gewünschten Feldern    genommen und mit dem innerhalb der Schleife entsprechenden Feld ergänzt und der Filter Feld !=“ angeheftet. die Liste bekommt den namen des Feldes, wobei die Unterstricke durch Leerzeichen ersetzt werden und alle duch Unterstrich searierten Teile  mit einem Großbuchstaben zu Beginn versehen werden.  so lautet der Listename für das Feld scan_stuttgart_breakout01_1030 =>  Scan Stuttgart Breakout01 1030

Teilen
liste_masscreate_01
liste_masscreate_02a
liste_masscreate_03
liste_masscreate_04
Massen-Update von Datensätzen

Um mehrere Datensätze (Anmeldedaten) zu korrigieren oder einen Wert (beispielsweise einen Preis und/oder Rechnungstext) zu definieren und abzuspeichern, wähle ich unter Datenmanager die Seite Massen Update (Abb. 1).

Die Grundlage für eine Mehrfach-Bearbeitung ist eine Liste, in der mehrere (Filter-)Kriterien hinterlegt sind und damit eine Menge von Personen. (Abb. 2)
Darüber hinaus kann man eine weitere (Filter-)Bedingung, die nur für dieses Massen-Update wirksam ist,  hinzufügen. (Abb. 3 unterer Bereich)

 

Standardmäßig ist der Test-Modus eingestellt, um zunächst zu schauen, für wen das Update wirksam wäre (Abb. 4).
In Blau wird angezigt, was passieren würde (wenn keine zusätzliche Bedingung hinzugefügt würde).
Sobald man den oberen RADIO-Button auf Live stellt, wird das Update ausgeführt und in grün oder rot (bei  einer zusätzlichen Bedingung, sonst in blau) wird angezigt, ob eine Änderung vorgenommen wurde, oder nicht (Abb. 6 und 8).

 

Die Änderung wird auch in der Datenbbank protokolliert und lässt sich unter dem Reiter Änderungen beim jeweiligen Datensatz nachvollziehen (Abb. 9).

Teilen
datenmanager_masssenupdate_01
datenmanager_masssenupdate_02
datenmanager_masssenupdate_03
datenmanager_masssenupdate_04
datenmanager_masssenupdate_05
datenmanager_masssenupdate_06
datenmanager_masssenupdate_07
datenmanager_masssenupdate_08
datenmanager_masssenupdate_09
Medienordner neu hinzufügen

Zur einfacheren Löschung der Medien nach Abschluss eines Projektes, sollten projektrelevante, nicht generell benötigte Medien in einem extra Ordner für das Projekt gespeichert werden.

Hierzu auf der linken Menüleiste bei Einstellungen zu Medien gehen. Dort kann man ganz unten auf der Seite bei „Custom Upload Folder“ einen neuen Medienordner hinzufügen.

Teilen
Medienordner_hinzufügen_1
Medienordner_hinzufügen_2
PX Javascript-Generator für dyn. Ein- / Aus-blenden

EVENTS (EREIGNISSE)

Zunächst vergibt man einen Internen Namen der (wie auf dem vorletzten Bild zu sehen) NUR im Backend  angezeigt wird und einen Hinweis gibt, wo ein versteckter Code hinterlegt ist.

Im Formularfeld wählt man das Fomularfeld, an den die Prüfung der Bedingung(en) gekoppelt werden und darunter bei welchem Event/Ereignis  die Prüfung getriffert werden soll.

Der Typ ist nötig, um einfacher den Javascript-Code zu generieren.

 

BEDINGUNGEN

Auch hier gibt man zunächst einen selbstredenden namen für die Bedingung als Label .

Der connector sagt, wie die Bedingungen verknüpft werden soll. Dies ist in der Regel AND. Es ist aber auch möglich mit Prefix udn Postfix  verschachtelte Bedingungen zu erstellen, woduch Klammern als Pre- oder Post-fixes zu Einsatz kommen.

Unter Modus kann ich
a) auf ein Formularfeld verweisen und dieses in einem Dropdown-Feld auswählen
b) das aktualle Datum.

Auf die Zeit kann noch ein Stundenwert aufaddiert werden, je nachdem wo der server steht. Hier ist es meist 2h.

 

AKTIONEN

Hier können eine Liste von Aktionenn definiert werden, wenn die Bedingung zutrifft oder aber auch nicht zutrifft.

Wie in Screenshot 4 abgebildet gibt es verschiedenen Aktionsmöglichkeiten:

  • man kann Objekte (Bilder, Texte, Elementor-Objekte9 mittels ID oder Klasse anzeigen oder verstecken
  • Formularfelder einblenden, ausblenden/verstecken, auf readonly (unveränderbar)  machen oder deaktivieren (disablen)
  • Pflicfeldmarkierungen (roter stern) setzen.
  • Popup/Dialog-Ebene einblenden (Bild5)
  • Auswahloption deaktivieren (mit farbigem Hinweistext) –>siehe Abbildung 6
  • speziellen Javascript-Code aktivieren

Jegliche aktion kann einfach (temporär) mit dem Schieberegler aktiviert oder deaktiviert werden.

Teilen
javascriptgenerator_control_events
javascriptgenerator_control_bedingungen
javascriptgenerator_control_aktionen
javascriptgenerator_control_aktionen_liste
javascriptgenerator_control_aktion_popup
javascriptgenerator_control_aktion_option_disable
javascriptgenerator_control_aktion_javascript
javascriptgenerator_disable02
javascriptgenerator_disable01
Register As (Teilnehmertyp setzen)

Im Registrierungsformular gibt es ein PHP-Feld (Template: session_teilnehmertypset.php), das als GET-Parameter in der URL ?tp={Teilnehmertyp} in die Session-Variable Teilnehmertyp schreibt und damit auch in das Hidden-Feld Teilnehmertyp, sodass es auch in der Datenbank unter selbigem Feldnamen/Usermeta-Attribut gespeichert wird.

In dem PHP-Template wird augenblicklich nur Teilnehmer, Referent und Standpersonal akzeptiert.
Das kann künftig in einer Datenbank administriert werden oder manuell im Template ergänzt werden.

Gibt es auf der Anmeldeseite eine Überschrift mit der ID #title_regas, dann wird der Text hier per Javascript und in der Lokalsprache aktualisiert.

Teilen
registrierung_registeras_01
PHPfeld_template_Teilnehmertyp_setzen
registrierung_registeras_02
Register As Seite bei Registrierung in zwei Phasen

Wenn die Registrierung in zwei Phasen, bspw. Standbuchung und dann Teilnehmeranmeldung, erfolgen soll, ist bei der Register As Seite folgendes zu beachten:

  • Die Register As Seite ist bereits online für die Standbuchung, es empfiehlt sich daher eine Kopie als Register As Test zu erstellen.
  • Sobald TN-Anmeldung freigegeben und fertig für GO LIVE, bisherige online Register As Seite sowohl im Seiten-Titel, als auch in der Seiten URL zu register-as-standbuchung umbenennen
  • Register As Test Seite danach sowohl im Seiten-Titel, als auch in der Seiten URL zu register-as umbenennen
  • Zusätzlich muss über Design > Header Menü die Register As Seite gelöscht und erneut eingefügt werden, damit es das Kopfleistenmenü auf die neue Register As Seite leitet

 

Teilen
Sortierung von Select-Optionen in einer Sprache

Code im Paxido-Javascript-Eleemntor-Objekt (NICHT Paxido-JS-Generator!!) Der Sorttyp Sortierung (bei Länder u.U. die DACH-Länder Deutschland, Österreich und Schweiz) bleiben außen vor. Dann wird nach option_Label , also dem Anzeigewert sortiert.

Bei Select-(Dropdown-)Objekten  geht das einfacher : Liste von option-HTML-Objekten/Tags.
Bei Radio-Buttons oder Checkboxen, müssen innerhalb eines div-Containers verschachtelte HTML_Objekte sortiert und angehängt (appendTo) bzw. verschoben werden.

 

jQuery(document).ready(function()
{
  //Zugriff auf ein px_locale element das in der ElementorPrüfzentrale ge-rendert wird  
  var px_locale = jQuery("#px_locale").attr("px_locale");
  console.log("px_locale:"+px_locale);
  var laender = jQuery('select[name="rechnung_land"] option[sorttyp="option_label"]')
  laender.sort(function(a, b)
  {
     return jQuery(a).html() > jQuery(b).html();
  }).appendTo(laender.parent());
  console.log("sortiert");
});
Teilen
Standard-Sprache auf englisch setzen (im Header)

Hier wurde ein PHP-Objekt ins Header-Template gezogen und dort die Vorlage set_locale_language ausgewählt.

Idealerweise setzt man das Objekt im Header, weil es dann egal ist, wie oder worüber man auf der Webseite landet. Es wird die Sprache in der Session [locale] auf  en_US gesetzt, sofern noch keine Session gestartet wurde bzw. noch kein Session-Wert für locale (die Sprache) gesetzt wurde.

Somit wurde die REWRITE-RULE in der .htacess eliminiert und es gibt keine probleme mehr im Elementor mit dem laden, der Lizenz,….
Falls dies REwRITE-RULE noch besteht, dann nach dem Auskommentieren mit # in jeder Zeile den Apache neu starten.
Im Putty: /etc/init.d/apache2 restart

 

 

 

 

Teilen
header_all-in-one_setlanguage
Welle im Header (in einem Abschnitt)

Unter Trennlinie Form kann man eine Welle (oder auch andere Formen) für oben und/oder unten definieren.

Teilen
header_all-in-one_welle
 

Loading...