Page 1 of 2

{NAV_ROW:CURRENT:0} - Links verändern

Posted: Thu 16. Apr 2009, 08:30
by RuffY
Hallo phpwcms-Gemeinde,

ich bin relativ frisch mit phpwcms unterwegs und habe es geschafft mein eigenes Template mit YAML zu basteln.
Neben einer "normalen" Navigation setzte ich nun {NAV_ROW:CURRENT:0} für die untergeordnete Navigation ein.
Damit diese Navigation zu meinem Design passt, wollte ich die Farben usw. anpassen, was bei der Größe wie in der Doku beschrieben bereits funktioniert hat:

Code: Select all

// row based navigation
$template_default['nav_row']['before']					= '<p style="color:#000000;text-decoration:none;font-size:x-small;">';
$template_default['nav_row']['after']						= '<p style="color:#000000;text-decoration:none;font-size:x-small;">';
$template_default['nav_row']['between']					= ' | ';
$template_default['nav_row']['link_before']				= '';
$template_default['nav_row']['link_after']					= '';
$template_default['nav_row']['link_before_active']			= '<p style="color:#000000;text-decoration:none;font-size:x-small;">';
$template_default['nav_row']['link_after_active']			= '';
$template_default['nav_row']['link_direct_before']			= '';
$template_default['nav_row']['link_direct_after']			= '';
$template_default['nav_row']['link_direct_before_active']	        = '';
$template_default['nav_row']['link_direct_after_active']	        = '';
Könnt ihr mir für Farbe usw. weiterhelfen?

MfG

Ruffy

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Thu 16. Apr 2009, 09:00
by flip-flop
Hallo,

Setze doch einfach einmal einige Parameter ein und schau dann in den generierten Quelltext wo und wie die erscheinen.
Wenn klar ist was du an welcher Stelle brauchst, kannst du entsprechende Klassen anlegen bzw. wenn es reicht direkt style Anweisungen absetzen.

Knut

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Thu 16. Apr 2009, 09:52
by RuffY
Hallo Knut,

danke für deine Antwort, die CSS-Anweisungen sind aber richtig, oder? Folgendes wird generiert:

Code: Select all

<p style="color:#000000;text-decoration:none;font-size:x-small;"><a href="index.php?formular">Formular</a><p style="color:#000000;text-decoration:none;font-size:x-small;">
Trotz des richtig generierten Codes, wird der Link in einem blau angezeigt, nicht in schwarz?
MfG

Ruffy

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Thu 16. Apr 2009, 10:43
by breitsch
Du definierst ja nur den Inhalt des Paragaraf's in Deiner Navigation. Dort liegen aber a-tag die ihre Definitionen als normales html tag aus der frontend.css beziehen.
Du musst explizit definieren dass Du die a-tags innerhalb deines Navigationsparagrafen, anders formatieren willst.

schöner wäre:

Code: Select all

$template_default['nav_row']['before']               = '<p class="nav_row">';
$template_default['nav_row']['after']                  = '</p>';
$template_default['nav_row']['between']               = ' | ';
$template_default['nav_row']['link_before']            = '';
$template_default['nav_row']['link_after']               = '';
$template_default['nav_row']['link_before_active']         = '<p class="nav_row_active">';
$template_default['nav_row']['link_after_active']         = '</p>';
ev. noch schöner wären <div> oder <span> tags anstelle der <p>

Code: Select all

/*generelle Formatierung des Paragrafen*/
.nav_row{

}
/*Formatierung der Links innerhalb des Navigationsparagrafen*/
.nav_row a, .nav_row a:link, .nav_row a:active, .nav_row a:visited {
	font-family: Verdana, Helvetica, Arial, sans-serif;
	font-size: 10px;
	color: #000000;
	font-weight: normal;
	text-decoration: none;
}
.nav_row a:hover {
	text-decoration: none;
	color: #FF0000;
}
.nav_row_active, .nav_row_active a, .nav_row_active a:link, .nav_row_active a:active, .nav_row_active a:visited, .nav_row_active a:hover {
	font-family: Verdana, Helvetica, Arial, sans-serif;
	font-size: 10px;
	color: #4A5966;
	font-weight: bold;
	text-decoration: none;
}

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Mon 20. Apr 2009, 22:46
by RuffY
Vielen Dank für die Hilfe!
Jetzt habe ich jedoch noch ein Problem mit der Darstellung der Navi-Ebenen.
Im Augenblick habe ich die Navigation per Yaml-Integration und die Untergeordnete Navi wollte ich per {NAV_ROW:CURRENT:0} realisieren.

Bsp.: Contact (Hauptmenüpunkt) > Formular (untergeordneter Punkt)

Die individuelle untergeordnete Navigation wird auch abgebildet, jedoch sobald der Link genutzt wird verschwindet dieser aktive Menüpunkt.
Wie kann ich dies ändern?

MfG

RuffY

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Tue 21. Apr 2009, 00:26
by breitsch

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Tue 21. Apr 2009, 08:45
by RuffY
Danke für den Tipp!
Ich habe das ganze jetzt einmal probiert, wie in dem Post beschrieben. Jetzt resultiert daraus jedoch ein anderes Problem.
Da das sehr schwer zu beschreiben ist und ich leider nicht sehen kann, woher das Problem kommt, mal meine Adresse:

http://www.sebastianruff.de/phpwcms/index.php

Die angedachte Sub-Navi funktioniert leider nicht so, wie es geplant war. Es werden jetzt auf allen Seiten, wo keine Sub-navi vorhanden ist, an dessen Stelle die Hauptnavi eingeblendet.

Wie kann ich den Code aus dem anderen Poste entsprechend anpassen?

MfG

Ruffy

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Tue 21. Apr 2009, 10:08
by breitsch

Code: Select all

if(isset($GLOBALS['LEVEL_ID'][2])) {
if ($found==true) {
   echo '{NAV_ROW:CURRENT:0}';
} else {
  echo '{NAV_ROW:'.$GLOBALS[content][struct][$GLOBALS[content][cat_id]][acat_struct].':0}';
}
}
Ich kenne Deine Struktur nicht genau, sollte aber so hinhauen.

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Tue 21. Apr 2009, 20:44
by RuffY
Hallo breitsch,

ich habe nun folgenden Code dort stehen, der jedoch nun bewirkt, dass keine Navi angezeigt wird (siehe Adresse aus dem Post).
folgendes habe ich dort stehen:

Code: Select all

[PHP]foreach ($GLOBALS[content][struct] as $key => $value){
  if($value[acat_struct] == $GLOBALS[content][cat_id]) {
    $found=true;
  } 
}
if(isset($GLOBALS['LEVEL_ID'][2])) {
if ($found==true) {
   echo '{NAV_ROW:CURRENT:0}';
} else {
  echo '{NAV_ROW:'.$GLOBALS[content][struct][$GLOBALS[content][cat_id]][acat_struct].':0}';
}
}
[/PHP]
Zum besseren Verständnis, so sieht meine Seitenstruktur aus:
Image
Image

Ich hoffe, dass es eine gute Lösung für das Problem gibt!

MfG

Ruffy

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Tue 21. Apr 2009, 21:41
by breitsch
OK, I see!
Versuchs mit:

Code: Select all

[PHP]foreach ($GLOBALS[content][struct] as $key => $value){
  if($value[acat_struct] == $GLOBALS[content][cat_id]) {
    $found=true;
  }
}
if(isset($GLOBALS['LEVEL_ID'][2]) || $found==true) {
if ($found==true) {
   echo '{NAV_ROW:CURRENT:0}';
} else {
  echo '{NAV_ROW:'.$GLOBALS[content][struct][$GLOBALS[content][cat_id]][acat_struct].':0}';
}
}
[/PHP]
Ich verstehe zwar immer noch nicht ganz den Nutzen davon.
Beachte, dass Du damit eigentlich nur ein zweistufiges Menu sinnvoll hinkriegst, weil wenn Du dich z.B. in die dritte Ebene klickst, dann hast Du keine Möglichkeit in die zweite zurückzukehren, weil die nicht mehr da steht. Du musst dann wieder im Top-Menu beginnen, das würde Deine User aber gewaltig verwirren.

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Tue 21. Apr 2009, 21:54
by RuffY
Danke für deine tatkräftige Unterstützung!
Nun sieht die Navigation schon sehr gut aus, jedoch wird bei angeklicktem Zustand der Navigationspunkt etwas nach untern verschoben und etwas kleiner. Wie kann ich diese Änderung weiter beeinflussen?

Ich bin mir bewusst, dass ich evt. nicht die beste Lösung für die Navigation gewählt habe.
Gibt es denn in Verbindung mit YAML noch eine elegantere Lösung die Navigation einzubauen ohne große Veränderungen im Layout?
Ich bin offen für Vorschläge jeglicher Art!

MfG

Ruffy

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Fri 24. Apr 2009, 16:50
by RuffY
Ich wollte noch mal auf meine vorherigen Post aufmerksam machen.
Die Umgestaltung des Sub-Menüs bereitet weiterhin bei mir Probleme, da sobald ich ein mit dem Formular auf gleicher ebene stehendes Strukturelement anlege ein Problem mit der Darstellung bekomme (siehe http://www.sebastianruff.de/phpwcms/index.php?formular) Ich bräuchte im idealen Falle eine bessere Lösung der Navigation mit einem Main Menü und einem Submenü, welches nicht allzu schwer einzubinden ist.
Könnt ihr weiterhelfen?

Mfg

RuffY

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Fri 24. Apr 2009, 17:47
by flip-flop
Hi,

du verwendest an dieser Stelle für jeden Link einen <p> Tag (weshalb auch immer)

Daher rührt dein Problem.

Knut

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Fri 24. Apr 2009, 18:26
by breitsch
Schick mir Deine conf.template_default.inc und den Header Eintrag im Template
am Besten PM

Re: {NAV_ROW:CURRENT:0} - Links verändern

Posted: Sun 26. Apr 2009, 12:30
by breitsch
conf.template_default.inc

Code: Select all

// row based navigation
$template_default['nav_row']['before']						= '<div class="nav_row">';
$template_default['nav_row']['after']						= '</div>';
$template_default['nav_row']['between']						= '<span class="nav_row_delim"> | </span>';
$template_default['nav_row']['link_before']					= '<span class="nav_row_normal">';
$template_default['nav_row']['link_after']					= '</span>';
$template_default['nav_row']['link_before_active']			= '<span class="nav_row_active">';
$template_default['nav_row']['link_after_active']			= '</span>';
$template_default['nav_row']['link_direct_before']			= '';
$template_default['nav_row']['link_direct_after']			= '';
$template_default['nav_row']['link_direct_before_active']	= '';
$template_default['nav_row']['link_direct_after_active']	= '';
frontend.css

Code: Select all

.nav_row{
/*hier ev. die Breite begrenzen je nach Hintergrundbild*/
/*width:00px;*/
}
.nav_row_normal{

}
.nav_row_normal a, .nav_row_normal a:link, .nav_row_normal a:active, .nav_row_normal a:visited {
line-height:20px;
color:#636363;
font-weight:bold;
font-size:11px;
text-decoration:none;
}
.nav_row_normal a:hover {
color:#FF0000;
text-decoration:none;
}

.nav_row_delim{
color:#636363;
}

.nav_row_active{

}
.nav_row_active a, .nav_row_active a:link, .nav_row_active a:active, .nav_row_active a:visited, .nav_row_active a:hover {
line-height:20px;
color:#da9846;
font-weight:bold;
font-size:11px;
text-decoration:none;
}