Hallo,
ich habe ein Script geschrieben was mir den Inhalt einer bestimmten Seite aus einem anderen Mandaten der gleichen Contenido Installation holt. Jetzt leitet Contenido aber immer auf eine idcat 95 um die leer ist. Diese Weiterleitung ist aber nirgends hinterlegt. Ich springe natürlich hier zwischen zwei Mandaten hin und her, was ich aber in meinen Modulen bereits berücksichtig habe. Die IDCat wird auf in der Navigation richtig mitgegeben. Contenido scheint das jedoch nicht zu zulassen das ein Text aus einem anderen Mandanten geholt wird und leitet deswegen immer auf eine andere Seite um.
Was macht Contenido da und wie kann ich diese dubiose Weiterleitung abschalten?
dubiose Umleitung in Contenido
Hi, das Script wäre wie folgt:
Code: Alles auswählen
<?php
#Includes
cInclude("frontend", "includes/functions.navigation.php");
cInclude("classes", "class.frontend.permissions.php");
cInclude("classes", "class.frontend.groups.php");
cInclude("classes", "class.frontend.users.php");
function f_content($idcat) {
global $client, $lang, $cfg, $idcat;
if (!is_object($db)) {
$db = new DB_Contenido;
}
$sql = "
SELECT
C.value
FROM
".$cfg["tab"]["cat_art"]." AS A,
".$cfg["tab"]["art_lang"]." AS B,
".$cfg["tab"]["content"]." AS C
WHERE
A.idcat = '".$idcat."' AND
B.idart = A.idart AND
C.idartlang = B.idartlang
";
print $sql;
$db->query($sql);
while($db->next_record() ) {
$text = $db->f("idcatlang");
}
return $text;
}
print "AUSGABE: <br>";
if($idcat != "") {
print f_content($idcat);
}
?>
Mehrere Dinge fallen mir auf:
Hier willst Du Inhalte aus dem Feld "idcatlang" laden, Du hast aber nur "value" aus der Datenbank geholt.
$idcat ist in Contenido eine globale Variable, die die aktuelle idcat enthält. Wenn Du dieses Script als Modul oder im Layout einsetzt wird immer nur die aktuelle idcat abgefragt. Vielleicht kommt es dadurch zu einer merkwürdigen Weiterleitung. Ich würde die Variable umbenennen.
Dein SQL-Code fragt alle Inhalte aller Sprachen aller Artikel einer Kategorie ab, ohne dass Du sie hinterher wieder zuordnen kannst.
Code: Alles auswählen
while($db->next_record() ) {
$text = $db->f("idcatlang");
}
Code: Alles auswählen
if($idcat != "") {
print f_content($idcat);
}
Dein SQL-Code fragt alle Inhalte aller Sprachen aller Artikel einer Kategorie ab, ohne dass Du sie hinterher wieder zuordnen kannst.
Bis dann
Tono
Tono
Super danke... das funktioniert...
Allerdings kommt jetzt im Adminbereich bei den anderen Artikel die ich über das Modul ausgeben möchten (also die Artikel die nicht von einem anderen Mandanten ausgelesen werden) kein Button mehr um den Inhalt im Editor zu bearbeiten. Woran kann das liegen? Muss ich da eine bestimmte Variable mit übergeben?
Allerdings kommt jetzt im Adminbereich bei den anderen Artikel die ich über das Modul ausgeben möchten (also die Artikel die nicht von einem anderen Mandanten ausgelesen werden) kein Button mehr um den Inhalt im Editor zu bearbeiten. Woran kann das liegen? Muss ich da eine bestimmte Variable mit übergeben?