Modul:Phone
Dieses Modul ist getestet und für den projektweiten Gebrauch geeignet. Es kann in Vorlagen benutzt und auf Hilfeseiten erläutert werden. Entwicklungen an dem Modul sollten auf Phone/Test und die Anwendung auf der Spielwiese getestet werden, da wiederholte Trial-and-Error-Edits die Resourcen stark belasten können. |
Verwendung
Das Modul stellt Funktionen zur Verlinkung von Telefonnummern bereit. Faxnummern werden überprüft, aber nicht verlinkt. Kommentare müssen hinter der Telefonnummer in Klammern angefügt werden.
Das Modul wird auch von der Vorlage {{LinkPhone}} aufgerufen. Die Beschreibung der Parameter erfolgt dort.
Versionsbezeichnung auf Wikidata: 2022-10-22
Benötigte weitere Module
Dieses Modul benötigt folgende weitere Module: CountryData • LinkPhone • Yesno
Verwendung in anderen Modulen
Dieses Modul ist notwendig für die Ausführung folgender Module. Bei Anpassungen sollte die Funktionstüchtigkeit der folgenden Module geprüft werden. Benutze dazu auch diese Tracking-Kategorie um Fehler zu finden, die sich dann auf Artikel auswirken:
- Quickbar Ort • Quickbar Region
- Modul benötigt das Modul Phone – Wartungskategorie, in der nochmals alle Module gelistet sind, die von diesem Modul abhängig sind.
Wartungskategorien
- Kategorie:Kontakt: Telefon ohne Ländervorwahl
- Kategorie:Kontakt: Ungültiges Telefonformat
- Kategorie:Kontakt: Telefon mit Schrägstrich
Beispiele
Text | Code | Ergebnis |
---|---|---|
+49 123 2 567.890 App. 5 | {{#invoke:Phone|linkPhone|+49 123 2 567.890 App. 5}} | +49 123 2 567.890 App. 5 |
+49 123 2 567.890 App. 5 | {{#invoke:Phone|linkPhone|+49 123 2 567.890 App. 5|isFax=true}} | +49 123 2 567.890 App. 5 |
+49 123 / 2 567.890 | {{#invoke:Phone|linkPhone|+49 123 / 2 567.890}} | +49 123 / 2 567.890 Category:Kontakt: Telefon mit Schrägstrich Telefon mit Schrägstrich |
++49 (123) 2 56 78 90 ext. 34 (Bar) | {{#invoke:Phone|linkPhone|++49 (123) 2 56 78 90 ext. 34 (Bar)}} | +49 (123) 2 56 78 90 ext. 34 (Bar) |
++49 0123 2 56 78 90 ext. 34 (Bar) | {{#invoke:Phone|linkPhone|++49 0123 2 56 78 90 ext. 34 (Bar)|cc=+49}} | +49 (0)123 2 56 78 90 ext. 34 (Bar) |
+49 (0)123 2 56 78 90;ext=34 | {{#invoke:Phone|linkPhone|1=+49 (0)123 2 56 78 90;ext=34}} | +49 (0)123 2 56 78 90 ext 34 |
+49 (123) 2 56 78 90 Bar | {{#invoke:Phone|linkPhone|+49 (123) 2 56 78 90 Bar}} | +49 (123) 2 56 78 90 Bar Category:Kontakt: Ungültiges Telefonformat Ungültiges Telefonformat |
+49 (0)123 VOYAGE | {{#invoke:Phone|linkPhone|+''49'' (0)123 VOYAGE}} | +49 (0)123 VOYAGE |
(0)123 256 78 90 | {{#invoke:Phone|linkPhone|(0)123 256 78 90}} | (0)123 256 78 90 Category:Kontakt: Telefon ohne Ländervorwahl Telefon ohne Ländervorwahl |
(0)123 256 78 90 | {{#invoke:Phone|linkPhone|(0)123 256 78 90|cc=+49}} | (0)123 256 78 90 |
123 256 78 90 (Bar) | {{#invoke:Phone|linkPhone|123 256 78 90 (Bar)|cc=+49}} | 123 256 78 90 (Bar) Category:Kontakt: Ungültiges Telefonformat Ungültiges Telefonformat |
+49 (123) 2 56 78 90 (Lobby Bar), 0049 (123) 2 56 78 90 (Oasis Restaurant) | {{#invoke:Phone|linkPhone|+49 (123) 2 56 78 90 (Lobby und Bar), 0049 (123) 2 56 78 91 (Restaurant)}} | +49 (123) 2 56 78 90 (Lobby und Bar), +49 (123) 2 56 78 91 (Restaurant) |
+49 (123) 2 56 78 90 oder +49 (123) 2 56 78 91 | {{#invoke:Phone|linkPhone|+49 (123) 2 56 78 90 oder +49 (123) 2 56 78 91}} | +49 (123) 2 56 78 90, +49 (123) 2 56 78 91 |
(212) 307 4100 (USA) | {{#invoke:Phone|linkPhone|(212) 307 4100 (USA)|cc=+1}} | (212) 307 4100 (USA) |
+49-345-1234567 | {{#invoke:Phone|linkPhone|+49-345-1234567|format=true}} | +49 (0)345 123 45 67 |
+20-92-1234567 | {{#invoke:Phone|linkPhone|+20-92-1234567|format=true|size=4}} | +20 (0)92 123 4567 |
0800 12 34 56 (gebührenfrei) | {{#invoke:Phone|linkPhone|0800 12 34 56 (gebührenfrei)|isTollfree=true}} | 0800 12 34 56 (gebührenfrei) |
112 | {{LinkPhone | phone = 112 }} | 112 Category:Kontakt: Telefon ohne Ländervorwahl Telefon ohne Ländervorwahl |
112 | {{LinkPhone | phone = 112 | cc=+49}} | 112 |
112 | {{LinkPhone | phone = 112 (Notruf) }} | 112 (Notruf) |
0900 12 34 56 (teure Servicenummer) | {{#invoke:Phone|linkPhone|0900 12 34 56 (teure Servicenummer)}} | 0900 12 34 56 (teure Servicenummer) |
Fehlersuche
Im Fehlerfall wird neben der Fehlerkategorie auch ein ausgeblendeter Fehlertext hinter der Telefonnummer ausgegeben.
Beschreibung der Funktionen
function lp.linkPhoneNumberSet(args)
args: arguments array;
Die Funktion spaltet eine Liste von Telefonnummern auf und übergibt jede einzelne Telefonnummer an lp.linkPhoneNumber
.
function lp.linkPhone(frame)
frame: frame object;
Die Funktion stellt die Schnittstelle für einen {{#invoke: ...}}
-Aufruf zur Verfügung.
function lp.linkPhoneTemplate(frame)
frame: frame object;
- Die obige Dokumentation wurde aus der Seite Modul:Phone/Doku eingefügt. (bearbeiten | Versionsgeschichte) Die Kategorien für dieses Modul sollten in der Dokumentation eingetragen werden. Die Interwiki-Links sollten auf Wikidata eingepflegt werden.
- Liste der Unterseiten
-- documentation
local Phone = {
suite = 'Phone',
serial = '2022-10-22',
item = 106152593
}
-- module import
-- require( 'strict' )
local cm = require( 'Module:CountryData' )
local lp = require( 'Module:LinkPhone' )
local yn = require( 'Module:Yesno' )
-- module variable and administration
local ph = {
moduleInterface = Phone
}
-- with parameter check for templates / #invoke
function ph.linkPhoneNumberSet( args )
args.phone = args.phone or args.mobile or args[ 1 ] or ''
if args.phone == '' then
return ''
end
args.cc = ( args.cc or '' ):gsub( '^00', '+' ):gsub( '^%+%++', '+' )
args.format = yn( args.format, false )
args.isFax = yn( args.isFax, false )
args.isTollfree = yn( args.isTollfree, false )
args.size = tonumber( args.size )
-- get country code if allowed
local size
if ( args.cc == '' or args.cc:sub( 1, 1 ) ~= '+' ) then
args.cc, size = cm.getCountryCode()
args.size = args.size or size
end
args.size = args.size or 2
return lp.linkPhoneNumbers( args )
end
-- for #invoke call
function ph.linkPhone( frame )
return ph.linkPhoneNumberSet( frame.args )
end
-- for template call
function ph.linkPhoneTemplate( frame )
return ph.linkPhoneNumberSet( frame:getParent().args )
end
return ph