so jetzt klappt es. Bei den Variablen waren noch Klammern drum. Diese existierten nur für das Template. Bei php mussten sie weg. D.H. Es klappt Juhuu. Danke @Bandit
Beiträge von aragonthebest
-
-
ich bin weg vom template system, aber es klappt trotzdem nicht
ich werd jetzt nochmal ein bisschen rumprobieren (immerhin ist der Fehler weg, das ">" <-dieses Zeichen; alles verschoben hat weil, wie du mir erklärt hast, der php code durch das template gejagt wurde und dabei verloren gegengen ist. Wahrscheinlich ist es irgendein klitzekleiner Fehler. Mal sehen. Vielen Dank für deine hilfe übrigens.
Das ist der Code der index.php
PHP<?php $title = 'Home'; $metadescription = 'Dies ist die Startseite.'; include('overallheader.php'); include('indexcontent.php'); include('overallfooter.php'); ?>
Das ist der Code der Unterseite:
PHP<?php $category['tut']; $title['Cinema 4D']; $metadescription = 'In dieser Kategorie befinden sich Tutorials für Cinema 4D.'; include('overallheader.php'); include('C4DTUTcontent.php'); include('overallfooter.php'); ?>
in overallheader.php wird die navi geladen. Wie man sieht habe ich in der unterseite die Variable $category deklariert.
Nun kommt der Navigationsteil auf die Menüpunkte Home und Tutorials reduziert.
PHP
Alles anzeigen<div id="navi"> <span id="corner_left"></span><span id="corner_right"></span> <ul> <li> <a class="navilink" href="index.php"><span>1</span> Home</a> <div> <ul> <li><a href="index.php"><span>1.1</span> News</a></li> <li><a href="www.aragonthebest.forumieren.com"><span>1.2</span> Forum</a></li> </ul> </div> </li> <li <?php if ($category == "tut") echo 'class="selected"'; ?>> <a class="navilink" href=""><span>4</span> Tutorials</a> <div> <ul> <li><a href="C4DTUT.php"><span>4.1</span> Cinema 4d</a></li> <li><a href=""><span>4.2</span> Unreal Development Kit</a></li> <li><a href=""><span>4.3</span> Terragen 2</a></li> <li><a href=""><span>4.4</span> Adobe Photoshop</a></li> <li><a href=""><span>4.5</span> HTML, PHP, CSS</a></li> </ul> </div> </li> </ul> </div>
Außerdem wird der Title nicht angezeigt, obwohl die Variable $title unter der Variable $category (oder über) deklariert wurde und hier eingesetz (ebenfalls ein Ausschnitt aus der overallheader.php
-
ok, ich bin sowieso grad dabei von diesem tamplete sytem wegzukommen. Es gibt 0 Support dafür, und das sollte eigentlich alles auch mit php und der include funktion gehen oder?
oder meinst du, dass ich den php code in eine Variable meiner tamplate engine scheiben soll?
-
Ok. Also die Testseite heißt: http://www.webtest.de.ht (<-sehr originell
) - sollten fehlermeldungen kommen, ich weiß nicht woran es liegt, mal gehts mal nicht, auch wenn ich nichts ändere. VLT liegts auch an mir. kp- die seite wird aber mehr oder weniger richtig angezeigt.
Da es aufgrund dieses anzeigefehler durch das ">"-Zeichen zu verschiebung des Untermenüs kommt, lasst sich die einzige verlinkte Unterseite nicht mehr anklicken. Aus diesem grund hier der Link: http://www.webtest.de.ht/C4DTUT.phpden Quelltext, der Navigation wie er am schluss sein sollte theoretisch (und im moment auch praktisch:)-bei einem Vergleich des quelltextes mit dem quelltext oben, sollte auffallen, dass ich die unternavigation wieder eingelagert habe.
PHP
Alles anzeigen<div id="navi"> <ul> <li> <a class="navilink" href=""><span>1</span> Home</a> <div> <ul> <li><a href="index.php"><span>1.1</span> News</a></li> <li><a href="www.aragonthebest.forumieren.com"><span>1.2</span> Forum</a></li> </ul> </div> </li> <li> <a class="navilink" href=""><span>2</span> Projects</a> <div> <ul> <li><a href=""><span>2.1</span> UDK - Land</a></li> <li><a href=""><span>2.2</span> Cinema 4d - Animationsfilme</a></li> <li><a href=""><span>2.3</span> Project 3</a></li> <li><a href=""><span>2.4</span> Project 4</a></li> <li><a href=""><span>2.5</span> Project 5</a></li> </ul> </div> </li> <li> <a class="navilink" href=""><span>3</span> Specials</a> <div> <ul> <li><a href=""><span>3.1</span> Filme</a></li> <li><a href=""><span>3.2</span> Spiele/ Mods</a></li> <li><a href=""><span>3.3</span> GFS</a></li> <li><a href=""><span>3.4</span> Special 4</a></li> <li><a href=""><span>3.5</span> Special 5</a></li> </ul> </div> </li> <li <?php if ($category == "tut") echo 'class="selected"'; ?>> <a class="navilink" href=""><span>4</span> Tutorials</a> <div> <ul> <li><a href="C4DTUT.php"><span>4.1</span> Cinema 4d</a></li> <li><a href=""><span>4.2</span> Unreal Development Kit</a></li> <li><a href=""><span>4.3</span> Terragen 2</a></li> <li><a href=""><span>4.4</span> Adobe Photoshop</a></li> <li><a href=""><span>4.5</span> HTML, PHP, CSS</a></li> </ul> </div> </li> </ul> </div> <div class="subnavi"></div>
der Quelltext der Unterseite "C4DTUT" ist:
PHP<?php $category['tut']; $title['Cinema 4D']; $metadescription = 'In dieser Kategorie befinden sich Tutorials für Cinema 4D.'; include('overallheader.php'); include('overallfooter.php'); $TBS->LoadTemplate('C4DTUT.tpl', FALSE); $TBS->Show(); ?>
und jetzt noch das style.css (der bereich der Navigation)
PHP
Alles anzeigen#navi { background-image: url(immage/navi.png); /*Navigationsleisten*/ background-repeat: repeat-x; background-color: #aba499; height: 41px; /*Höhe der Navigationsleiste*/ } #navi span /* span = InlineObjekte: Kein Zeilenumbruch wie bei div, sondern gleiche Zeile*/ { color: #c1bcb4; /*Farbei der Themennummern - bzw Farbe aller Texte, in der Navigation, welche mit dem span-Tag gekennzeichnte sind*/ } #navi ul /*Einstellungen zur Liste, welche das Menü darstellt*/ { list-style-type: none; /*Listenpunkt wird entfernt*/ margin: 0; /*Standardabstände werden auf 0 verändert*/ padding: 0; } #navi li { display: inline; /*Liste wird vertikal statt horizontal*/ } #navi #corner_left { width: 2px; height: 40px; background-image: url(immage/rechtenavi.png); background-repeat: no-repeat; float: left; /*Platziert die linke Navigationsgrafik (schöne abrundung oben) in der gleichen Zeile (float) ganz Links - Navigtionsleiste platziert sich dann in der Mitte*/ } #navi #corner_right { width: 2px; height: 40px; background-image: url(design/linkenavi.png); background-repeat: no-repeat; float: right; /*Platziert die rechte Navigationsgrafik (schöne abrundung oben) in der gleichen Zeile (float) ganz Rechts - Navigationsleiste platziert sich dann in der Mitte*/ } a.navilink /*Mit dieser Klasse wurden alle Menüpunkte belegt, welche alle Links sind*/ { font-size: 20px; color: #e6e6e6; /*Farbe der Menüpunkte*/ margin-left: 0; padding: 8px 15px 10px 15px; /*Innenabstände*/ float: left; /*-----------------*/ } a.navilink:hover /*Veränderung der Menüpunkte beim Überfahren mit der Maus*/ { color: #ffffff; /*Sie werden Weiß*/ background: url(immage/naviarrowhover.png) no-repeat 50% 33px; /*Es erscheint eine Grafik (Pfeil) in der Mitte des Links (50%) auf der höhe 30 px.*/ } .subnavi /*Untermenü-Klasse*/ { background-color: #d9d6d1; /*Hintergrund des Untermenüs*/ padding: 5px 30px; /*Innenabstände für den Text im Untermenü */ height: 120px; /* Höhe des Untermenüs. Die Gesamthöhe beträgt 130 px*/ } .subnavi span /*alle mit dem Span-Tag belegten Elemente im Untermenü erhalten folgende Eigenschaften*/ { padding-right: 10px; /*Sie Haben einen Rechtsabstand von 10px*/ } #navi li div /*Untermenü-liste-eigenschaften (die Liste befindet sich in der Box (div))*/ { position: absolute; margin: 41px 0 0 0; /*Der Text begint mit x-px abstand von oben*/ padding: 10px 20px; /*nochmal x-px abstand bis der Text beginnt */ width: 940px; /*maximale Textbreite*/ height: 110px; /*maximale "Höhe" des Textes*/ left: -999em; /*der Text befindet sich weit weg*/ background-color: #d9d6d1; /*Die Hintergrundfarbe des Textes entspricht der Hintergrundfarbe des Untermenüs*/ font-size: 12px; /*Schriftgröße des Textes*/ } #navi .selected a.navilink /*hinzugefügte Eigenschaften für das Ausgewählte/ Angeklickte Hauptmenü*/ { color: #ffffff; /*Es die Schriftfarbe wird Schwarz*/ background: url(immage/naviarrow.png) no-repeat 50% 33px; /* Es erscheint ein Pfeil in der Mitte des Menülinkes auf einer Höhe von 30px*/ } #navi .selected div /*Das selektierte div element wird für die Unternavigation eingeblendet, indem die Position auf 0 Pixel gesetzt wird. !important überschreibt zuvor definierte Eigenschaften*/ { display: block !important; left: 0 !important; } #navi li:hover div /*Das überfahrene div element, wird für die Unternavigation eingeblendet, durch den z-index wird das eingeblendete div überschrieben*/ { display: block; left: 0; z-index: 1; } #navi li div span /* Definiert neue eigenschaften für die mit span markierten elemente in der div box in einer liste der id "navi". Alternativ würden die spanmarkierten Textpassagen die Eigenschaften aus dem span-tag, welcher für die ganze id-navi definiert wurde erben. Hierbei handelt es sich um den Text im Untermenü*/ { color: #98948e; /*Farbänderung*/ padding-right: 10px; /*Abstand nach Rechts*/ } #navi li div a /* Link-Eigenschaften für Links im Untermenü*/ { padding: 5px; /* Abstand von 5 px in alle richtungen zum nächsten Link*/ } #navi li div ul /* Ausrichtung für die Liste im Untermenü*/ { float: left; } #navi li div li /*Liste im Untermenü wird untereinander geschrieben*/ { display: block; padding-bottom: 5px; }
-
diesen code hatte ich auch geschrieben gehabt, das ergebnis ist folgendes wenn dus mal sehen willst.
dein code nochmal eingefügt:
man beachte dieses Zeichen: ">" auf der rechten seite.
wie es aussehen sollte (classe wurde einfach ohne php - code eingesetzt)
die schrift ist weiß und der pfeil ist unter tutoriasls.
-
Hi, Ich habe fogende Situatuon. Ich habe meine Navigation ausgelagertm, und möchte, dass die Unterseite, jeweils die Schriftfarbe des Menüpunkts, von dem sie ausgeht schwarz färbt. Also habe ich eine class namens selected in meinem style.css definiert. Nun habe ich in der ausgelagerten Navigation, die class zum test eingesetzt. Ergebnis es funktioniert. Da aber natürlich nur der richtige Menüpunkt schwarz sein soll, wird es später daraufhinauflaufen, dass ich eine Variable in der Unterseite abfrage, und anhand derer den schwarz zu färbenden Menüpunkt kennzeichne sprich, ich schreibe mit php eine if anweisung, welche wenn die Variable übereinstimmt, den Menüpunkt schwarz färbt. hier ein beispiel, wie meine Navigation aufgebaut ist, und wo die classe steht (immoment nur bei Tutorials eingefügt zum test)-> so funktioniert es, d.h. Tutorials ist immer schwarz (logischer weise)
PHP
Alles anzeigen<div id="navi"> <ul> <li> <a class="navilink" href="[var.domain]"><span>1</span> Home</a> <div> [onload;file=[var.domain]/subnavi/sub1.tpl] </div> </li> <li class= "selected" > <a class="navilink" href="[var.domain]"><span>4</span> Tutorials</a> <div> [onload;file=[var.domain]/subnavi/sub4.tpl] </div> </li> </ul> </div>
Nun kommt das php ins Spiel, ich habe wie gesagt auf der Unterseite eine Variable namens $category, welche ich in dem Fall den Wert tut zugefügt habe. Es müsste jetzt ein php-part eingefügt werden, der abfragt, ob die Variable §category den Wert tut hat, und wenn ja, dass dann die class gesetzt wird. Das erste Problem taucht nun schon auf, wenn ich mit php die class setzen will. Also ohne if, sondern nur setzen. Ich habe nach viel recherschieren die verschiedensten Sachen probiert, aber im großen und ganzen sollte es zumindestens entweder so:
oder so:
gehen. Das Ergebnis, ist aber, dass nichts passiert.
Was vlt jemand eine andere Möglichkeit, wie man den genutzen Menüpunkt markiert, oder mit php die class hinzufügen kann?MFG