[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[GELÖST] Fehler in URL-Übergabe (bei clang) - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

[GELÖST] Fehler in URL-Übergabe (bei clang)

22. Aug 2009, 09:40

Hallo!

Ich habe ein sehr unangenehmes Problem:

Ich bin auf der deutschen oder englischen Seite (das ist egal), fahre über einen Link. Es steht auch korrekt da:

index.php?article_id=12&clang=1

Im Quellcode steht dann:

index.php?article_id=12&clang=1

Entsprechend ruft er es auch so auf und geht dann auf die deutsche Seite, da Default-Language.

Wie kann man Redaxo dazu bringen, das richtig zu machen? Das ist mehr als ärgerlich, weil die Seite eigentlich online gehen soll. Ich hoffe ich muss nicht doch wieder auf Typo3 umschwenken... :x

Hier mal mein Code dazu:

Code: Alles auswählen

<?php

// ID der Root-Kategorie ermitteln
$article = OOArticle::getArticleById($this->getValue('article_id'));
$tree = $article->getParentTree(); 
$articleRoot = $tree[0]->getId();
$naviSubMain="";


// Erste Ebene auslesen
foreach (OOCategory::getRootCategories() as $lev1) {
   if ($lev1->isOnline() && $lev1->getName() != "Meta Navi") {
        // Class für Navi bestimmten
       $hrefClass="subMainnaviNO";
      if ($articleRoot == $lev1->getId()) {
         $hrefClass="subMainnaviACT";
      }
        $naviSubMain.= "<div class='mainnaviDIV'><a href='".$lev1->getUrl()."' class='".$hrefClass."'>".$lev1->getName()."</a></div>";
   }
}

print $naviSubMain;

?> 

HINWEIS: Das ist ein Doppelpost! Ich kann ihn selbst nicht verschieben, daher hier noch mal eingefügt.
Zuletzt geändert von MaloRox am 3. Sep 2009, 17:23, insgesamt 1-mal geändert.

zehbaeh
Beiträge: 556
Registriert: 17. Okt 2006, 11:52
Wohnort: Solingen

Re: Fehler in URL-Übergabe (bei clang)

22. Aug 2009, 10:44

MaloRox hat geschrieben: Ich bin auf der deutschen oder englischen Seite (das ist egal), fahre über einen Link. Es steht auch korrekt da:

index.php?article_id=12&clang=1

Im Quellcode steht dann:

index.php?article_id=12&clang=1
Das obere ist im jeweiligen Kontext IDENTISCH mit dem unteren!
Das '&' muss im Quelltext als Entity '&' angegeben sein.
Deswegen bevorzuge ich auch das Semikolon ';' als Trennzeichen.
Wieso sich das UND Zeichen "eingebürgert" hat ist mir bis heute unverständlich.

MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

24. Aug 2009, 10:46

jau. leider geht es nur so nicht. was nun sprach zeus? :(

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

24. Aug 2009, 11:50

du musst in diesem fall einen kleinen umweg gehen


mit

rex_getUrl($id,$clang,$params, $divider)

geht ein "normaler" url link. hinten erkennst du schon den divider, der leider bei den objekten nicht verwendet wird. d.h. nun folgendes:

$lev1->getUrl()

wird zu

rex_getUrl($lev1->getId(),'','','&')

In der nächsten Version wird man auch direkt in den Objekten den Divider ändern können.

ist ungetestet, sollte aber ziemlich sicher so klappen.

lg

jn
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

zehbaeh
Beiträge: 556
Registriert: 17. Okt 2006, 11:52
Wohnort: Solingen

24. Aug 2009, 11:58

MaloRox hat geschrieben:jau. leider geht es nur so nicht. was nun sprach zeus? :(
Sprich: Deutsch hat bei Dir die Sprach-ID 0, der Request enthält clang=1 (Englisch) und es wird trotzdem der Artikel mit der Sprach-ID 0 angezeigt?
IMHO mögliche Ursachen:
1. Quelltext des Redaxo "Core" geändert
2. Fehlerhaftes Addon (ändert REX[CLANG] und/oder _GET[clang] Parameter)
3. Gesetzter clang-Cookie
4. Gesetztes _SESSION[clang] und Session-Variablen werden importiert

EDIT: REX[CUR_CLANG] wird IMHO ohne Angabe eines 'clang' Parameters von div. Redaxo Funktionen ausgewertet. Also würden sich Änderungen an dieser Variable bemerkbar machen.

MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

1. Sep 2009, 15:19

das problem besteht immer noch. trotz

Code: Alles auswählen

rex_getUrl($lev1->getId(),'','','&') 
das kann doch alles nicht wahr sein... muss ich jetzt doch wieder auf typo3 zurückgreifen? so was von ärgerlich das ganze...

irgendwer noch eine idee?

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

1. Sep 2009, 15:38

Ich brauche einen Backend- und einen FTP-Zugang. Dann kann ich dir definitiv sagen, was du falsch machst.

Nur so viel: An Redaxo liegt es nicht... =)
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

1. Sep 2009, 16:08

Xong hat geschrieben:Ich brauche einen Backend- und einen FTP-Zugang. Dann kann ich dir definitiv sagen, was du falsch machst.

Nur so viel: An Redaxo liegt es nicht... =)

Jaja immer liegt es an mir! :D
Sie haben Post. Also E-Mail :)

Super vielen Dank für die Hilfe!!!

MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

3. Sep 2009, 17:22

Es ist gelöst! :)

RIESEN DANK AN XONG FÜR DIE SUPER HILFE!!!!!


Folgendes war der Fehler... ich zitiere aud Xong's Mail:
...war mir dann irgendwann klar, dass der Fehler nicht am HTML, am Browser oder Ähnlichem liegen könnte.

Also habe ich mir mal die GET-Requests angeschaut, die vom Browser zum Server gesendet wurden.
Und siehe da: Eine Anfrage der Form index.php?article_id=X&clang=Y wird vom Server fröhlich mit einem 302er quitiert und zu index.php?article_id=X&clang=Y weitergeleitet.
...
Lange Rede kurzer Sinn: Der Übeltäter ist das Weiterleitungsmodul, dass du bei den entsprechenden Artikeln verwendest. Ich habe das Modul entsprechend angepasst.

Und hier auch natürlich das angepasste Weiterleitungs-Modul:

Eingabe:

Code: Alles auswählen

An diesen Artikel weiterleiten.
<br />REX_LINK_BUTTON[1]
<br />
Ausgabe:

Code: Alles auswählen

<?php

if ("REX_LINK_ID[1]">0)
{
if (!$REX["REDAXO"])
{
ob_end_clean();
header("Location: ".rex_getUrl("REX_LINK_ID[1]",'','','&'));
exit;
}
}

?>

Nochmals super vielen Dank, Xong! :)[/code]

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

3. Sep 2009, 17:46

Xong, du bist echt genial. Bin sprachlos, wie jemand das alles so überblickt.
Wo kann man das lernen?

Gruß
Ralf
- Danke für Redaxo! -
http://www.prenzlweb.de

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

3. Sep 2009, 17:57

rsi hat geschrieben:Xong, du bist echt genial. Bin sprachlos, wie jemand das alles so überblickt.
Öhm... danke! :oops:
rsi hat geschrieben:Wo kann man das lernen?
Das geht nicht. Liegt ausschließlich an der Intelligenz. :lol:

Ernsthaft: Wenn mich jemand fragt, wie ich an solche Probleme herangehe, dann zucke ich meistens mit den Schultern.
Ich bin mir halt immer sicher, dass das Problem nicht einfach aus der Luft gegriffen ist und suche systematisch nach dem Fehler.
Dazu kommt ein Schwung Erfahrung und jede Menge Spaß daran, Fehler zu finden und auszubügeln. Wenn´s dann noch um Webseiten geht, bin ich in meinem Element. =)
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Zurück zu „Allgemeines [R4]“