Hallo,
ja das kann ich verstehen.
Die Redirekt-Urlparameter werden in der Datei components\com_visforms\models\visforms.php in der Zeile 1185 zusammengebaut.
Code:
public function getRedirectParams($fields, $query = array(), $formcontext = '')
Das wäre meines erachtens die Stelle, wo du am einfachsten deinen Stringersatz einbauen könntest. Dies ist allerding ein echter Visforms Core Hack, der bei jedem Update verloren geht.
Wenn du mit php und Joomla! Entwicklung fit bist, dann wäre die saubere Lösung ein kleines Visforms Plugin zu schreiben, das das onVisformsAfterFormSave Event verwendet. Dieses Event wird getriggert, nachdem alle anderen Schritte im Prozess des Verarbeitens des Formulars erledigt sind (Daten speichern, Mails senden...), direkt bevor die Redirect-Url zusammengebaut wird und der Redirekt gemacht wird.
Visforms übergibt diesem Event den context ('com_visforms.form') als string, das Formular ($visform) als Object und die Felder $fields als Array von Objekten. Diese $fields kannst du im Plugin manipulieren und sie würden dann in der modifizierten Form für den Zusammenbau der RedirectUrlParameter verwendet.
Die Funktion im Plugin sähe etwa so aus.
Code:
public function onVisformsAfterFormSave($context, $form, $fields)
{
if ($context != 'com_visforms.form')
{
return true;
}
$app = JFactory::getApplication();
if ($app->isAdmin())
{
return true;
}
for ($i = 0; $i < count($fields); $i++)
{
if ($fields[$i]->typefield == 'date' && !empty($fields[$i]->redirectParam))
{
$fields[$i]->redirectParam = str_replace('.', '-', $fields[$i]->redirectParam);
}
}
}
Alternativ könntest du im if auch auf die id des Feldes gehen (also if $fields[$i]->id == 100 oder so.
Zu den Visforms Events siehe auch
vi-solutions.de/de/support/dokumentation...ckler-feature-events
ein Beitrag, der leider noch sehr rudimentär ist.
Gruß,
Aicha