pragmaMx Support Forum

pragmaMx => Themes & Design => Thema gestartet von: gg am 16 März 2006, 12:31:22

Titel: rainbow Erweiterung zweites Contentmodul
Beitrag von: gg am 16 März 2006, 12:31:22
Hallo, liebe User,

ich benötige ein zweites Contentmodul, dass ich gern und erfolgreich einsetze, möchte es aber in Anlehnung an das "normal" vorhandene Content-Modul auch mit der Content-Seiten-Funktionalität im Rainbow laufen lassen.

Habe m.E. alles in die functions.php und themesettings.php eingebaut, nur bekomme ich ne leere Seite angezeigt.

Wahrscheinlich liegt der (sich wiederholende) Fehler im falschen klammersetzen in den functionen, ich tu mich da etwas schwer.


# ##################################################
//wechselnde Photos
function photos ($im,$imcontent,$imconteudo){
    if (isset($GLOBALS['home'])) {
        return $im['Home'];
    } else if (defined('MX_MODULE') && isset($im[MX_MODULE])){
      if (MX_MODULE == "Content") {
        if (!empty($_GET['pid'])) {
$pid = $_GET['pid'];
        return $imcontent[$pid];
}
//GG conteudo
      if (MX_MODULE == "Conteudo") {
        if (!empty($_GET['pid'])) {
$pid = $_GET['pid'];
        return $imconteudo[$pid];
        }
//GG conteudo ende
        } else {
          return $im[MX_MODULE];
        }
      } else {
        return $im[MX_MODULE];
      }
    } else if (defined("mxAdminFileLoaded")) {
        return $im['AdminLoaded'];
    } else {
        return $im['Default'];
    }
}
# ##################################################


alle functionen poste ich jetzt nicht, da der Fehler überall der gleiche sein wird.

function themecolor ($themecolor,$themecolorcontent,$themecolorconteudo){
    if (isset($GLOBALS['home'])) { //if1
        return $themecolor['Home'];
    } else if (defined('MX_MODULE') && isset($themecolor[MX_MODULE])){
      if (MX_MODULE == "Content") {
        if (!empty($_GET['pid'])) {
$pid = $_GET['pid'];
        return $themecolorcontent[$pid];
}
//GG conteudo
if (MX_MODULE == "Conteudo") {
if (!empty($_GET['pid'])) {
$pid = $_GET['pid'];
        return $themecolorconteudo[$pid];
}
//GG conteudo ende
        } else {
          return $themecolor[MX_MODULE];
        }
      } else {
        return $themecolor[MX_MODULE];
      }
    } else if (defined("mxAdminFileLoaded")) {
        return $themecolor['AdminLoaded'];
    } else {
        return $themecolor['Default'];
    }
}

... und hier

// //Unternavigation
function unav ($unav,$unavcontent;$unavconteudo){
    if (isset($GLOBALS['home'])) {
        return $unav['Home'];
    }
    else if (defined('MX_MODULE') && isset($unav[MX_MODULE])) {
      if (MX_MODULE == "Content") {
        if (!empty($_GET['pid'])) {
$pid = $_GET['pid'];
        return $unavcontent[$pid];
//GG conteudo
      }
   if (MX_MODULE == "Conteudo") {
        if (!empty($_GET['pid'])) {
$pid = $_GET['pid'];
        return $unavconteudo[$pid];
        }
//GG conteudo ende
        } else {
          return $unav[MX_MODULE];
        }
      } else {
        return $unav[MX_MODULE];
      }
    } else if (defined("mxAdminFileLoaded")) {
        return $unav['AdminLoaded'];
    } else {
        return $unav['Default'];
    }
}

Die globals hab ich auch in der themesettings.php


//GG conteudo
global $imconteudo ,$themecolorconteudo,$blocktitlecolorconteudo,$unavconteudo,$photosloganconteudo,$photoslogancolorconteudo;
//GG conteudo ende

... und in der dann auch passende Variablen mit Werten hinterlegt


Das Modul conteudo hat das gleiche Feld (pid) wie das contentmodul.

Diese Klammern schaffen mich nochmal, wo hab ich bloß falsch geklammert?

Kann mir da jemand mal nen Schubs geben? Lieben Dank dafür.
Titel: rainbow functions.php Klammerproblem
Beitrag von: gg am 16 März 2006, 19:13:36
Hallo, auch auf die Gefahr hin, dass Ihr mich für blöd (oder blond oder beides) haltet ...

ich hab seit 3 Stunden alle möglichen (aber eben doch wohl nicht alle...) Klammerkombinationen versucht, die Seite bleibt weiss.


Oh, sorry, versehentlich neues Thema eröffnet...

Hier ist der code: http://www.pragmamx.org/modules.php?name=Forum&topic=15971.0 (http://www.pragmamx.org/modules.php?name=Forum&topic=15971.0)
Titel: Re: rainbow Erweiterung zweites Contentmodul
Beitrag von: JoergK am 17 März 2006, 17:25:11
Hoi ;)

versuchs mal mit dem folgenden Code. Zur besseren Übersicht hab ich mal die einzelnen Ebenen, je nach Schachteltiefe, farblich markiert:
Zitat// //wechselnde Photos
function photos ($im,$imcontent) {
    if (isset($GLOBALS['home'])) {
        return $im['Home'];
    }else if (defined('MX_MODULE') && isset($im[MX_MODULE])) {
        if (MX_MODULE == "Content") {
            if (!empty($_GET['pid'])) {
                $pid = $_GET['pid'];
                return $imcontent[$pid];
            }else{
                return $im[MX_MODULE];
            }
        // GG conteudo
        }else if (MX_MODULE == "Conteudo") {
            if (!empty($_GET['pid'])) {
                $pid = $_GET['pid'];
                return $imconteudo[$pid];
            }else{
                return $im[MX_MODULE];
            }
        // GG conteudo ende
        }else{
            return $im[MX_MODULE];
        }
    }else if (defined("mxAdminFileLoaded")) {
        return $im['AdminLoaded'];
    }else{
        return $im['Default'];
    }
}

Als Ansatz für die restlichen functions müsste das reichen, oder?  ;)
Titel: Re: rainbow Erweiterung zweites Contentmodul
Beitrag von: Andi am 17 März 2006, 19:40:05
hach wie schööön bunt  :D

die beiden threads habe ich gestern abend zusammengefügt ;)
Titel: Re: rainbow Erweiterung zweites Contentmodul
Beitrag von: gg am 17 März 2006, 22:00:19
Hallo, "JoergK"

danke für den Ansatz....nur...

ich habe die ursprüngliche Funktion auskommentiert und Deine eingesetzt, mit dem Ergebnis, dass die Seite weiss ist....hier der komplette Bereich:

/*// //wechselnde Photos
function photos ($im,$imcontent){
    if (isset($GLOBALS['home'])) {
        return $im['Home'];
    }else if (defined('MX_MODULE') && isset($im[MX_MODULE])){
      if (MX_MODULE == "Conteudo"){
        if (!empty($_GET['pid'])) {
$pid = $_GET['pid'];
        return $imcontent[$pid];
        } else {
          return $im[MX_MODULE];
        }
      } else {
        return $im[MX_MODULE];
      }
    } else if (defined("mxAdminFileLoaded")) {
        return $im['AdminLoaded'];
    } else {
        return $im['Default'];
    }
}
*/
//wechselnde Photos JoergK
function photos ($im,$imcontent) {
    if (isset($GLOBALS['home'])) {
        return $im['Home'];
    }else if (defined('MX_MODULE') && isset($im[MX_MODULE])) {
        if (MX_MODULE == "Content") {
            if (!empty($_GET['pid'])) {
                $pid = $_GET['pid'];
                return $imcontent[$pid];
            }else{
                return $im[MX_MODULE];
            }
// GG conteudo
        }else if (MX_MODULE == "Conteudo") {
            if (!empty($_GET['pid'])) {
                $pid = $_GET['pid'];
                return $imconteudo[$pid];
            }else{
                return $im[MX_MODULE];
// GG conteudo ende
        }else{
            return $im[MX_MODULE];
        }
    }else if (defined("mxAdminFileLoaded")) {
        return $im['AdminLoaded'];
    }else{
        return $im['Default'];
    }
}

Irgendwie hab ich den Eindruck, dass die function.php des rainbow "hypersensibel" ist.

Selbst bei Änderungen, die 1:1 aus Kopien stammen, die dann umbenannt und variablen-mässig angepasst sind,, gibts die weisse seite ohne Fehlermeldungen.

Titel: Re: rainbow Erweiterung zweites Contentmodul
Beitrag von: JoergK am 19 März 2006, 13:57:47
Sodele, bevor das hier in ne "Codeschlacht" ausartet, im Anhang die geänderten Dateien function.php & themesettings.php - basierend auf dem Original des mx-rainbow. ;)

[gelöscht durch Administrator]