<br> nach der Navsecond - wo muss das hin?
<br> nach der Navsecond - wo muss das hin?
Hallo zusammen!
Kaum ist das eine Problem behoben, schon ist das nächste Problem da.
Ich habe vier Hauptmenüpunkte übereinander. Pro Hauptpunkt soll jetzt eine Zeile mit vielen Unterpunkten nebeneinander(!) aufgehen. Die Navfirst und -second sind soweit angepasst.
Mir fehlt nur noch, dass nach dem letzten Untermenüpunkt (nach dem letzten mal Navsecond aufrufen) noch ein <br> ausgegeben wird.
Hab mir das Modul (Hauptnavigation) schon angesehen, kriegs aber nicht vernünftig auf die Reihe (finde nicht die richtige Stelle).
Also:
Wo (an welcher Stelle) soll ich das <br> unterbringen?
Schon mal Danke
Grüße
SSH
Kaum ist das eine Problem behoben, schon ist das nächste Problem da.
Ich habe vier Hauptmenüpunkte übereinander. Pro Hauptpunkt soll jetzt eine Zeile mit vielen Unterpunkten nebeneinander(!) aufgehen. Die Navfirst und -second sind soweit angepasst.
Mir fehlt nur noch, dass nach dem letzten Untermenüpunkt (nach dem letzten mal Navsecond aufrufen) noch ein <br> ausgegeben wird.
Hab mir das Modul (Hauptnavigation) schon angesehen, kriegs aber nicht vernünftig auf die Reihe (finde nicht die richtige Stelle).
Also:
Wo (an welcher Stelle) soll ich das <br> unterbringen?
Schon mal Danke
Grüße
SSH
-
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten:
Hallo!
Hätte ich da nicht das selbe Problem - sprich "Wo baue ich das ein"?
Wenn ich das in die Navsecond kloppe, dann habe ich ja auch nach jedem Punkt eine neue Zeile.
Ich muss dazu sagen, dass die Menüpunkte kein Text, sondern Grafiken sind. Damit alles "in Position" bleibt, brauche ich eben nach jeweils dem letzten Untermenüpunkt (am Ende der Zeile) ein <br>.
Gruß
SSH
Hätte ich da nicht das selbe Problem - sprich "Wo baue ich das ein"?
Wenn ich das in die Navsecond kloppe, dann habe ich ja auch nach jedem Punkt eine neue Zeile.
Ich muss dazu sagen, dass die Menüpunkte kein Text, sondern Grafiken sind. Damit alles "in Position" bleibt, brauche ich eben nach jeweils dem letzten Untermenüpunkt (am Ende der Zeile) ein <br>.
Gruß
SSH
-
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten:
Ich weiß nicht, ob das die richtige Navigation ist, aber eigentlich enden alle ziemlich ähnlich.
Das sind die letzten Zeilen aus der Hauptnavigation:
Nach meinem "Gefühl" müsste hinter der Zeile mit dem vorletzten end foreach ein echo '<BR>'; eingefügt werden also:
Viel Erfolg
Florian
Das sind die letzten Zeilen aus der Hauptnavigation:
Code: Alles auswählen
} // end foreach
} // end if
} // end foreach
} // end if
} // end foreach
echo '</table>';
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>
Code: Alles auswählen
} // end foreach
} // end if
} // end foreach
echo '<BR>'; // fügt Zeilenumbruch nach 2 Ebene ein ???
} // end if
} // end foreach
echo '</table>';
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>
Florian
Zuletzt geändert von Beleuchtfix am Fr 22. Jul 2005, 14:30, insgesamt 1-mal geändert.
-
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten:
...leider auch nicht
Ich bin in PHP ein absoluter Rooki, komme aber mit Perl ganz gut klar. Schleifen und so verstehe ich schon . In dem Fall ist aber irgendetwas komisch (das <br> erscheint nicht (nur) da, wo man es eigentlich erwarten würde).
Was kommt sonst noch in Frage, außer dem Hauptnavi-Modul?
Was macht die Zeile - speziell das "generate"? Ist das eine Prozedur?:
Gruß
SSH

Ich bin in PHP ein absoluter Rooki, komme aber mit Perl ganz gut klar. Schleifen und so verstehe ich schon . In dem Fall ist aber irgendetwas komisch (das <br> erscheint nicht (nur) da, wo man es eigentlich erwarten würde).
Was kommt sonst noch in Frage, außer dem Hauptnavi-Modul?
Was macht die Zeile - speziell das "generate"? Ist das eine Prozedur?:
Code: Alles auswählen
$tpl->generate('templates/navfirst_on.html');
SSH
-
- Beiträge: 4316
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
In diesen Zeilen werden die im Frontend liegenden Templates für die Navigation ausgelesen, die vorhanden Container in den Templates gefüllt und dann angezeigt. Dies geschieht in einer Schleife, so das jedes Template einen Menüpunkt darstellt.Was macht die Zeile - speziell das "generate"? Ist das eine Prozedur?:
Zum besseren Verständnis hier der Ausgabeteil der Hauptnavi
Code: Alles auswählen
/* Start Output buffer */
ob_start();
?>
<table align="center" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td height="21" width="22" class="boxsign"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>
<td width="130" class="boxtitle">Navigation</td></tr>
<tr><td align="center" colspan="2" class="boxcontent">
<?PHP
echo '<table border="0" cellspacing="0" cellpadding="0">';
foreach ($navitems as $key => $data) {
/* 1. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navfirst_on.html');
} else {
$tpl->generate('templates/navfirst_off.html');
}
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
/* 2. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navsecond_on.html');
} else {
$tpl->generate('templates/navsecond_off.html');
}
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
/* 3. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
if ($idcat == $data['idcat']) {
$tpl->generate('templates/navthird_on.html');
} else {
$tpl->generate('templates/navthird_off.html');
}
} // end foreach
} // end if
} // end foreach
} // end if
} // end foreach
echo '</table>';
echo '</td></tr></table>';
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
Code: Alles auswählen
/* Start Output buffer */
ob_start();
?>
Code: Alles auswählen
<table align="center" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td height="21" width="22" class="boxsign"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>
<td width="130" class="boxtitle">Navigation</td></tr>
<tr><td align="center" colspan="2" class="boxcontent">
Code: Alles auswählen
<?PHP
echo '<table border="0" cellspacing="0" cellpadding="0">';
Code: Alles auswählen
foreach ($navitems as $key => $data) {
/* 1. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
Mit der Klasse $tpl werden nun für diesen Menüpunkt die Variablen (NAME, TARGET, HREF), die so auch als Container im Template stehen, mit den entsprechenden Werten gefüllt.
Code: Alles auswählen
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navfirst_on.html');
} else {
$tpl->generate('templates/navfirst_off.html');
}
Code: Alles auswählen
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
/* 2. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navsecond_on.html');
} else {
$tpl->generate('templates/navsecond_off.html');
}
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
/* 3. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
if ($idcat == $data['idcat']) {
$tpl->generate('templates/navthird_on.html');
} else {
$tpl->generate('templates/navthird_off.html');
}
Code: Alles auswählen
} // end foreach
} // end if
} // end foreach
} // end if
} // end foreach
echo '</table>';
echo '</td></tr></table>';
/* Read out buffer */
$html = ob_get_contents();
Code: Alles auswählen
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>
Gruß aus Franken
Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Jo, danke!
Ich habs jetzt soweit (war mit ein Bißchen Code lesen ja völlig simpel
) aber:
Eine Frage an die Entwickler oder andere Pros:
Wenn ich an der entsprechenden Stelle das Wort "test" ausgeben lasse, dann ist alles OK (wird wie erwartet angezeigt).
Wenn ich aber hier mein <br> ausgeben lasse, dann ist im Frontend zu dem <br> noch ein zusätzlicher(!) Zeilenumbruch zu sehen; im Quelltext steht aber nur das <br>.
Lasse ich ein "test<br>" ausgeben, dann schreibt Contenido "test" und macht dann einen wunderschönen Zeilenumbruch. Allerdings schließen die Elemte (Grafiken) der nächsten Zeile nicht direkt an, sondern es wird ein Freiraum von 2 oder 3 pix ausgegeben
Versuche ich an dieser Stelle statt dem <br> ein \n auszugeben, wird das mal gleich ganz ignoriert.
Woran liegt das???
Danke und Grüße
SSH
Ich habs jetzt soweit (war mit ein Bißchen Code lesen ja völlig simpel

Eine Frage an die Entwickler oder andere Pros:
Wenn ich an der entsprechenden Stelle das Wort "test" ausgeben lasse, dann ist alles OK (wird wie erwartet angezeigt).
Wenn ich aber hier mein <br> ausgeben lasse, dann ist im Frontend zu dem <br> noch ein zusätzlicher(!) Zeilenumbruch zu sehen; im Quelltext steht aber nur das <br>.
Lasse ich ein "test<br>" ausgeben, dann schreibt Contenido "test" und macht dann einen wunderschönen Zeilenumbruch. Allerdings schließen die Elemte (Grafiken) der nächsten Zeile nicht direkt an, sondern es wird ein Freiraum von 2 oder 3 pix ausgegeben

Versuche ich an dieser Stelle statt dem <br> ein \n auszugeben, wird das mal gleich ganz ignoriert.
Woran liegt das???
Danke und Grüße
SSH
-
- Beiträge: 4316
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
hmm, das kann verschiedene Gründe haben. Schon mal geschaut ob da ein Stylesheet evtl irgendwo ein 'margin' oder 'padding' definiert?SSH hat geschrieben:Wenn ich aber hier mein <br> ausgeben lasse, dann ist im Frontend zu dem <br> noch ein zusätzlicher(!) Zeilenumbruch zu sehen; im Quelltext steht aber nur das <br>.
Vielleicht einfach mal den Quelltext aus der Browseransicht in ne neue HTML-Datei kopieren und daran mal versuchen.
Wenn du mir das Layout mal schickst, oder ist es schon Online, könnt ich ja mal schaunLasse ich ein "test<br>" ausgeben, dann schreibt Contenido "test" und macht dann einen wunderschönen Zeilenumbruch. Allerdings schließen die Elemte (Grafiken) der nächsten Zeile nicht direkt an, sondern es wird ein Freiraum von 2 oder 3 pix ausgegeben

Nun da \n kein HTML-Tag ist sollte das auch so sein. Wird doch eher in Scriptsprachen benutzt, z. B. in Javascript, wenn man eine Meldung ausgibt zum Umbrechen des Meldungstextes.Versuche ich an dieser Stelle statt dem <br> ein \n auszugeben, wird das mal gleich ganz ignoriert.
Woran liegt das???
@timo
Ich geb dir recht das viele Sachen mit dem IE nicht gleich funktionieren, aber oft gibts grad beim HTML-Layout Kniffe und Tricks um den Microdoof-Browser auszuspielen

ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog