UPDATE: 18.11.2015
Die Klasse nav42 ist nun in das Navigation Factory Addon eingeflossen
Download: http://www.redaxo.org/de/download/addons/?addon_id=1255
(oder über Installer)
Kommentare/Diskussion hier: http://www.redaxo.org/de/forum/addons-f ... 20770.html
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Klasse nav42 - eine erweiterte rex_navigation
Zuletzt geändert von RexDude am 18. Nov 2015, 23:56, insgesamt 33-mal geändert.
- ralf.schlott
- Beiträge: 625
- Registriert: 5. Dez 2007, 21:22
- Wohnort: Hamburch
- Kontaktdaten: Website
Re: Vorstellung der Klasse rex_navigation_ex
Ganz tolle Sache. Nur den Aufruf kapier ich einfach nicht... Kann man nicht die Klassen einfach austauschen?
- Danke für Redaxo! -
http://www.prenzlweb.de
http://www.prenzlweb.de
- Peter.Bickel
- Beiträge: 1856
- Registriert: 25. Jan 2005, 21:17
- Wohnort: Schleswig-Holstein
- Kontaktdaten: Website
Re: Vorstellung der Klasse rex_navigation_ex
Ich vermute, dass Rudi das erweitert hat, nicht ersetzt. Habs aber noch nicht genauer verglichen.
Und man verliert durchs Ersetzen die leichte Update-Fähigkeit von Redaxo.
Und man verliert durchs Ersetzen die leichte Update-Fähigkeit von Redaxo.
Re: Vorstellung der Klasse rex_navigation_ex
Du meinst patchen? Das wollte ich ja gerade damit vermeiden...
Die Einbindung ist doch ganz einfach:
1. Klasse ins Template packen irgendwo vor dem <html> tag
2. rex_navigation_ex::getMenuByLevel(...) und/oder rex_navigation_ex::getMenuByCategory(...) nutzen
@peter: genau
Die Einbindung ist doch ganz einfach:
1. Klasse ins Template packen irgendwo vor dem <html> tag
2. rex_navigation_ex::getMenuByLevel(...) und/oder rex_navigation_ex::getMenuByCategory(...) nutzen
@peter: genau
- ralf.schlott
- Beiträge: 625
- Registriert: 5. Dez 2007, 21:22
- Wohnort: Hamburch
- Kontaktdaten: Website
Re: Vorstellung der Klasse rex_navigation_ex
Super klasse. Für einen relativen Programmierlegastheniker zuerst schwer zu verstehen.
Für alle, die es auch nicht sofort verstehen, hier meine Einbindung:
1. Template mit dem Inhalt von rex_navigation_ex angelegt.
2. Im Haupttemplate ganz oben eingebunden: REX_TEMPLATE[4].
3. Alle Anpassungen im Template rex_navigation_ex machen.
4. Einbindung der Navigation mit
Dank RexDude hier noch ein Trick für die Beeinflussung der ul-Klasse.
Zeile 53
ändern in z.B.
Danke für diese neue flexible Methode!
Ralf
Für alle, die es auch nicht sofort verstehen, hier meine Einbindung:
1. Template mit dem Inhalt von rex_navigation_ex angelegt.
2. Im Haupttemplate ganz oben eingebunden: REX_TEMPLATE[4].
3. Alle Anpassungen im Template rex_navigation_ex machen.
4. Einbindung der Navigation mit
Code: Alles auswählen
<?php echo rex_navigation_ex::getMenuByCategory(0,3,TRUE,TRUE) ?>
Zeile 53
Code: Alles auswählen
if (count($navObj) > 0) {
$return .= '<ul>';
}
Code: Alles auswählen
if (count($navObj) > 0) {
if ($depth == 0) {
$return .= '<ul class="sf-menu" id="nav">';
} else {
$return .= '<ul>';
}
}
Ralf
Zuletzt geändert von ralf.schlott am 18. Apr 2013, 01:46, insgesamt 1-mal geändert.
- Danke für Redaxo! -
http://www.prenzlweb.de
http://www.prenzlweb.de
-
- Beiträge: 1403
- Registriert: 7. Apr 2006, 01:49
- Kontaktdaten: ICQ Website
Re: Vorstellung der Klasse rex_navigation_ex
Addcode würde sich alternativ zum includen der Classe eignen: https://github.com/joachimdoerr/addcode
lg
Joachim
lg
Joachim
Re: Vorstellung der Klasse rex_navigation_ex
@joachim: danke für den hinweis
@ingo: kannst du mir bitte noch genau aufzeigen, wo ich in meinem code redundanz drin hab und das dry prinzip missachte?
@ingo: kannst du mir bitte noch genau aufzeigen, wo ich in meinem code redundanz drin hab und das dry prinzip missachte?
- Peter.Bickel
- Beiträge: 1856
- Registriert: 25. Jan 2005, 21:17
- Wohnort: Schleswig-Holstein
- Kontaktdaten: Website
Re: Vorstellung der Klasse rex_navigation_ex
Trotzdem äußert sich Professionalität u.a. auch in einer angemessenen und respektvollen Diskussionskultur.
Lg, Peter.
Lg, Peter.
Re: Vorstellung der Klasse rex_navigation_ex
Hallo zusammen,
jetzt muss mir nochmal einer helfen.
Wenn ich die Klasse über
include(....) einbinde und folgendes aufrufe
<?php echo rex_navigation_ex::getMenuByCategory(0,3,TRUE,TRUE) ?>
passiert bei mir nix. Da bricht alles komplett zusammen.
Hat jemand eine Idee?
Vielen Dank im Voraus
Jorgos
jetzt muss mir nochmal einer helfen.
Wenn ich die Klasse über
include(....) einbinde und folgendes aufrufe
<?php echo rex_navigation_ex::getMenuByCategory(0,3,TRUE,TRUE) ?>
passiert bei mir nix. Da bricht alles komplett zusammen.
Hat jemand eine Idee?
Vielen Dank im Voraus
Jorgos
- Peter.Bickel
- Beiträge: 1856
- Registriert: 25. Jan 2005, 21:17
- Wohnort: Schleswig-Holstein
- Kontaktdaten: Website
Re: Vorstellung der Klasse rex_navigation_ex
Hast Du mal 'nen Link oder den genauen Wortlaut der Fehlermeldung?
Redaxo-Version? PHP-Version?
Redaxo-Version? PHP-Version?
Re: Klasse rex_navigation42 (ehemals rex_navigation_ex)
Zur Info:
Klasse ist jetzt Bestandteil von SEO42 (ab 2.1.0). Der erste Beitrag dieses Threads wurde dahingehend abgeändert. Desweiteren wurden die Methoden `getMenuByLevel()` in `getNavigationByLevel()` und `getMenuByCategory()` in `getNavigationByCategory()` umbenannt.
Wenn man SEO42 nutzt braucht man nichts weiter ins sein Template einzufügen. Erst wenn man spezielle Geschichten machen will, muss man seine eigene Klasse ableiten und diese dann in ein Template packen. Genaueres Vorgehen hab ich im ersten Beitrag dieses Threads geschrieben.
Klasse ist jetzt Bestandteil von SEO42 (ab 2.1.0). Der erste Beitrag dieses Threads wurde dahingehend abgeändert. Desweiteren wurden die Methoden `getMenuByLevel()` in `getNavigationByLevel()` und `getMenuByCategory()` in `getNavigationByCategory()` umbenannt.
Wenn man SEO42 nutzt braucht man nichts weiter ins sein Template einzufügen. Erst wenn man spezielle Geschichten machen will, muss man seine eigene Klasse ableiten und diese dann in ein Template packen. Genaueres Vorgehen hab ich im ersten Beitrag dieses Threads geschrieben.
Re: Klasse nav42 - eine erweiterte rex_navigation
Und noch ein Update:
- Klasse heisst jetzt nav42
- Es wurden noch einige zusätzliche Parameter ergänzt. Damit sollten sich so ziemlich alle Anforderungen, die in der Praxis vorkommen abdecken lassen, ohne das man die Klasse überschreiben braucht. Folgendes geht jetzt:
Alle Features
https://github.com/RexDude/seo42#featur ... asse-nav42
Vollständiges Codebeispiel
EDIT: das gleiche gibts natürlich auch für getNavigationByLevel()
- Klasse heisst jetzt nav42
- Es wurden noch einige zusätzliche Parameter ergänzt. Damit sollten sich so ziemlich alle Anforderungen, die in der Praxis vorkommen abdecken lassen, ohne das man die Klasse überschreiben braucht. Folgendes geht jetzt:
Alle Features
https://github.com/RexDude/seo42#featur ... asse-nav42
Vollständiges Codebeispiel
Code: Alles auswählen
// ausgabe der navigation mit startkategorie id = 42
// 2 level tief
// alle unterebenen werden angezeigt
// offline artikel werden nicht angezeigt
// startartikel der website wird nicht ausgeblendet
// li klasse für selektierte menüpunkte: "current"
// erste ul id: "nav"
// erste ul klasse "sf-menu"
// li id aus metainfo feld: "cat_css_id"
// li klasse aus metainfo feld: "cat_css_class"
// php funktion die den link zurückgibt (hier als beispiel: erste ebene ohne verlinkung)
echo nav42::getNavigationByCategory(42, 2, true, true, false, "current", "nav", "sf-menu", "cat_css_id", "cat_css_class", function($cat, $depth) {
if ($depth == 1) {
return htmlspecialchars($cat->getName());
} else {
return '<a href="' . $cat->getUrl() . '">' . htmlspecialchars($cat->getName()) . '</a>';
}
});
- Peter.Bickel
- Beiträge: 1856
- Registriert: 25. Jan 2005, 21:17
- Wohnort: Schleswig-Holstein
- Kontaktdaten: Website
Re: Klasse nav42 - eine erweiterte rex_navigation
Prima, danke!
Da dürften wirklich kaum noch Wünsche offen bleiben.
Da dürften wirklich kaum noch Wünsche offen bleiben.
Re: Klasse nav42 - eine erweiterte rex_navigation
nav42::getLangNavigation() fehlt nochPeter.Bickel hat geschrieben:Da dürften wirklich kaum noch Wünsche offen bleiben.
EDIT: Ist jetzt drin
- ralf.schlott
- Beiträge: 625
- Registriert: 5. Dez 2007, 21:22
- Wohnort: Hamburch
- Kontaktdaten: Website
Re: Klasse nav42 - eine erweiterte rex_navigation
Frage hierzu:
Gibt es irgendwo etwas zur Breadcrumb-Ausgabe?
Gibt es irgendwo etwas zur Breadcrumb-Ausgabe?
- Danke für Redaxo! -
http://www.prenzlweb.de
http://www.prenzlweb.de
Re: Klasse nav42 - eine erweiterte rex_navigation
Ist geplannt, aber noch nicht realisiert.
- ralf.schlott
- Beiträge: 625
- Registriert: 5. Dez 2007, 21:22
- Wohnort: Hamburch
- Kontaktdaten: Website
Re: Klasse nav42 - eine erweiterte rex_navigation
Subba! Bin gespannt.
- Danke für Redaxo! -
http://www.prenzlweb.de
http://www.prenzlweb.de
Re: Klasse nav42 - eine erweiterte rex_navigation
Dann schmeiss ich gleich noch eine Idee mit rein Ein Breadcrumb welches nicht nur den Pfad darstellt, sondern gleich noch die Geschwister-Kategorien der jeweiligen Ebene enthält. Etwa um ein Breadcrumb mit Dropdown zu realisieren.
Muss demnächst sowas umsetzen, weiss noch nicht ganz wie ich es mache, aber wahrscheinlich wird etwas in der Art rauskommen
Muss demnächst sowas umsetzen, weiss noch nicht ganz wie ich es mache, aber wahrscheinlich wird etwas in der Art rauskommen
Code: Alles auswählen
<ul>
<li>Start</li>
<li>
Level1-1
<ul>
<li>Level1-2</li>
<li>Level1-3</li>
<li>Level1-4</li>
</ul>
</li>
<li>
Level2-1
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</li>
</ul>
Re: Klasse nav42 - eine erweiterte rex_navigation
Eine flexible seo42::getBreadcrumbNavigation() wäre halt cool, die man für verschiedene Aforderungen nutzen kann
Re: Klasse nav42 - eine erweiterte rex_navigation
ja klar, welche aber auch sowas kann, also sowas per parameter aktivert werden kann
Noch was anderes, in nav42 gibt es keine Möglichkeit Kategorien die Kinder haben zu markieren? sowas wie <li class="hasChild">...
Noch was anderes, in nav42 gibt es keine Möglichkeit Kategorien die Kinder haben zu markieren? sowas wie <li class="hasChild">...
Re: Klasse nav42 - eine erweiterte rex_navigation
Du hast eigentlich nur einfluß auf den Link, siehe letzten Parameter.
Vielleicht kannst du aber auch Parameter $liClassFromMetaField irgendwie nutzen um deine CSS Klasse einzuschleusen.
Und per jQuery könnte man auch solche Klassen vollautomatisch einbauen.
Vielleicht kannst du aber auch Parameter $liClassFromMetaField irgendwie nutzen um deine CSS Klasse einzuschleusen.
Und per jQuery könnte man auch solche Klassen vollautomatisch einbauen.
Re: Klasse nav42 - eine erweiterte rex_navigation
muss ich dann noch genau anschauen, danke. Bei meiner selbst geschriebenen Navigation habe ich eben das hasChild drin um direkt per jQuery darauf zugreifen zu können, etwa für Klick statt hover. Aber eigentlich kann ich ja auch mit jQuery schauen ob da noch ein ul drin ist.
Re: Klasse nav42 - eine erweiterte rex_navigation
EbenAber eigentlich kann ich ja auch mit jQuery schauen ob da noch ein ul drin ist.
Re: Klasse nav42 - eine erweiterte rex_navigation
Hi RexDude,
hab mir mal erlaubt die nav42 etwas zu erweitern.
Zum testen freigegeben:
nav42extend
grz Chris
hab mir mal erlaubt die nav42 etwas zu erweitern.
Zum testen freigegeben:
nav42extend
grz Chris