aktive URL auslesen

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

aktive URL auslesen

Beitrag von shi » Di 10. Nov 2015, 16:55

Hallo, ich benötige für meine Social-Media-Buttons die aktive URL. Wie kann ich diese auslesen? Mit

Code: Alles auswählen

{$href|escape}
wird ja nur die Startseite ausgelesen.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: aktive URL auslesen

Beitrag von rethus » Di 10. Nov 2015, 19:13

Versuch es mal mit

Code: Alles auswählen

$url = cUri::getInstance()->build(array(
    'idart' => cRegistry::getArticleId(),
    'lang' => cRegistry::getLanguageId()
), true);
Kannst das Modul dann gerne hier Posten :lol: Social-Media-Buttons kann man immer brauchen ;)
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: aktive URL auslesen

Beitrag von McHubi » Mi 11. Nov 2015, 11:36

Hallo zusammen,

alternativ käme auch

Code: Alles auswählen

$url=$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
in betracht.

Dabei stellt sich die Frage, was hier die bessere Variante ist? Zum einen aus Sicht der Performance und zum anderen aus Sicht der gelieferten Daten. Denn die angezeigte URL unterscheidet sich hinsichtlich der dem Seitenbesucher angezeigten URL. In meinem Fall sieht das so aus:

# Kategorie mit drei Artikeln und unterschiedlichen Artikeltiteln
# einer davon ist der Startartikel
# AMR eingestellt, dass die URL nach dem Schema www.meinedomain.de/kategoriename/index.html aufgebaut wird.

Code: Alles auswählen

$url = cUri::getInstance()->build(array(
    'idart' => cRegistry::getArticleId(),
    'lang' => cRegistry::getLanguageId()
), true);
liefert http://www.meinedomain.de/kategoriename ... ikels.html
und

Code: Alles auswählen

$url=$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
liefert www.meinedomain.de/kategoriename/index.html

Die letzte URL wird auch dem Seitenbesucher in der Adresszeile angezeigt. Es führen jedoch beide zum korrekten Artikel.

Aus Seitenbesuchersicht würde ich $_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"] bevorzugen, da das genau die angezeigte URL ist, die beabsichtigt wird zu teilen. Nachteil ist jedoch, dass hier immer der aktuell als Startartikel deklarierte Webartikel aufgerufen wird. Wird also die index.html geshared und danach der Startartikel verändert, ändert sich auch der ursprünglich geteilte Link. Auch das hätte - je nach Szenario der geänderten Inhalte - Vor- und Nachteile.

VG,


Markus
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Re: aktive URL auslesen

Beitrag von shi » Mi 11. Nov 2015, 12:22

Danke für die schnelle Unterstützung, habe es hinbekommen die URL auszulesen. Wenn ich ein vorzeigbares Modul fertiggestellt habe, werde ich es selbstverständlich hier vorstellen.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: aktive URL auslesen

Beitrag von rethus » Mi 11. Nov 2015, 13:46

McHubi hat geschrieben: Dabei stellt sich die Frage, was hier die bessere Variante ist? Zum einen aus Sicht der Performance und zum anderen aus Sicht der gelieferten Daten. Denn die angezeigte URL unterscheidet sich hinsichtlich der dem Seitenbesucher angezeigten URL. In meinem Fall sieht das so aus:
Wie die URL letztendlich ausgegeben wird lässt sich ja noch beeinflussen, ich würde aber immer empfehlen, auch die Contenido-Funktionen zu nutzen.
Zum einen kommt man so besser mit der Verwendung der Klassenstrukturen klar, zum anderen sind auch cUriBuilder oder ModRewriteUrlUtil dann nicht mehr fremd.
Weiterer Vorteil: Implementierst du deinen eigenen URI-Builder, oder erweiterst den Vorhandenen (/classes/uri), werden dies in allen Modulen die diesen ... anstatt $_SERVER nutzen ohne weiteren Aufwand optimiert. OOP halt.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: aktive URL auslesen

Beitrag von McHubi » Mi 11. Nov 2015, 15:29

In punkto "Großes Ganzes" hast Du vollkommen recht. :D
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

Antworten