dubiose Umleitung in Contenido

Gesperrt
bweichel
Beiträge: 223
Registriert: Mo 24. Jul 2006, 22:29
Wohnort: Saarbrücken
Kontaktdaten:

dubiose Umleitung in Contenido

Beitrag von bweichel »

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?
tono
Beiträge: 574
Registriert: Mo 25. Apr 2005, 20:51
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von tono »

Zeig mal das Script. Ohne das wäre jede Vermutung nur geraten.

Ich glaube nicht, dass Contenido grundsätzlich was dagegen hat Inhalte aus anderen Mandanten zu holen.
Bis dann
Tono
bweichel
Beiträge: 223
Registriert: Mo 24. Jul 2006, 22:29
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von bweichel »

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);
}
?>                     
tono
Beiträge: 574
Registriert: Mo 25. Apr 2005, 20:51
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von tono »

Mehrere Dinge fallen mir auf:

Code: Alles auswählen

  while($db->next_record() ) {
      $text = $db->f("idcatlang");
   } 
Hier willst Du Inhalte aus dem Feld "idcatlang" laden, Du hast aber nur "value" aus der Datenbank geholt.

Code: Alles auswählen

if($idcat != "") {
   print f_content($idcat);
}
$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.
Bis dann
Tono
bweichel
Beiträge: 223
Registriert: Mo 24. Jul 2006, 22:29
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von bweichel »

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?
tono
Beiträge: 574
Registriert: Mo 25. Apr 2005, 20:51
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von tono »

???
Ich verstehe nicht was Du meinst. Vielleicht kannst Du mal beschreiben was wo wie ausgegeben werden soll.

Die obige Methode ist zum ausgeben von Inhalten geeignet nicht zum eingeben oder editiern.
Bis dann
Tono
Gesperrt