Advanced Mod Rewriting Contenido 4.6.x

Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Prpbs mit *.html

Beitrag von Tom » Di 27. Dez 2005, 19:50

hallo,

erst einnmal herzlichen dank an die entwickler dieses tollen moduls!!!

ich habe alles in der aktuellen 4.4.6 eingebaut und nach einigen einstellungen in der httpd.conf (ich habe confixx aUF dem server...) läuft es super!

nun wollte ich ebenfalls eine seite mit *.html (oder .php...) benennen lassen und änderte meine hauptnavis. ich arbeite übrigens nur mit hauptnavis und davon gleich 9 stück ...

bei mir gibt es aber die o.g. zeile nicht, sondern nur:

Code: Alles auswählen

$tpl_mod1000->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
nun bin ich in sachen php leider nicht so gut unterwegs :lol: , so dass ich leider nicht in der lage bin, diese zeile sinngemäß anzupassen.

könnte da jemand helfen bitte?

herzlichen dank!

viele grüße
tom

ps.. benötigt noch jemand eine lösung für modrewrite auf confixx?
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 27. Dez 2005, 19:56

Wie, was?

Welche Contenido-Version nutzt Du? V4.4.6 hast Du geschrieben, aber in V4.6.x gepostet.
nun wollte ich ebenfalls eine seite mit *.html (oder .php...) benennen lassen und änderte meine hauptnavis
Was meinst Du mit "benennen"...?
$tpl_mod1000->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
Das ist jetzt woher?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Beitrag von Tom » Di 27. Dez 2005, 20:13

ok, sorry für die verwirrung ...

ich nutze dei version 4.6.4 und wollte die erweiterung von yodatortenboxer nutzen, bei der er das hauptnavimodul angepasst hat, damit nicht

http://www.beispiel.de/kategoriename/

erscheint, sondern

http://www.beispiel.de/kategoriename/artikelname.htm.

dazu sollte man ja in der hauptnavi diese zeile ersetzen :

Code: Alles auswählen

front_content.php?idcat=".$data['idcat']."
die jibbet bei mir aber net, sondern die zeile, bzw. der teil der zeile lautet anders. ich post hier noch einmal die ganze zeile, 's kommt ja pro ebene der navigation einmal vor:

Code: Alles auswählen

$tpl_mod1000->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
das _mod1000 ist deswegen eingesetzt, weil ich die hauptnavi 9 mal laufen lasse, daher musste das modul (9mal) angepasst werden. also nicht irritieren lassen :-)

mein prob ist also, das ich den aufruf um die front_content.php nicht hinbekomme :-(

hättest du eine lösung?

danke und viele grüße
tom
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Di 27. Dez 2005, 20:18

ok das hat nix mit dem mod rewrite von mir zu tun, sondern ist eine änderung die von yodatortenboxer vorgenommen wurde - da kann ich leider nicht mitreden, da ich die änderung an den modulen nicht kenne (die interessieren mich im falle von mod rewrite nämlich nicht)

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Di 27. Dez 2005, 20:24

Tom hat geschrieben:
das _mod1000 ist deswegen eingesetzt, weil ich die hauptnavi 9 mal laufen lasse, daher musste das modul (9mal) angepasst werden. also nicht irritieren lassen :-)
falls du mal wieder so viele Navigationen einsetzen musst
http://contenido.org/forum/viewtopic.php?t=10119

greets
greets

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 27. Dez 2005, 20:46

Ähm, habe ich noch nicht verstanden.

Das sagt der Boxer:
yodatortenboxer hat geschrieben:und dann überall die

Code: Alles auswählen

front_content.php?idcat=".$data['idcat']."
durch die

Code: Alles auswählen

front_content.php?idcatart=".navidcatart($data['idcat'])."
ersetzt.
Und Du sagst, Du hast eine Zeile, die so lautet:

Code: Alles auswählen

$tpl_mod1000->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
Na, na? Genau!

Code: Alles auswählen

$tpl_mod1000->set('d', 'HREF',  $sess->url('front_content.php?idcatart='.navidcatart($data['idcat']));
Einfach mal probieren...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Di 27. Dez 2005, 20:50

Tom hat geschrieben:

Code: Alles auswählen

$tpl_mod1000->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
trial-'n-error ;)

probiere doch mal aus deinen z.b.

Code: Alles auswählen

$tpl_mod1000->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
das

Code: Alles auswählen

$tpl_mod1000->set('d', 'HREF',  $sess->url('front_content.php?idcatart='.navidcatart($data['idcat'])));
zu machen

simple search an replace :? funzt bei mir

und um die ganze Url in kleinformat zu bekommen:
http://contenido.org/forum/viewtopic.php?p=66196#66196
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Beitrag von Tom » Di 27. Dez 2005, 21:59

hallo,

danke an alle für die hilfe.
wie so oft sass der ochs dann auch selbst vorm berg; hatte die function navidcatart an der falschen stelle integriert. nach der korrektur und dem einsetzen der richtigen zeile mit dem aufruf der frontcontent klappte es auch .. allerdings mit einem kleinen schönheitfehler ... habe erst einmal ein navi modul angepasst und da stim´mt nun was nicht... es befinden sich 5 links im ersten navimodul und irgendwie ists da nun durcheinander. erst zeigen die links (trotz korrekten namen) auf den falschen content innerhalb des moduls (bzw. der baumstruktur) und beim letzten link ist sogar einer dabei, der asu der nachfolgenden baumstruktut kommt.

wenn ich es richtig erkannt habe, dann ists immer ein link zu weit unten. also als beispiel:

1. baum = 1. hauptnavimodul

1. link zeigt auf 2. link
2. link zeigt auf 3. link
3. link zeigt auf 4. link
...

5 link zeigt auf 3. link des 2. baumes. aber hier ist es so, dass link 1 und 2 ein externer link ist.

das ist doch reichlich seltsam, oder? aber ich kann mir gut vorstellen, dass es hierfür eine simple erklärung gibt ...

und wenn die nun noch jemand hätte, wäre ich echt glücklich :-)


vornweg herzlichen dank für eure hilfe!

viele grüsse
tom
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)

yodatortenboxer
Beiträge: 424
Registriert: Do 22. Jan 2004, 14:45
Wohnort: Kölpinsee auf Usedom
Kontaktdaten:

Beitrag von yodatortenboxer » Mi 28. Dez 2005, 00:16

Hiho,

ich habe bei mir den Output im Hauptnavimodul der 4.6.4 auf UL-Listen umgeschrieben und aus diesem Grund nur

Code: Alles auswählen

front_content.php?idcat=".$data['idcat']."
durch die

Code: Alles auswählen

front_content.php?idcatart=".navidcatart($data['idcat'])."
ersetzten geschrieben.

Wo dieses nun in euren, eventuell ebenfalls angepassten Modulen vorkommt kann ich nicht sagen. Im Original Hauptnavi-Modul der 4.6.4 müsste man

Code: Alles auswählen

$tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
durch

Code: Alles auswählen

$tpl->set('d', 'HREF',  $sess->url('front_content.php?idcatart='.navidcatart($data['idcat'])));
ersetzen.

Die komplette Zeile heist zum Beispiel in meiner Version original mit der idcat:

Code: Alles auswählen

echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_1\">".$data['name']."</span></a>";
und in der Version mit der idcatart:

Code: Alles auswählen

echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_1\">".$data['name']."</span></a>";
Der komplette Outputbereich sieht bei mir nun folgendermaßen aus:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Hauptnavigation
* Author(s)   :     Jan Lengowski, Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
* Modify by : ralf fleischer (ralf.fleischer@xtended-cooperation.de) 26.12.2005
************************************************/

#System properties in use:
#Type: navigation, Name: idcat_homepage
#Contains idcat of tree to be displayed in main navigation

#Includes
cInclude("frontend", "includes/functions.navigation.php");

#If no tree is selected, use client setting
$start_cat = "CMS_VALUE[0]";
if ($start_cat=='') {
    $cApiClient = new cApiClient($client);
	$start_cat = $cApiClient->getProperty('navigation','idcat_homepage');
}

if ( !is_object($db2) ) {
    $db2 = new DB_Contenido;
}

/**
 * Check if a category is child
 * of another category
 *
 * @return boolean true/false
 * @author Jan Lengowski <Jan.Lengowski@4fb.de>
 * @copyright four for business AG 2003
 */
function catIsChildOf($id, $idparent) {

    global $cfg, $client, $lang;

    $db = new DB_Contenido;

    $parent = $id;

    while ( $parent != 0 ) {

        $sql = "SELECT
                    a.parentid
                FROM
                    ".$cfg["tab"]["cat"]." AS a,
                    ".$cfg["tab"]["cat_lang"]." AS b
                WHERE
                    a.idclient  = '".$client."' AND
                    b.idlang    = '".$lang."' AND
                    a.idcat     = b.idcat AND
                    a.idcat   = '".$parent."'";

        $db->query($sql);
        $db->next_record();

        $parent = $db->f("parentid");

        if ($parent == $idparent) {
            return true;
        }

    }

    return false;

}

if ( catIsChildOf($idcat, $start_cat) ) {
    $sel_idcat = $idcat;
} else {
    $sel_idcat = $start_cat;
}

/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');

/**
 * Array storing alle the
 * navigation data
 */
$navitems = array();


/* Template Instance */
$tpl = new Template;

/**
 * Recursive function for creating
 * the navigation array
 * @param Int $idcat Category id
 */
function nav($idcat) {

        global $navitems, $client, $lang, $cfg, $start_cat;

        $db  = new DB_Contenido;
        $db2 = new DB_Contenido;

        $sql = "SELECT parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'";

        $db->query($sql);
        $db->next_record();

        $parentid = $db->f("parentid");

        if ( $parentid == 0 ) {

           if ( $idcat != $start_cat ){

                $navitems = array();
              
                $sql = "SELECT
                            A.idcat,
                            C.name
				            C.public,
	        			    C.idcatlang
                        FROM
                            ".$cfg["tab"]["cat_tree"]." AS A,
                            ".$cfg["tab"]["cat"]." AS B,
                            ".$cfg["tab"]["cat_lang"]." AS C
                        WHERE
                            A.idcat     = B.idcat   AND
                            B.idcat     = C.idcat   AND
                            B.idclient  = '$client' AND
                            C.idlang    = '$lang'   AND
                            C.visible   = '1'       AND
                            B.parentid  = '".$start_cat."'
                        ORDER
                            BY A.idtree";

                      $db->query($sql);

                      while ($db->next_record()) {

                            /* Check for external redirects... */
                            $sql = "SELECT
                                        a.external_redirect AS ext,
                                        a.idartlang AS idartlang
                                    FROM
                                        ".$cfg["tab"]["art_lang"]." AS a,
                                        ".$cfg["tab"]["cat_art"]." AS b,
                                        ".$cfg["tab"]["cat"]." AS c
                                    WHERE
                                        b.idcat     = '".$db->f("idcat")."' AND
                                        c.idclient  = '".$client."' AND
                                        c.idcat     = b.idcat AND
                                        a.idart     = b.idart AND
                                        a.idlang    = '".$lang."'";

                            $db2->query($sql);
                            $flag = false;
							while ($db2->next_record()&&!$flag) {
	                            if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
	                            {
									$flag = true;
	                                $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
	
	                                $navitems[$db->f("idcat")] = array("idcat"      => $db->f("idcat"),
	                                                                    "name"      => $db->f("name"),
	                                                                    "target"    => $target,
						                        	                    "public" => $db->f("public"),
		            					            	                "idcatlang" => $db->f("idcatlang"));
	                            }
							}
                      }

           }
           
           return true;
        }

        $sql = "SELECT
                    A.idcat,
                    C.name,
		            C.public,
       			    C.idcatlang
                FROM
                    ".$cfg["tab"]["cat_tree"]." AS A,
                    ".$cfg["tab"]["cat"]." AS B,
                    ".$cfg["tab"]["cat_lang"]." AS C
                WHERE
                    A.idcat     = B.idcat   AND
                    B.idcat     = C.idcat   AND
                    B.idclient  = '$client' AND
                    C.idlang    = '$lang'   AND
                    C.visible   = '1'       AND
                    B.parentid  = '$parentid'
                ORDER BY
                    A.idtree";

        $db->query($sql);

        while ($db->next_record()) {

                /* Check for external redirects... */
                $sql = "SELECT
                            a.external_redirect AS ext,
                            a.idartlang AS idartlang
                        FROM
                            ".$cfg["tab"]["art_lang"]." AS a,
                            ".$cfg["tab"]["cat_art"]." AS b,
                            ".$cfg["tab"]["cat"]." AS c
                        WHERE
                            b.idcat     = '".$db->f("idcat")."' AND
                            c.idclient  = '".$client."' AND
                            c.idcat     = b.idcat AND
                            a.idart     = b.idart AND
                            a.idlang    = '".$lang."'";

                $db2->query($sql);
				$flag = false;
                while ($db2->next_record() && !$flag) {
	                if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
	                {
						$flag = true;
	                    $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
	                    
	                    $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"),
	                                                      "name"    => $db->f("name"),
	   	                        	                      "public" => $db->f("public"),
		            					            	  "idcatlang" => $db->f("idcatlang"),
	                                                      "target"  => $target);
	                }
				}
        }

        $tmp_nav[$idcat]["sub"] = $navitems;
        $navitems = $tmp_nav;

        /* Function call */
        nav($parentid);

}  // end function

$sql = "SELECT
            A.idcat,
            C.name,
		    C.public,
       		C.idcatlang
        FROM
            ".$cfg["tab"]["cat_tree"]." AS A,
            ".$cfg["tab"]["cat"]." AS B,
            ".$cfg["tab"]["cat_lang"]." AS C
        WHERE
            A.idcat     = B.idcat   AND
            B.idcat     = C.idcat   AND
            B.idclient  = '$client' AND
            C.idlang    = '$lang'   AND
            C.visible   = '1'       AND
            B.parentid  = '$sel_idcat'
        ORDER BY
            A.idtree";

$db->query($sql);

while ( $db->next_record() ) {

        /* Check for external redirects... */
        $sql = "SELECT
                    a.external_redirect AS ext,
                    a.idartlang AS idartlang
                FROM
                    ".$cfg["tab"]["art_lang"]." AS a,
                    ".$cfg["tab"]["cat_art"]." AS b,
                    ".$cfg["tab"]["cat"]." AS c
                WHERE
                    b.idcat     = '".$db->f("idcat")."' AND
                    c.idclient  = '".$client."' AND
                    c.idcat     = b.idcat AND
                    a.idart     = b.idart AND
                    a.idlang    = '".$lang."'";

        $db2->query($sql);
        #$db2->next_record();
		$flag = false;
		while ($db2->next_record()&&!$flag) {
	        if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
	        {
				$flag = true;
	            $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
	    
	            $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"),
	                                               "name"   => $db->f("name"),
	  	                        	               "public" => $db->f("public"),
		            					           "idcatlang" => $db->f("idcatlang"),
	                                               "target" => $target);
	        }
		}
}

/* Create Navigation Array */
if(($sel_idcat=='')||($sel_idcat=='0')){
    $cApiClient = new cApiClient($client);
    $sel_idcat = $cApiClient->getProperty('navigation', 'idcat_homepage');
}

nav($sel_idcat);

/* Start Output buffer */
ob_start();


// Funktion zum umwandeln der idcat in idcatart
function navidcatart($idcat) {

   global $navitems, $client, $lang, $cfg, $start_cat;

   $db  = new DB_Contenido;
   
   $sql="SELECT
            A.idcat,
            A.idlang,
            A.startidartlang,
            B.idartlang,
            B.idart,
            C.idart,
            C.idcatart
      FROM
            ".$cfg["tab"]["cat_lang"]." AS A,
            ".$cfg["tab"]["art_lang"]." AS B,
            ".$cfg["tab"]["cat_art"]." AS C
      WHERE
            B.idartlang=A.startidartlang AND
            C.idart=B.idart AND
            A.idlang=".$lang." AND
            A.idcat=".$idcat;
   //echo $sql;
   $db->query($sql);
   while ( $db->next_record() ) {
      $navidcatart=$db->f("idcatart");
   }
   return $navidcatart;
}


echo "\n<ul class=\"navi_eins\">\n"; // Start erstes Listenelement

foreach ($navitems as $key => $data) {

    /* 1. Navigation level */
	if (checkCatPermission($data['idcatlang'],$data['public'])) {
		
		echo "\t<li>";

	    if ($idcat == $data['idcat']) {
	        //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_1\">".$data['name']."</span></a>";
			echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_1\">".$data['name']."</span></a>";
		}elseif(is_array($data['sub'])){
	        //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_1\">".$data['name']."</span></a>";
			echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_1\">".$data['name']."</span></a>";
	    } else {
	        //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_1\">".$data['name']."</span></a>";
			echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_1\">".$data['name']."</span></a>";
	    }
	
    	/* 2. Navigation level */
	    if (is_array($data['sub']) AND count($data['sub'])>0) {
	    	
	    	echo "\n\t<ul class=\"navi_zwei\">\n"; // Start zweites Listenelement
	    	
	        foreach ($data['sub'] as $key => $data) {
				if (checkCatPermission($data['idcatlang'],$data['public'])) {
					
					echo "\t\t<li>";

					if ($idcat == $data['idcat']) {
				        //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_2\">".$data['name']."</span></a>";
						echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_2\">".$data['name']."</span></a>";
					}elseif(is_array($data['sub'])){
	    			    //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_2\">".$data['name']."</span></a>";
						echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_2\">".$data['name']."</span></a>";
	    			} else {
	    			    //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_2\">".$data['name']."</span></a>";
						echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_2\">".$data['name']."</span></a>";
	    			}

				    /* 3. Navigation level */
		            if (is_array($data['sub']) AND count($data['sub'])>0) {
		            	
		            	echo "\n\t\t<ul class=\"navi_drei\">\n"; // Start drittes Listenelement
		            	
		                foreach ($data['sub'] as $key => $data) {
							if (checkCatPermission($data['idcatlang'],$data['public'])) {
								
								echo "\t\t\t<li>";

								if ($idcat == $data['idcat']) {
									//echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_3\">".$data['name']."</span></a>";
									echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_3\">".$data['name']."</span></a>";
								}elseif(is_array($data['sub'])){
									//echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_3\">".$data['name']."</span></a>";
									echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_3\">".$data['name']."</span></a>";
								} else {
								    //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_3\">".$data['name']."</span></a>";
									echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_3\">".$data['name']."</span></a>";
								}

			                    /* 4. Navigation level */
					            if (is_array($data['sub']) AND count($data['sub'])>0) {
					            	
					            	echo "\n\t\t\t<ul class=\"navi_vier\">\n"; // Start viertes Listenelement
					            	
					                foreach ($data['sub'] as $key => $data) {
										if (checkCatPermission($data['idcatlang'],$data['public'])) {
											
											echo "\t\t\t\t<li>";

											if ($idcat == $data['idcat']) {
											     //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_4\">".$data['name']."</span></a>";
												 echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_4\">".$data['name']."</span></a>";
											}elseif(is_array($data['sub'])){
											    //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_4\">".$data['name']."</span></a>";
												echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_4\">".$data['name']."</span></a>";
											} else {
											    //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_4\">".$data['name']."</span></a>";
												echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_4\">".$data['name']."</span></a>";
											}

						                    /* 5. Navigation level */
								            if (is_array($data['sub']) AND count($data['sub'])>0) {
								            	
								            	echo "\n\t\t\t\t<ul class=\"navi_fuenf\">\n"; // Start fünftes Listenelement
								            	
								                foreach ($data['sub'] as $key => $data) {
													if (checkCatPermission($data['idcatlang'],$data['public'])) {
														
														echo "\t\t\t\t\t<li>";

														if ($idcat == $data['idcat']) {
														     //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_5\">".$data['name']."</span></a>";
															 echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_active\" title=\"".$data['name']."\"><span class=\"navi_ebene_5\">".$data['name']."</span></a>";
														}elseif(is_array($data['sub'])){
														    //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_5\">".$data['name']."</span></a>";
															echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_open\" title=\"".$data['name']."\"><span class=\"navi_ebene_5\">".$data['name']."</span></a>";
														} else {
														    //echo "<a href=\"front_content.php?idcat=".$data['idcat']."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_5\">".$data['name']."</span></a>";
															echo "<a href=\"front_content.php?idcatart=".navidcatart($data['idcat'])."\" target=\"".$data['target']."\" class=\"navileft_passive\" title=\"".$data['name']."\"><span class=\"navi_ebene_5\">".$data['name']."</span></a>";
														}
										            } // end if
										            echo "</li>\n";
								                } // end foreach
								                echo "\t\t\t\t</ul>\n\t\t\t\t"; // Ende fünftes Listenelement
								            } // end if
							            } // end if
							            echo "</li>\n";
					                } // end foreach
					                echo "\t\t\t</ul>\n\t\t\t"; // Ende viertes Listenelement
					            } // end if
				            } // end if
				            echo "</li>\n";
		                } // end foreach
		                echo "\t\t</ul>\n\t\t"; // Ende drittes Listenelement
		            } // end if
	            } // end if
	            echo "</li>\n";
	        } // end foreach       
	        echo "\t</ul>\n\t"; // Ende zweites Listenelement	        
	    } // end if
    } // end if
    echo "</li>\n";
} // end foreach
echo "</ul>\n"; // Ende erstes Listenelement

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;
?>
Ich habe es bei mir ohne probleme am laufen. Die Ausgabe im Quelltext ist dann als Beispiel mit aktivierten modrewrite wie folgt unter:
http://www.xtended-cooperation.de/cms/u ... v4.6.4.htm

gruß yodatortenboxer
Zuletzt geändert von yodatortenboxer am Mi 11. Jan 2006, 11:21, insgesamt 1-mal geändert.
Schöne Grüße von Usedom
Ralf

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Sa 7. Jan 2006, 15:43

Verflixt!

Jetzt bin ich die ganze Zeit mächtig stolz, dass modrewrite bei mir funktioniert, und stelle eben fest, dass alle Unterpunkte unter den ersten Ebenen (Hauptnavigation/ErsteEbene/Unterpunkte) nicht angezeigt werden. Die Anzeige in der URL www.domain.tld/ersteebene/unterpunkt/ funktioniert zwar, aber man springt automatisch auf die erste Seite im CMS; bei mir Home.

Ich hab die http://www.stegranet.de/upload/modrewri ... -4.6.2.zip aus dem Thread ohne Änderungen übernommen. D.h. ich hab die URL mit strtolower() verändert. Sonst aber nichts. Was mach ich denn falsch?

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Sa 7. Jan 2006, 17:13

hm irgendwie wird er die kategorie nicht finden, das kann an vielem liegen, z.b. falsche htaccess etc ... da ich das bundle aber nicht gemacht habe und mir auch nicht angeschaut habe, kann ich dir da nichts zu sagen. wenn du noch gut eine woche warten kannst, dann bringe ich eine offizielle version heraus, die deutlich optimiert wurde.

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Sa 7. Jan 2006, 18:34

stese hat geschrieben:wenn du noch gut eine woche warten kannst, dann bringe ich eine offizielle version heraus, die deutlich optimiert wurde.
;) und genau darauf warte ich noch brav und geduldig
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

phatbyte
Beiträge: 95
Registriert: Mi 2. Nov 2005, 14:05
Wohnort: Austria
Kontaktdaten:

Beitrag von phatbyte » Di 10. Jan 2006, 15:55

javascript:scroll(x,y);

anstatt den ankern

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Mi 11. Jan 2006, 11:53

stese hat geschrieben:hm irgendwie wird er die kategorie nicht finden, das kann an vielem liegen, z.b. falsche htaccess etc ... da ich das bundle aber nicht gemacht habe und mir auch nicht angeschaut habe, kann ich dir da nichts zu sagen. wenn du noch gut eine woche warten kannst, dann bringe ich eine offizielle version heraus, die deutlich optimiert wurde.
Hallo Stese,

es liegt tatsächlich an der strtolower()-Funktion, die ich in der class.modrewrite.php innerhalb der Funktion build_new_url() eingebaut habe.

Code: Alles auswählen

      $str_full_url = $str_new_url . $str_categories . $str_article . $str_additional_params;
      $str_full_url=strtolower($str_full_url);
Kannst Du da jetzt mehr mit anfangen? Liegt es vielleicht an einer SQL-Abfrage, die wegen der Kleinschreibung den Artikel bzw. die Kategorie nicht mehr findet? Dann müßte das doch aber für alle Navigations-Ebenen gelten, oder? Ich kann das irgendwie nicht nachvollziehen.

Gruß MyAccount

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Mi 11. Jan 2006, 12:23

ist das nach wie vor die version aus der zip?
ich habe am sonntag eine neue angepasste version herausgebracht, die sollte das problem nicht haben (kleinschreibende urls sind dort ein feature, das standardmäßig aktiviert ist)

http://contenido.org/forum/viewtopic.php?t=11162

Gesperrt