Seite 2 von 2

Verfasst: Di 22. Nov 2005, 17:01
von stese
die wird also schon nicht korrekt an die seite übergeben, die normal die links der navigation oder ähnliches enthält. somit kann natürlich auch die variable nicht korrekt gesetzt werden und an das weiterleitungsscript übergeben werden.

näher kann ich das leider nicht eingrenzen, weil das problem theoretisch in jedem ausgabe-modul liegen kann, weil du musst prinzipiell __jedem__ link die $naviswitch übergeben, egal in welchem modul oder container er erzeugt wird.

Verfasst: Di 22. Nov 2005, 17:03
von mvf
stese hat geschrieben:näher kann ich das leider nicht eingrenzen, weil das problem theoretisch in jedem ausgabe-modul liegen kann, weil du musst prinzipiell __jedem__ link die $naviswitch übergeben, egal in welchem modul oder container er erzeugt wird.
aber ich dachte dass ich diese sozusagen in der front_conten.php mit

Code: Alles auswählen

if (!isset($naviswitch)) {  
        $sess->register("naviswitch");
        } else {
                $naviswitch = $_GET["naviswitch"];
               }
global gesetzt hätte und diese dann immer zur verfügung steht?

Verfasst: Di 22. Nov 2005, 17:06
von mvf
kann es ein dass diese zeilen in jedem layout eingebunden werden müssen?

oder anders wiemache ich die naviswitch gloabl bekannt, setze diese default auf 0 oder 1 um sie dann nur über den switch in der katbox zu ändern und den geänderten wert dann wieder weiter global nutzen bis die session killt

Verfasst: Di 22. Nov 2005, 17:08
von mvf
der schnipsel steht natürlich nicht im layout des redirect artikels

Verfasst: Di 22. Nov 2005, 17:12
von Dodger77

Code: Alles auswählen

if (!isset($naviswitch)) { 
        $sess->register("naviswitch");
        } else {
                $naviswitch = $_GET["naviswitch"];
               }
sieht mir nicht ganz so gut aus. Hast du dir das hier mal angeschaut:

http://www.contenido.org/forum/viewtopi ... 2839#52839

?

Verfasst: Di 22. Nov 2005, 17:19
von stese
jap da schnipsel ist irgendwie unvollständig, weil du die erstbefüllung vergisst.

schreib das mal so:

Code: Alles auswählen

if (!$sess->is_registered("naviswitch"))  {

   if (isset($_REQUEST["naviswitch"])) {
      $naviswitch = $_REQUEST["naviswitch"];
   } else {
      // hier muss ein standard wert eingegeben werden, falls weder eine var übergeben wurde noch sie in der session existiert
      $naviswitch = "defaultwert";
   }
   $sess->register("naviswitch");
} else if (isset($_REQUEST["naviswitch"]) && $sess->is_registered("naviswitch")) {
   $_SESSION["naviswitch"] = $_REQUEST["naviswitch"];
   $naviswitch = $_REQUEST["naviswitch"];
}

 
und ersetze bitte $naviswitch = "defaultwert"; durch deinen defaultwert

Nachtrag: Achtung mehrmals geändert!

Verfasst: Di 22. Nov 2005, 17:24
von mvf
ich bin am verzweifeln
und du wahscheinlich au schon mit mir :?

Parse error: parse error in /home/httpd/vhosts/dev1.elflein-kosmetik.de/httpdocs/cont46dev/cms/front_content.php(772) : eval()'d code on line 814

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Elflein Kosmetik m&auml;rchenhaft sch&ouml;n - Kosmetikstudio und Onlineshop</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/ekstyle.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<div align="left" style="width:880px;">
<!--  bof: Header -->
<div align="left" style="width:882px;">
    <div align="center" class="hdshdwce">
        <div align="center" class="hdshdwtr">
            <div align="center" class="hdshdwbl">
                <div class="hdgirltop"></div>
                <div class="hdlogo"></div>
                <div class="hdrnavtop"></div>
                <div class="hdrnav"><container id="2" name="HeaderNaviRe" types="Navigation" mode="fixed" default="HeaderNaviRe"></container></div>
                <div class="hdgirlbot"></div>
                <div class="HDMainNaviWrap"><container id="1" name="HeaderNaviMain" types="Navigation" mode="fixed" default="HeaderNaviMain"></container></div>
                <div class="hdrnavbot"><container id="3" name="HeaderNavi3icons" types="Content" mode="fixed" default="HeaderNavi3icons"></container></div>
            </div>
        </div>
    </div>
</div>
<!--  eof: Header -->
<!--  bof: Navipath -->
<div align="left" style="width:870px; float:left;">
    <div align="left" style="width:650px; height:20px; float:left;">&nbsp;Sie befinden sich hier:&nbsp;&nbsp;<container id="10" name="Navigationspfad" types="Navigation" mode="fixed" default="Navigationspfad"></container></div>
    <div align="right" style="width:210px; height:20px; float:left; font-size:10px;"><?php echo strftime("%d.%m.%Y - %H:%Mh"); ?></div>
</div>
<!--  bof: Navipath -->
<div align="left" style="width:870px; loat:left;">
<!--  bof: main -->
<?php
if (!$sess->is_registered("naviswitch"))  {

   if (isset($_REQUEST["naviswitch"]) {
      $naviswitch = $_REQUEST["naviswitch"];
   } else {
      $naviswitch = 0;
   }
   $sess->register("naviswitch");
}

if ($naviswitch == 0 ) {
   ?>     
<div align="left" style="float:left;">
    <div class="ml1shdwce">
        <div class="ml1shdwtr">
            <div class="ml1shdwbl">
                 <div class="ml1wrap">
                    <div class="ml1headl">
                        <div align="left" style="float:left;"><container id="20" name="Kategoriebox Headline"></container></div>
                        <div align="right" style="float:right; padding-right:8px;">
                            <form action="front_content.php" method="GET">
                            <input type="hidden" name="idcat" value="<?php echo $idcat; ?>">
                            <input type="hidden" name="naviswitch" value="1">
                            <input type="image" src="upload/backgrounds/arrow_up.gif" title="Navigation einklappen">
                            </form>
                        </div>
                    </div>            
                    <div class="ml1content1"><container id="21" name="Hauptnavigation" default="Hauptnavigation"></container></div>
                </div>
            </div>
        </div>
    </div>
</div>
  

<?php }
  else {
 ?>
<div align="left" style="float:left;">
    <div class="ml1shdwce">
        <div class="ml1shdwtr">
            <div class="ml1shdwbl">
                 <div class="ml1wrap">
                    <div class="ml1headl">
                        <div align="left" style="float:left;"><container id="22" name="Kategoriebox Headline"></container></div>
                        <div align="right" style="float:right; padding-right:8px; padding-top:1px;">
                            <form action="front_content.php" method="GET">
                            <input type="hidden" name="idcat" value="<?php echo $idcat; ?>">
                            <input type="hidden" name="naviswitch" value="0">
                            <input type="image" src="upload/backgrounds/arrow_down.gif" title="Navigation aufklappen">
                            </form>
                        </div>
                    </div>            
                    <div class="ml1content"><container id="23" name="Hauptnavigation" default="Hauptnavigation"></container></div>
                </div>
            </div>
        </div>
    </div>
</div>
<?php
};
?>
    <div align="left" style="float:right;">
        <div class="mainshdwce">
            <div class="mainshdwtr">
                <div class="mainshdwbl">
                    <div class="maincontent">
                        <container id="40" name="MainHeadline"></container>
                        <container id="42" name="Kontaktform"></container>
                        <container id="43" name="Suche"></container>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<!--  eof: main -->
<!--  bof: 3boxes -->
<container id="90" name="3BoxesBottom" types="Content"></container>
<!--  eof: 3boxes -->
<!--  bof: longbox -->
<container id="91" name="longboxBottom" types="Content"></container>
<!--  eof: longbox -->
<!--  bof: footer -->
<container id="92" name="footer" types="Content"></container>
<!--  eof: footer -->
<!--  bof: footerlinks -->
<container id="93" name="footerlinks" types="Content"></container>
<!--  eof: footerlinks -->
</div>
</div>
</body>
</html>

Verfasst: Di 22. Nov 2005, 17:27
von stese
nimm mal bitte nochmal das snippet von oben - du warst schneller als ich korrigieren konnte, denn hier fehlte eine 2. normale schließende klammer nach der ersten schließenden klammer:

Code: Alles auswählen

if (isset($_REQUEST["naviswitch"])

Verfasst: Di 22. Nov 2005, 17:33
von mvf
mit diesem funktioniert es jetzt

Code: Alles auswählen

if (!$sess->is_registered("naviswitch"))  {

   if (isset($_REQUEST["naviswitch"])) {
      $naviswitch = $_REQUEST["naviswitch"];
   } else {
      // hier muss ein standard wert eingegeben werden, falls weder eine var übergeben wurde noch sie in der session existiert
      $naviswitch = "defaultwert";
   }
   $sess->register("naviswitch");
} else if (isset($_REQUEST["naviswitch"]) && $sess->is_registered("naviswitch")) {
   $_SESSION["naviswitch"] = $_REQUEST["naviswitch"];
   $naviswitch = $_REQUEST["naviswitch"];
} 
nochmals nachgefragt,, muss das snippet in jedem layout integriert sein?

Verfasst: Di 22. Nov 2005, 17:36
von stese
kommt drauf an wie es bei dir gelöst wurde.

wenn $switchnavi immer 1 ist, dann braucht es nur in der startseite integrgiert sein (also der seite die immer und auf jeden fall aufgerufen wird - bei quereinsteigern isses dann blöd, weil da funzt es wieder nicht)

aus sicherheitsgründen würde ich es in jedes layout reinbasteln. ich mache mir z.b. immer einen container in jedem layout an allererster stelle, wo ich zur not auch mal ne header() ausgabe für ne weiterleitung reinfummeln kann.

Verfasst: Di 22. Nov 2005, 17:39
von mvf
kk verstehe (editiert: besser 'glaube zu verstehen') ;)

also container nach dem body als erstes in jedes layout einfügen
modul erstellen mit dem snippet (2nd edit: <?php snippet ?> im output)
in jedem template das modul einbinden

sooooo?

Verfasst: Di 22. Nov 2005, 17:42
von stese
korrekt. wo du den container im layout einfügst bleibt dir überlassen - ich habe mir angewühnt einen container immer an allererster stelle, noch vor einem html tag zu stellen.

Verfasst: Di 22. Nov 2005, 18:05
von mvf
perfect nun isset done ;)

und alle weiteren "globals" die ich definieren und nutzen will packe ich dann auch in den moduloutput, right? dann muss ich dass immer nur an einer stelle pflegen und habe die übersicht. klasse!

das angebot aus der pm steht bierchen oder ein termin ;)

merci viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieelmal kann man nicht zu oft sagen