Seite 1 von 1

Strukturpunkte ohne Startseite in Contenido 4.4.2 ?!?

Verfasst: Mo 26. Jan 2004, 13:40
von filliam
Hallo zusammen

Hab das Forum nach einer Erweiterung für Contenido 4.4.2(!) analog der von Jens-Holger Hopp für die Contenido Version 4.2 gesucht, aber leider nichts gefunden! :(

Gibt es eine ähnliche elegante Lösung wie diese für 4.4.2?

Unter
http://www.contenido.de/forum/viewtopic.php?t=2465
ist noch ein Ansatz für die Version 4.4.1, gefällt mir aber nicht so wie die vom Jens-Holger. Ich denke die Anpassung dieser an 4.4.2 soltle doch nicht so gross sein? Leider funktioniert die Erweiterung kein bisschen wenn ich die folgenden Zeilen in v4.4.2 ändere:

alter code:

Code: Alles auswählen

die (i18n("No start article for this category"));
neuer code:

Code: Alles auswählen

$db->query('SELECT con_cat.idcat FROM con_cat WHERE parentid = '.$idcat.' AND preid = 0');
if($db->next_record()){
  header('Location: http://'.$_SERVER['HTTP_HOST'] .''.$_SERVER['PHP_SELF'].'?client='.$client.'&lang='.$lang.'&idcat='.$db->f('idcat').'');
} else {
  die ('Keine Startseite in dieser Kategorie vorhanden.');
}
Wobei man noch anmerken muss, dass der neue codeblock noch in einem "if" steht; also in geschweiften Klammern ( {} ) stehen muss. Was vorher nicht war, da n oneliner ;). für die die's begreifen wollen. ;)

Wäre froh um eine gute Antwort, kleb bald an der (Eis-)diele ;).

Gruss
filliam

Verfasst: Mo 26. Jan 2004, 14:30
von eTrax
mh, wäre nicht auch eine Änderung des Navigationsmoduls denkbar? Bei der Zusammenstellung der verschiedenen Ebenen müsste dann entsprechend überprüft werden, ob der Menüpunkt bereits einen Startartikel hat, ansonsten erhält er als Link den Link zum nächsten Startartikel der nächsten Ebene...

z.B.:

1 : link1
1.1 : link1.1
1.2 : link1.2.1 (kein Inhalt)
1.2.1: link1.2.1
1.2.2: link1.2.2
2 : link2.2 (kein Inhalt)
2.1 : link2.1.1 (kein Inhalt)
2.1.1: link2.1.1
2.1.2: link2.1.2
2.1.3: link2.1.3
2.2 : link2.2

mh, sieht grausig aus, aber vielleicht versteht das ja jemand... Evtl. wäre dann auch direkt noch eine Aussortierung der geschützten Artikel möglich?

Verfasst: Mo 26. Jan 2004, 14:45
von emergence
ich hab hier ne kleine änderung die für 4.4.2 funktionieren müsste...
für die front_content.php (irgendwo bei zeile 150-180)

Code: Alles auswählen

                } else {

                        $sql = "SELECT idart FROM ".$cfg["tab"]["cat_art"]." WHERE idcat='".$idcat."' AND is_start='1'";
                        $db->query($sql);

                        if ($db->next_record()) {
                                $idart = $db->f("idart");
                        } else {

                                //im backend richtige Fehlermeldung
                                if ($contenido)
                                    die (i18n("No start article for this category"));
                                else
                                {

				// Try to select a subcategory
				$sql = "SELECT idcat FROM ".$cfg["tab"]["cat"]." WHERE parentid = '".$idcat."' AND idclient='".$client."' AND preid = 0";
				$db->query($sql);
				if($db->next_record()){
  					header("Location: front_content.php?idcat=".$db->f('idcat')."&client=$client&lang=$lang");
				}

                                	if ($error == 1)
                                	{
                                		echo "Fatal error: Could not display error page. Error to display was: 'No start article in this category'";
                                	} else {
                                    header ($errsite);
                                	}
                                }
                        }

                }
wenn kein startartikel vorhanden ist, wird einfach die erste untergeordnete kategorie selektiert..., wenn keine vorhanden -> gleiche meldung wie bisher...

ich habs jetzt zwar nicht mit der 4.4.2 getestet sollte aber funktionieren...
im backend wird die gleiche fehlermeldung wie bisher angezeigt...
wer das nicht will setzt den teil noch vor die if ($contenido)

welche bedeutung das AND preid = 0 haben soll ?? keine ahnung ich habs mal drinnen gelassen...

Verfasst: Mo 26. Jan 2004, 15:44
von filliam
ich habs ausprobiert in 4.4.2, geht auch wunderbar.
nur möchte ich, dass es die erste unterkategorie in dem baum nimmt und nicht die erste ueberhaupt :(. any idea?

Verfasst: Mo 26. Jan 2004, 16:21
von emergence
filliam hat geschrieben:ich habs ausprobiert in 4.4.2, geht auch wunderbar.
nur möchte ich, dass es die erste unterkategorie in dem baum nimmt und nicht die erste ueberhaupt :(. any idea?
ähm, wie meinen ? wie die erste überhaupt... ?
ich hab blöderweise keine ahnung wie du das meinst...
abgesehen davon weiss ich nicht welche funktion preid und postid in der tabelle haben...

Verfasst: Mo 26. Jan 2004, 16:36
von filliam
ich denk deine änderung am script bewirkt, dass es auf die erste unterkategorie im der ersten node nimmt:

1. -> geht auf 1.1
1.1.
1.2.

problem is nur:

2. -> geht AUCH auf 1.1 anstatt 2.1.
2.1.

wie ist es bei dir?

Verfasst: Mo 26. Jan 2004, 17:57
von emergence
ähm...
nein, ich hab da ein ganz anderes problem jetzt beim ausprobieren gehabt...

ein neues query:

Code: Alles auswählen

				// Try to select a subcategory
                $sql = "SELECT
				            A.idcat AS idcat
				        FROM
				            ".$cfg["tab"]["cat_tree"]." AS A,
				            ".$cfg["tab"]["cat"]." AS B
				        WHERE
				            A.idcat  = B.idcat AND
				            B.parentid = ".$idcat." AND
				            idclient = '".$client."'
				        ORDER BY
				            idtree";
und für die location zeile ne ersetzung dazu:

Code: Alles auswählen

die(header("Location: front_content.php?idcat=".$db->f('idcat')."&client=$client&lang=$lang"));

Verfasst: Mo 26. Jan 2004, 18:10
von filliam
Jetzt komm ich überhaupt nicht mehr nach. :)
Koenntest du mir sagen wo welche änderungen hinkommen würden? :)

Teste es dann gerne aus...

Verfasst: Mo 26. Jan 2004, 18:12
von emergence
geänderte version

Code: Alles auswählen

                } else { 

                        $sql = "SELECT idart FROM ".$cfg["tab"]["cat_art"]." WHERE idcat='".$idcat."' AND is_start='1'"; 
                        $db->query($sql); 

                        if ($db->next_record()) { 
                                $idart = $db->f("idart"); 
                        } else { 

                                //im backend richtige Fehlermeldung 
                                if ($contenido) 
                                    die (i18n("No start article for this category")); 
                                else 
                                { 

            // Try to select a subcategory 
                $sql = "SELECT 
                        A.idcat AS idcat 
                    FROM 
                        ".$cfg["tab"]["cat_tree"]." AS A, 
                        ".$cfg["tab"]["cat"]." AS B 
                    WHERE 
                        A.idcat  = B.idcat AND 
                        B.parentid = ".$idcat." AND 
                        idclient = '".$client."' 
                    ORDER BY 
                        idtree"; 
            $db->query($sql); 
            if($db->next_record()){ 
                 die(header("Location: front_content.php?idcat=".$db->f('idcat')."&client=$client&lang=$lang"));
            } 

                                   if ($error == 1) 
                                   { 
                                      echo "Fatal error: Could not display error page. Error to display was: 'No start article in this category'"; 
                                   } else { 
                                    header ($errsite); 
                                   } 
                                } 
                        } 

                }

Verfasst: Mo 26. Jan 2004, 18:23
von filliam
Klappt prächtig! Danke dir vielmals!

Werde mich in diesem Thread sonst wieder melden,
bin da grad ne mittelgrosse site am aufziehn mitm contenido,
und ich muss sagen, alle achtung, kommt alles gut! :D :D :D

Verfasst: Mo 26. Jan 2004, 18:29
von emergence
wohl gemerkt diese version funktioniert wahrscheinlich nur bei contenido 4.4.0 - 4.4.3
beim snapshot anscheinend wieder nicht mehr mit den standard installationseinstellungen...