WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Moin. Ich habe grad ein komisches Problem. Ich möchte in der Telefonliste die Nummern mit Vorwahl zusammenhängend eintragen (01234123456). Allerdings wird dann beim Feldwechsel die führende Null entfernt. Das selbe passiert bei internationaler Schreibweise (+491234....). Da wird das Plus entfernt. Jemand eine Idee?
Beitrag geändert von screamindan (12.09.2019 10:34:11)
Offline
Meinst Du jetzt im Tabellenprogramm (Excel o.ä.)? Hochkomma davor setzen. '0123456
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ja, mit Libre Office. Probier ich gleich mal.
Offline
Das klappt, danke!
Bonusfrage: Die Mailadressen sind dann in der Darstellung auf der Website klickbar. Wäre das möglich, das bei Telefonnummern auch hinzubekommen? Bei anderen Nummern auf der Seite hab ich das über "href="tel:...." gemacht...
EDIT: Wenn ich die Nummern mit führendem Hochkomma eingebe, wird es korrekt angezeigt. Importiere ich die CSV erneut in Libre Office, werden die Nullen / +49 wieder entfernt...
Beitrag geändert von screamindan (12.09.2019 08:34:40)
Offline
Hm, das ginge mit RegEx und einem Droplet
$wb_page_data = preg_replace('/([0-9]{6,20})/', '<a href="tel:$1">$1</a>', $wb_page_data);
return true;
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Oha. Wohin muss das denn dann?
Offline
Admintools > Droplets, dort auf Hinzufügen Droplet klicken, als Namen z.B teltolink angeben und den obigen Code hinterlegen. Auf der Telefonlistenseite dann irgendwo (WYSIWYG oder Code2=HTML) mit [[teltolink]] aufrufen.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ist das dann nur auf dieser Seite? Das wäre gut.
Offline
Grad getestet. Bei Code 2 (PHP) kommt ne Fehlermeldung. Bei WYSIWYG zerschiesst es die Seite.
Parse error: syntax error, unexpected end of file in /www/htdocs/ORDNER/cms/temp/modules/code2/section_92.php.inc on line 4
Beitrag geändert von screamindan (12.09.2019 09:05:25)
Offline
Ist das dann nur auf dieser Seite? Das wäre gut.
ja
Bei Code 2 (PHP) kommt ne Fehlermeldung.
Deshalb ja auch
Code2=HTML
Bei WYSIWYG zerschiesst es die Seite.
Was heißt das genau?
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Es scheint das CSS nicht gefunden zu werden (auch bei Code 2 = HTML)
Offline
Die Tabelle selbst ist dann mit den Nummern klickbar.
Offline
1568276016" rel="stylesheet" type="text/css" /> 1568276016" rel="stylesheet" type="text/css" /> 1568276016" rel="stylesheet" type="text/css" />
Das steht oben links dann auf der Seite.
Offline
Offensichtlich wird bei Deiner Installation auch der Cache-Verhinderungs-Timestamp von CSS-Dateien umgewandelt. Was mich etwas wundert, weil das in meiner Testinstallation (ist allerdings 1.4.0) nicht passiert.
Die RegEx müsste dann so umgewandelt werden, dass sie nur auf Telefonnummern oder Tabellenzellen angewendet wird. Für RegEx-Profis sicherlich kein Problem, aber ich kann Dir da nicht weiterhelfen.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Dann mach ich die Nummern erstmal so rein. Upgrade is dann fällig
Danke für die Bemühungen.
Beitrag geändert von screamindan (12.09.2019 09:32:28)
Offline
Wo ich noch nicht weiterkomme ist das:
Wenn ich die Nummern mit führendem Hochkomma eingebe, wird es korrekt angezeigt. Importiere ich die CSV erneut in Libre Office, werden die Nullen / +49 wieder entfernt...
Da sich ja immer mal was ändern kann, werd ich die Liste auch öffters mal bearbeiten müssen...
Offline
Warum willst Du die CSV in Libre Office re-importieren? Du hast die Ausgangsdatei im LO-Format, nur die bearbeitest/aktualisierst Du, exportierst sie dann als CSV und lädst sie hoch.
Wenn Du die Daten online pflegen willst, ist CSV2Table nicht das richtige Modul, dann bist Du mit Dynamic Table besser bedient.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ah ok; Workflow Missverständnis... Ich hab die Beispieldatei nicht als LO Datei gespeichert, sondern immer CSV hin und her. So klappt es natürlich. Zellformat muss dann Text sein, sonst werden die genannten Teile (+ und 0) wieder entfernt...
Offline
Hab grad gesehen, es gibt im csv2table Ordner eine "/mailtomaker.js" . Vielleicht könnte man da irgendwie ähnlich ansetzen, um die Telefonnummern wählbar zu machen...
Inhalt der "/mailtomaker.js":
$().ready(function() {
var regEx = /(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)/;
$("table td").filter(function() {
return $(this).html().match(regEx);
}).each(function() {
$(this).html($(this).html().replace(regEx, "<a href=\"mailto:$1\">$1</a>"));
});
});
Beitrag geändert von screamindan (12.09.2019 10:36:50)
Offline
Moin. Hab jetzt die entsprechende Seite auf eine Testinstallation gepackt und auf WBCE 1.4.0 upgedated. Das Droplet in einen Code 2 (HTML) Abschnitt. Gleiches Verhalten wie oben beschrieben. Das heisst, CSS wird nicht geladen...
Beitrag geändert von screamindan (15.09.2019 14:01:48)
Offline
Ändere den Droplet-Code mal auf
$wb_page_data = preg_replace_callback('/(>[0-9]{6,20})/', function($matches) {
$matches[1] = substr($matches[1], 2);
return '><a href="tel:'.$matches[1].'">'.$matches[1].'</a>';
}, $wb_page_data);
return true;
Damit wird nach einer spitzen Klammer plus Ziffernfolge gesucht, also <td>12345678 wird gefunden, ?12345678 wie in Timestamps nicht. Da die > aber nur gefunden, aber nicht mit ersetzt werden soll, muss preg_replace_callback verwendet werden.
Quelle: Stackoveflow
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Damit ist die Seite wieder sichtbar. Die Nummern sind im Format "+49172......" eingetragen. Das Plus wird dann wohl noch in die Suche rein müssen, oder?
Offline
ja, dann so:
$wb_page_data = preg_replace_callback('/(>\+[0-9]{6,20})/', function($matches) {
$matches[1] = substr($matches[1], 1);
return '><a href="tel:'.$matches[1].'">'.$matches[1].'</a>';
}, $wb_page_data);
return true;
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Danke, das haut schonmal auf dem Rechner in Firefox und Chrome hin. Auf dem Handy mit Chrome läufts grad irgendwie noch nicht, obwohl ich die Browserdaten gelöscht habe
Offline
Bitte mal den Link zur Seite per PM
Code allein macht nicht glücklich. Jetzt spenden!
Offline