Joomla 5 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 29. Januar 2024 alle unsere Joomla Erweiterungen mit Joomla 5 kompatible sind.

Für alle die gerade noch von Joomla 3 auf 4 aktualisieren: Anleitungen für die Joomla 4 Migration gibt es hier:

Es gibt nun auch eine eigenständige Dokumentation für Visforms für Joomla 4 und für Visforms auf Joomla 5

Forum

Visforms Subscription Inhaber können in unserem Forum Fragen stellen. Bitte mit dem entsprechenden Benutzer anmelden.
Jeder kann lesend auf das Forum zugreifen.

Bitte stellen Sie nur 1 Frage pro Thema.

Wichtig Angaben für fast jede Frage:
V1: Welche Visforms-Version läuft?
V2: Welche Joomla-Version läuft?
V3: Welche PHP-Version läuft?

Aufgrund von Feiertagen und Urlaub ist bei Anfragen im Forum in der Zeit vom 20. Dezember 2024 bis zum 8.Januar 2025 mit verlängerten Antwortzeiten zu rechnen.

php-code in Email

Mehr
1 Jahr 7 Monate her #9254 von hcohl
php-code in Email wurde erstellt von hcohl
Ich möchte in der Email den code etwas verändern mit php.
Jetzt heißt es im Forum:
Erfolgstext' und den 'Ergebnis Mail Text' kannst du in einem Custom Plugin nach deinen Wünschen beliebig manipulieren.
Im Plugin-Event 'onVisformsBeforeSuccessAction' kannst du den 'Erfolgstext' ändern.
Im Plugin-Event 'onVisformsEmailPrepare' kannst du den 'Ergebnis Mail Text' ändern.
Aber wo finde ich diese Plugins?

Mehr
1 Jahr 7 Monate her #9257 von Administrator AV
Administrator AV antwortete auf php-code in Email
Hallo hcohl,

das Custom Plugin musst du selbst erstellen.
Bitte siehe dir hierzu zuerst die Anleitung in der Dokumentation an (auch die Verlinkten Seiten):
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/

Wir arbeiten kontinuierlich darin, die den Zugang zur Entwicklung eines Custom Plugins zu verbessern.
Deshalb ist auch die Dokumentation noch nicht perfekt.
Es gibt mittlerweile in der Visforms Installation selbst eine Vorlage für ein Custom Plugin.

Statt den "Plugin-Masters", wie er in der Dokumentation zum Download verlinkt ist, herunterzuladen, kannst du auch das "Visforms Customs Plugin", das in der Visforms Installation mit geliefert wird, kopieren und umbenennen und dann als dein eigenes Custom Plugin ausbauen.
Das Visforms Custom Plugin liegt im Verzeichnis plugins/visforms/vfcustomplugin.
Umbenennen heißt, einen eigenen Namen verwenden und alle Dateien und Klassen wie in der Dokumentation beschrieben anzupassen.
Du musst ein eigenes Plugin mit eigenem Namen machen, ansonsten wird dir alles bei einem Visforms-Update überschrieben.
Das Visforms Custom Plugin ist wirklich als Vorlage anzusehen.

In diesem Plugin kannst du dann die Events verwenden.
Eine Beschreibung der Events gibt es ebenfalls in der Dokumenation
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/

Herzliche Grüße,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Mehr
1 Jahr 7 Monate her #9265 von hcohl
hcohl antwortete auf php-code in Email
Ich will es dazu nutzen, um die Ausgabe einer Checkboxgruppe nicht inline und Komma-getrennt zu haben sondern als Liste. Gibt es hierzu eine konkrete Anleitung oder können sie mir helfen.
Ich dachte mir ich schreibe einfach in die Email
${firstname}
${lastname}
und dann
<div><!--?php
    ${spezialisierungen|DISPLAYOPTIONVALUE};
    $arr = explode(',', ${spezialisierungen|DISPLAYOPTIONVALUE};); // String $str an jedem Komma (",") trennen
    var_dump($arr);
?--></div>
Aber das funktioniert nicht.

Mehr
1 Jahr 7 Monate her - 1 Jahr 6 Monate her #9269 von Administrator AV
Administrator AV antwortete auf php-code in Email
Hallo hcohl,

nein, das geht tatsächlich nicht.
Eigenes PHP kann man in Visforms nur in einem  Custom Plugin verwenden.
(Ich glaube übrigens, dass dieser Ansatz ein wichtiger Grund dafür ist, dass es überhaupt kein Problem war, Visforms mit Joomla 4 kompatibel zu machen).

Visforms hat einen Mechanismus um Platzhalter in E-Mails, Pdf' u.ä. zu ersetzen.
Es ist aber nicht vorgesehen, dass man den Wert, mit dem der Platzhalter ersetzt wird, in einem Custom Plugin verändern kann.

Dies wäre eine mögliche Umsetzung für den Featurerequest
Issue [VF-800]: Felder mit Optionslisten: Ausgabe als Liste
den ich ja bereits angelegt habe.

Allerdings glaube ich, dass das so tief im Code, keine gute Umsetzunge wäre.
Deshalb werde ich für Selects und Checkboxgruppen einen neuen Platzhalterparameter DISPLAYOPTIONVALUEASLIST hinzufügen.

Wenn du das Feature tatsächlich jetzt sofort unbedingt brauchst, sehe ich nur die Möglichkeit, dass du die Datei, die die Platzhalterersetzung macht jetzt selbst, anpasst.
Das ist allerdings eine Datei, die bei einem Visforms Update überschrieben wird.
Ich gehe davon aus, dass ich das oben beschriebene Feature in folgender Form unsetzen werden und das dann mit den nächsten Release kommt.
100% garantieren kann ich es allerdings nicht.
Falls es eine Änderung gibt, werde ich das hier in diesen Post mitteilen.

Nun die Änduerugnen:
administrator/components/com_visforms/lib/placeholderentry/select.php

Alt:
Code:
protected static $customParams = array (         'DISPLAYOPTIONVALUE' => 'COM_VISFORMS_PLACEHOLDER_PARAM_OPTION_VALUE'     );

Neu:
Code:
protected static $customParams = array (         'DISPLAYOPTIONVALUE' => 'COM_VISFORMS_PLACEHOLDER_PARAM_OPTION_VALUE',         'DISPLAYOPTIONVALUEASLIST' => 'COM_VISFORMS_PLACEHOLDER_PARAM_OPTION_VALUE_ASLIST'     );

Das fügt den Platzhalterparameter hinzu.

Code zur Auswertung des Platzhalterparameters hinzufügen

public function getReplaceValue()

Nach Zeile 31 neues case hinzufügen, (vor default: )
Code:
 case 'DISPLAYOPTIONVALUEASLIST' :   $inline = HTMLHelper::_('visformsselect.removeNullbyte', $this->rawData); // das ist der Komma-separierte String, wie er jetzt zurück gegeben wird ... Dein Code hier return $listHtml;

Als Rückgabewert musst du das formatierte Listenhtml, das du in "Dein Code" erzeugst, verwenden.

Falls du diese Umsetzung wählst, schreibe hier bitte, wie "Dein Code" aussieht.
Ich werde dann schauen, dass dieser in Visforms kommt.

Herzliche Grüße,
Aicha

 

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Letzte Änderung: 1 Jahr 6 Monate her von Administrator IV.
Folgende Benutzer bedankten sich: MaliRaj

Mehr
1 Jahr 7 Monate her - 1 Jahr 7 Monate her #9310 von MaliRaj
In Detailansichten werden Checkboxgruppen übrigens jetzt schon als Liste angezeigt.
Dieses Art der Anzeige wäre auch gut in Mails und auf der Zusammenfassungsseite zu gebrauchen.
Hänge mich daher mit ein ... wegen der ReleaseInfo

Freundliche Grüße aus PM
Heinz
(Joomla 5.1.2 / Visforms+Subscription 5.12 / PHP 8.2)
Letzte Änderung: 1 Jahr 7 Monate her von MaliRaj.

Mehr
1 Jahr 5 Monate her - 1 Jahr 5 Monate her #9564 von MaliRaj
Hallo Aicha,
in select.php und selectsql.php habe ich für DISPLAYOPTIONLABELASLIST lediglich den Implode-Separator ersetzt:
Das funktioniert problemlos gut. So kann ein Komma auch im Label enthalten sein. 
Für DISPLAYOPTIONVALUEASLIST musste statt des Entfernen des 'Nullbyte', auch 'nur' das 'Nullbyte-Komma' durch '<br />' ersetzt werden.
Weitergehende HTML-Listenelemente (ul/dl/ol) habe ich getestet, aber für mich als überflüssig empfunden.
So lautet der komplett funktionierende Code:
Code:
case 'DISPLAYOPTIONVALUEASLIST' :       // data string as list       $dataString = HTMLHelper::_('visformsselect.removeNullbyte', str_replace('\0, ','<br />',$this->rawData));       $list = $this->getListHtml($dataString);       return $list; case 'DISPLAYOPTIONLABELASLIST' :       // data string as list       $dataString = implode('<br />', HTMLHelper::_('visformsselect.mapDbValueToSqlOptionLabel', $this->rawData, $this->field->sql));       $list = $this->getListHtml($dataString);       return $list;


Das ist jetzt aber nicht wirklich updatesicher.  Vielleicht findet das in dieser (oder besser passender) Form Berücksichtigung.

Freundliche Grüße aus PM
Heinz
(Joomla 5.1.2 / Visforms+Subscription 5.12 / PHP 8.2)
Letzte Änderung: 1 Jahr 5 Monate her von MaliRaj. Begründung: Nullbyte-Komma innerhalb str_replace korrigiert

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum