Ebene Anzeigen

Gesperrt
Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Ebene Anzeigen

Beitrag von Peer » Di 9. Aug 2011, 02:22

Hallo,

ich suche ein Modul das mir im Frontend anzeigt auf welcher Menü-Ebene ich bin.
Ich möchte für die einzelnen Headline auf den unterschiedlichen Ebene andere Text Größen.

Hat jemand eine Idee???

Vielen Dank

Gruß

Peer

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Ebene Anzeigen

Beitrag von idea-tec » Di 9. Aug 2011, 06:37

Ist in der Beispielmandanten-Installation nicht eine Breadcrumb-Navigation drin?
Mit der kannst du dir das anzeigen, zumindest aus der Kategoriestruktur abgeleitet.
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

frederik
Beiträge: 7
Registriert: Di 2. Aug 2011, 16:02
Kontaktdaten:

Re: Ebene Anzeigen

Beitrag von frederik » Di 9. Aug 2011, 09:08

@ Peer: Und, geht das so? was anderes kommt mir auch nicht in den Sinn, aber eig muss das über die BN funktionieren können.

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Ebene Anzeigen

Beitrag von Spider IT » Di 9. Aug 2011, 10:10

Hallo Frederik,

um in den unterschiedlichen Navigationsebenen unterschiedliche Schriftgrößen für die Headlines anzugeben, musst du den Headlines unterschiedliche Klassen mitgeben, also muss die Programmierung zur Erkennung der Ebene in den Headline-Module integriert werden.
Die Ebene steht in der Tabelle <prefix>_cat_tree, erreichbar über den Array-Eintrag $cfg['tab']['cat_tree'].
Eine einfache Abfrage wäre

Code: Alles auswählen

$sql = 'SELECT level FROM ' . $cfg['tab']['cat_tree'] . ' WHERE (idcat=' . $idcat . ')';
$db->query($sql);
$db->next_record();
$Level = $db->f('level');
Danach kannst du dann dieses Level an den Klassennamen anhängen

Code: Alles auswählen

... class="Headline<?php echo $Level; ?>"> ...
Damit hast du dann die Klassen Headline0, Headline1, Headline2 usw., die du im Stylesheet mit unterschiedlichen Schriftgrößen usw. belegen kannst.

Gruß
René

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Ebene Anzeigen

Beitrag von Peer » Di 9. Aug 2011, 11:25

Hallo Renè,

danke für deine Rückmeldung. Aber leider bekomme ich das nicht hin.

Hier meint Output

Code: Alles auswählen

<?php
/**
* $RCSfile$
*
* Description: Output standard h1 headline
*
* @version 1.0.0
* @author Rudi Bieller
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2008-04-07
* modified 2008-11-13, Timo Trautman - fixed XHTML validation error, when module displays empty h1 tag
* }}
*
* $Id$
*/

if (!isset($tpl) || !is_object($tpl)) {
    $tpl = new Template();
}

$sText = "CMS_HTMLHEAD[1]";

$sql = 'SELECT level FROM ' . $cfg['tab']['cat_tree'] . ' WHERE (idcat=' . $idcat . ')';
$db->query($sql);
$db->next_record();
$Level = $db->f('level');

$tpl->reset();
if ($contenido && $edit) {
    $tpl->set('s', 'text', $sText);
    $tpl->generate('templates/headline_h1.html');
} else {
    if ($sText != '') {
        $tpl->set('s', 'text', strip_tags($sText));
        $tpl->generate('templates/headline_h1.html');
    }
}

?>
Hier meine HTMl Datei

Code: Alles auswählen

<div class="Headline<?php echo $Level; ?>">
<h1>{text}</h1>
</div>
Was mache ich falsch ?

Danke für die Hilfe

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Ebene Anzeigen

Beitrag von Halchteranerin » Di 9. Aug 2011, 12:23

Hallo Peer,
Peer hat geschrieben:Hier meine HTMl Datei

Code: Alles auswählen

<div class="Headline<?php echo $Level; ?>">
<h1>{text}</h1>
</div>
Was mache ich falsch ?
wenn das tatsächlich in der HTML-Datei steht, dann ist es einfach: da hat kein PHP etwas zu suchen. Du kannst in einer PHP-Datei HTML-Code benutzen, aber nicht umgekehrt.

Gruß
Christa
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Ebene Anzeigen

Beitrag von Spider IT » Di 9. Aug 2011, 12:33

Hallo Peer,

sorry, ich bin noch bei den 4.6er Module, die benutzen kein Template.
In deinem Fall muss die Variable $Level an das Template übergeben werden:

Code: Alles auswählen

$tpl->reset();
if ($contenido && $edit) {
    $tpl->set('s', 'text', $sText);
    $tpl->set('s', 'LEVEL', $Level); # einmal hier
    $tpl->generate('templates/headline_h1.html');
} else {
    if ($sText != '') {
        $tpl->set('s', 'text', strip_tags($sText));
        $tpl->set('s', 'LEVEL', $Level); # und einmal hier
        $tpl->generate('templates/headline_h1.html');
    }
}
In dem Template kommt dann kein PHP-Code, sondern die neue Variable {LEVEL}:

Code: Alles auswählen

<div class="Headline{LEVEL}">
<h1>{text}</h1>
</div>
Gruß
René

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Ebene Anzeigen

Beitrag von Peer » Di 9. Aug 2011, 12:47

Vielen Dank :D

Funktioniert perfekt!

frederik
Beiträge: 7
Registriert: Di 2. Aug 2011, 16:02
Kontaktdaten:

Re: Ebene Anzeigen

Beitrag von frederik » Mo 22. Aug 2011, 13:27

wow. hier kann man ja einiges von den fehlern von andern lernen. daumen hoch dafür

Gesperrt