Willkommen Gast.
Um die volle Funktionalität des Forums nutzen zu können,
müssen Sie sich einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

 
Erweiterte Suche

31.110 Beiträge in 6.475 Themen- von 6.477 Mitglieder - Neuestes Mitglied: Frideborg

31-03-2020 16:00:37
JOOM::GALLERY::FORUMArchivPonyGallery MLZusammenspiel mit anderen KomponentenPonyGallery ML und Links in Kategoriebeschreibung
Seiten: [1]
Drucken
Autor Thema: PonyGallery ML und Links in Kategoriebeschreibung  (Gelesen 4298 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Photoangel
Jr. Member
**
Offline Offline

Beiträge: 65


« am: 15-02-2008 23:32:06 »

Hallo zusammen,

es geht um folgendes. Ich habe Joomla 1.0.14., die PonyGallery ML 2.5.0 (Bugfix 03), SH404SEF, das PonyGallery ML Content Elements für Joom!Fish und das Natives Plugin für sh404SEF V 1.1 installiert. Bei allen links innerhalb von Joomla und auch in der Menueführung und den Bilderlinks der PonyGallery ML übersetzt SH404SEF bzw. das Natives Plugin Plugin artig die Links in suchmaschinenfreundliche Links. Nur bei Links, die in den Beschreigungen der Kategorien der PonyGallery ML eingefügt sind funktioniert das nicht 100%ig. Man gelangt zwar durch klicken eines solchen Links an die richtige Stelle und oben im Browser steht dann auch der suchmaschinenfreundliche Link, allderdings springt die Webseite von der Deutschen Sprachführung in die Englische Sprachführung (was wohl aber eher daran liegt, dass ich die Links aus der englischen Sprachversion meiner Webseite kopiert habe). Fährt man mit der Maus über einen solchen Link ohne ihn zu klicken, wird in diesem Fall unten links im Browser nicht der suchmaschinenfreundliche Link angezeigt, so wie z.B. bei Links in der Menüführung der PonyGallery ML.

Hier mal ein Beispiel (schaut es euch Bitte beim Mera Luna 2007 an):
http://www.moonlightproject.eu/de/Fotogalerie/Festivals/index.php

Bisher habe ich mir so geholfen, dass ich per Hand die Suchmaschinenfreundlichen Links hinter den Link im Text der Kategoriebeschreibung abgelegt habe. Das ist aber bei vielen Links sehr mühselig. Bei der Menüführung der PonyGallery ML geht die Linkübersetzung ja auch automatisch (und ohne Sprung in der Sprache), dass die ursprüglichen Joomla-Links in die neuen suchmaschinenfreundlichen Links umgewandelt werden. Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt. Liegt der oben beschriebenen Fall an der PonyGallery ML dem SH404SEF oder dem Natives Plugin für sh404SEF? Vielleicht kann mir da jemand einen Tipp geben. Schon einmal vielen Dank im Voraus.

Viele Grüße vom Photoangel
« Letzte Änderung: 16-02-2008 09:16:02 von Photoangel » Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #1 am: 16-02-2008 10:15:19 »

Hallo Photoangel,
eigentlich sprichst Du 2 Probleme an:
1) Der Sprung in der Sprachführung bei Klick auf einen Link von Deutsch auf Englisch.
Das kannst Du vermeiden, indem Du in diesem Fall den 'deutschen' Link verwendest.
Ein Beispiel anhand des Links auf die Kategorie 'Best of M'era Luna 2007 part one'
Statt:
http://www.moonlightproject.eu/index.php?option=com_ponygallery&Itemid=29&func=viewcategory&catid=212
verwende:
http://www.moonlightproject.eu/de/index.php?option=com_ponygallery&Itemid=29&func=viewcategory&catid=212

dann wird der Link in SEF so umgesetzt:
http://www.moonlightproject.eu/de/Fotogalerie/Festivals/Mera-Luna-2007/Best-of-Mera-Luna-2007-prat-one/index.php

und die Sprache sollte nicht mehr 'springen'

2) Es sollen bereits beim Aufbau der Seite in der Kategoriebeschreibung SEF-URL angezeigt werden.
Um SEF-Komponenten zu veranlassen, URL bereits vor der eigentlichen Ausgabe umzuwandeln, wird im
Code der Ponygallery ML (wie auch bei anderen Komponenten) vorher die Funktion sefreltoabs() mit der
URL als Argument aufgerufen. Wenn für die Komponente ein SEF-Plugin vorhanden ist (natives Plugin oder
'sef_ext.php' Datei usw.) wird auch die SEF-URL ausgegeben.
Diese Umsetzung erfolgt dann nach den Regeln, die im SEF-Plugin definiert sind. In Deinem Fall ist die
Non-SEF URL sozusagen im Content der Kategoriebeschreibung definiert. Auf diesen hat Joom!Fish mit seinem
System-Mambot (jfdatabase.systembot.php) Zugriff und würde den Content auch übersetzen, wenn eine solche
Übersetzung vorhanden wäre.

Aber leider hat zu diesem Zeitpunkt die SEF-Komponente auf die im Content enthaltenen URLs keinen Zugriff.
Dieser erfolgt erst dann, wenn Du auf den Link klickst. Dann erfolgt auch erst die Umsetzung in eine SEF-URL.

Ich sehe da eigentlich folgende Möglichkeiten. Entweder wird ein Content-Mambot vor dem Joom!Fisch Mambot platziert.
Dieser hat die Aufgabe solche absoluten Links im Content zu erkennen und mit Hilfe des SEF-Plugins umzusetzen. Ein
solcher Mambot ist mir nicht bekannt.
Oder ein solcher Mechanismus wird im Code der Ponygallery eingebaut... Dazu melde ich mich noch einmal.

Die dritte Möglichkeit, bereits die SEF-URL in die Kategoriebeschreibung einzubauen, ist zu aufwändig.

Gruß
Andreas

Nachtrag: Wie sehen bei Dir die Einstellungen in 'sh404SEF - Languages - Übersetzungsmanagement' aus?
« Letzte Änderung: 16-02-2008 10:33:36 von aHa » Gespeichert
Photoangel
Jr. Member
**
Offline Offline

Beiträge: 65


« Antworten #2 am: 16-02-2008 10:49:33 »

Hallo Andreas,

wow wieder sehr schnell und die Antwort genau auf den Punkt gebracht. Danke.

1 + 2) Ich werde jetzt vor erst einmal die 'deuteschen' SEF-URLs per Hand einbinden. Ist zwar jetzt ein wenig mehr Arbeit, aber das ist OK. Allerdings sind das dann feste links, die sich nicht dynamisch mit ändern, wenn ich einmal Kategorien verschiebe und sich somit der Pfad ändert.

zu2)Hier mal meine sh404SEF Spracheinstellugen. Ich hoffe es sind die Angaben, die Du wissen wolltest.

Translation management
Translate URL?    Yes
Insert language code in URL?    Yes

English
Page text     Page-%s
Translate URL?   Default
Insert language code in URL? Default

Germani
Page text    Page-%s
Translate URL?    Default
Insert language code in URL? Default

Noch einmal vielen Dank für die ausführliche Antwort.

Viele Grüße vom
Photoangel
Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #3 am: 16-02-2008 14:34:47 »

Danke, die Einstellungen wollte ich wissen.

Eigentlich benötigt man eine Funktion, die vor der Ausgabe der Kategoriebeschreibung aufgerufen wird und diese '<a href=' Tags erkennt
und die darin enthaltenen URL in SEF-URL umwandelt.

Beispielsweise diese:

Code
/**
* Pruefung eines Textes auf '<a href=...' Tags und Umwandlung der URL in SEF URL
* @param    text: Zu untersuchender Text
* @return   text: geparster und ggf. modifizierter Text mit SEF URL, wenn kein
*                 Link gefunden Rueckgabe des unveraenderten Textes
* */

function AbsinSefURL($text) {
 $offset=0;
 $foundarray=null;
 
 while (($offset = strpos($text,'<a href',$offset))) {
   //gefunden
   //nach dem folgenden '=' suchen
   $offset = strpos($text,'=',$offset);
   //Position merken und Ende der URL suchen >
   $offset2 = strpos($text,'>',$offset);
   //",' und Leerzeichen entfernen
   $tempstring = trim(substr($text,$offset+1,$offset2-$offset-1),"\"\' ");
   //in Array aufnehmen
   $foundarray[]=$tempstring;
   $offset=$offset2;
 }
 if (!empty($foundarray)) {
   foreach ( $foundarray as $foundelem ) {
     //nach index.php suchen
     $offset=strpos($foundelem,'index.php');
     //und URL im Text gegen SEF URL austauschen
     $text = str_replace ($foundelem,sefRelToAbs(substr($foundelem,$offset)),$text);
   }
 }
 return $text;
}

Diese könnte man in der 'common.ponygallery.php' unterbingen.

Der Aufruf erfolgt dann in der ponygallery.html.php

Zeile 1202
vorher
Code
$catdescription = $database->loadResult();
 

nachher
Code
$catdescription = AbsinSefURL($catdescobj->description);
 

und Zeile 1396
vorher
Code:
<br /><?php echo _PONYGALLERY_DESCRIPTION . ": " . $row1->imgtext; ?>

nachher
Code:
<br /><?php echo _PONYGALLERY_DESCRIPTION . ": " . AbsinSefURL($row1->imgtext); ?>


Das kannst Du ja mal in einer Testinstallation ausprobieren, bitte nicht produktiv
« Letzte Änderung: 16-02-2008 20:04:57 von aHa » Gespeichert
Seiten: [1]
Drucken
Gehe zu:  

HOSTED BY SCHWARZKÜNSTLER ®

PROTECTED BY  ZB BLOCK  AND Project Honey Pot
Theme orange-lt created by panic

Bad Behavior has blocked 1664 access attempts in the last 7 days.