Problem mit zwei Navi-Templates

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

Problem mit zwei Navi-Templates

Beitragvon tombaer » 27. Sep 2008, 22:13

Hallo Community!

Habe ein dringendes Problem...

Es gibt zwei Templates mit der Universal-Navigation, jedoch jeweils verändertem Code.
Ein Template ist für die Hauptnavi oben, das andere links für die Unternavi.
Muss ich aus verschiedenen Gründen so machen, funktioniert soweit auch.

Im Seiten-Template rufe ich die Haupt-Navi so auf:

Code: Alles auswählen
REX_TEMPLATE[1]
<?
global $clang;
$path = explode('|', $this->getValue('path').$this->getValue('article_id'));
$navigation = generateNavigation(0, 1, 1, $clang, $path, 0, 0, 1, 1, 1, 1);
$navigation = str_replace("<ul><li>","<ul><li id='first'>",$navigation);
print $navigation;
?>

und die Unternavi so:
Code: Alles auswählen
REX_TEMPLATE[3]
<?global $clang;
$path = explode('|', $this->getValue('path').$this->getValue('article_id'));
print $navigation = generateNavigation($path[1], 2, 0, $clang, $path, 0, 0, 1, 1, 1, 1);
?>


Allerdings stelle ich fest, dass er bei der Unternavi statt dem Template 3, wieder das Template 1 aufruft...

Versucht habe ich auch den Aufruf mit

Code: Alles auswählen
$navTemplate = new rex_template(3);
include $navTemplate->getFile();


statt REX_TEMPLATE[3]

Wenn ich das Template der Hauptnavi nicht aufrufe, gehts.

Da es sich um ein Projekt handelt, dass gestern schon fertig sein muss, bitte ich um schnelle Tipps! Vielen Dank!

Tom
------------------------------------------------
rotzek computer & internet service
www.rotzek.de
------------------------------------------------
tombaer
 
Beiträge: 51
Registriert: 29. Mär 2008, 23:41

Beitragvon Joachim.Dörr » 28. Sep 2008, 07:24

Ich verstehe dein Problem nicht ganz. Auf anhieb würde ich sagen, wenn du 2 Templates daraus gebaut hast auch beite mit vers. Bezeichnungen zu Includen.

also ich mache soetwas immer so:


Code: Alles auswählen
$navTemplateId = "2";
$nav2TemplateId = "3";

$navTemplate = new rex_template($navTemplateId);   
include $navTemplate->getFile();

$nav2Template = new rex_template($nav2TemplateId);   
include $nav2Template->getFile();


lg
Joachim
Joachim.Dörr
 
Beiträge: 1253
Registriert: 7. Apr 2006, 00:49

Beitragvon tombaer » 28. Sep 2008, 08:58

Hallo Joachim!

Danke, habe diese Möglichkeit mal ausprobiert. Allerdings nimmt er beim zweiten Aufruf der Navi immer noch das Template mt ID 1...

Code: Alles auswählen
<?
$navTemplateId = "1";
$navTemplate = new rex_template($navTemplateId);   
include $navTemplate->getFile();
global $clang;
$path = explode('|', $this->getValue('path').$this->getValue('article_id'));
$navigation = generateNavigation(0, 1, 1, $clang, $path, 0, 0, 1, 1, 1, 1);
$navigation = str_replace("<ul><li>","<ul><li id='first'>",$navigation);
$navigation = substr_replace($navigation, '', -5, 5);
print $navigation."<li id=\"last\"><a href=\"1-0-Startseite.html\">Startseite</a></li></ul>";
?>


Code: Alles auswählen
<?
$nav2TemplateId = "3";
$nav2Template = new rex_template($nav2TemplateId);   
include $nav2Template->getFile();
global $clang;
$path = explode('|', $this->getValue('path').$this->getValue('article_id'));
print $navigation = generateNavigation($path[1], 2, 0, $clang, $path, 0, 0, 1, 1, 1, 1);
?>


Was verstehst Du nicht ganz?

Liebe Grüsse

Tom
------------------------------------------------
rotzek computer & internet service
www.rotzek.de
------------------------------------------------
tombaer
 
Beiträge: 51
Registriert: 29. Mär 2008, 23:41

Re: Problem mit zwei Navi-Templates

Beitragvon ach » 28. Sep 2008, 12:43

tombaer hat geschrieben:Es gibt zwei Templates mit der Universal-Navigation, jedoch jeweils verändertem Code.
Code: Alles auswählen
$navigation = generateNavigation(0, 1, 1, $clang, $path, 0, 0, 1, 1, 1, 1);
?>

Code: Alles auswählen
print $navigation = generateNavigation($path[1], 2, 0, $clang, $path, 0, 0, 1, 1, 1, 1);



Wenn Du zweimal die gleiche Funktion mit gleichem Namen aber unterschiedlichem Inhalt hast, kann das ja nicht gehen ... ;-)

Zum besseren Verständnis, Du tust im Prinzip das hier:

Code: Alles auswählen
function doSomething() {
  print "foo";
}
function doSomething() {
  print "bar";
}


Und der Aufruf:
Code: Alles auswählen
//Hauptnavi
doSomething();

//Unternavi
doSomething();


Da wird grundsätzlich nur immer *eine* der beiden Funktionen genommen ...
Wenn Du zwei unterschiedliche Funktionen haben willst, mußt Du die auch unterschiedlich benennen!
ach
 
Beiträge: 18
Registriert: 9. Apr 2008, 01:25

Beitragvon tombaer » 28. Sep 2008, 17:48

Ok, Vielen Dank, funktioniert.
Ich dachte nur, dass wenn ich vor dem Funktionsaufruf der
generateNavigation() das Template include, er auch die darin definierten Funktionen verwendet...

Nachmals vielen Dank!!!

Tom
------------------------------------------------
rotzek computer & internet service
www.rotzek.de
------------------------------------------------
tombaer
 
Beiträge: 51
Registriert: 29. Mär 2008, 23:41


Zurück zu Templates/Navigationen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast