ynamite's Navigation Factory :)

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

ynamite's Navigation Factory :)

Beitragvon ynamite » 4. Aug 2010, 14:34

Hallo Leute

Wollte hier kurz meine Navigations-Skripts präsentieren.

Vor allem würde mich interessieren wie euch diese gefallen (und natürlich ob sie richtig funktionieren) und ob die Verwendung leichter von der Hand geht als andere ähnliche Funktionen/Addons/Klassen. Was fehlt eurer Meinung nach noch?

Der Grund wieso ich mir diese Skripts gebastelt habe, war einfach das ich mit der rex_navigation::factory irgendwie nie so richtig zufrieden war/bin (muss aber zugeben das ich mich nicht so sehr damit auseinandergesetzt habe, also ist die Aussage ein bisschen gewagt), vor allem dann nicht wenn man am eigentlichen Code etwas rumschrauben/ändern möchte.

Die Idee ist nicht eine Funktion zu bauen die alle möglichen Navigation darstellen kann, aber einfach ein im Masse sehr flexibles Skript. ist natürlich immer subjektiv, aber ich setze die Skripts bei 90% unserer Websites unverändert ein.

Eigentlich handelt es sich hierbei um 3 verschiedene Skripts:

yNav
Funktion/Template um Redaxo Navigation auszugeben
http://www.redaxo.de/168-0-templatedetails.html?template_id=150

yLangNav
Funktion/Template um Redaxo Sprach-Navigation auszugeben
http://www.redaxo.de/168-0-templatedetails.html?template_id=151

yBreadCrumb
Funktion/Template um Redaxo Breadcrumb-Navigation auszugeben
http://www.redaxo.de/168-0-templatedetails.html?template_id=152

so, hoffe ihr könnt die funktionen irgendwie gebrauchen, steht euch natürlich frei änderungen vorzunehmen etc.

falls es jedoch nennenswerte weiterentwicklungen gibt, wäre ich natürlich um feedback froh ;) viel spass!

liebe grüsse
y
Zuletzt geändert von ynamite am 12. Aug 2010, 17:53, insgesamt 4-mal geändert.
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

Beitragvon ynamite » 5. Aug 2010, 19:11

Sind denn alle in den ferien? :D

Hallöchen?
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

Beitragvon Cheffchen » 5. Aug 2010, 19:47

Hallo,
nö :O).

habe es vorhin mal Probiert wurde aber nichts Angezeigt.
Werde es Morgen noch mal in ruhe Versuchen.

Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1124
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Beitragvon ynamite » 5. Aug 2010, 19:56

Hey

Danke fürs ausprobieren. Hab den Code oben nochmals aktualisiert, am besten nochmal kopieren.

Versuchs einfach mal so:
Code: Alles auswählen
$navs = createNav($this,array('addSubNav'=>1));
echo $navs['nav'];
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

Beitragvon Koala » 5. Aug 2010, 21:34

Diese if-isset-Monsterabfrage in der function createNav kann man deutlich übersichtlicher und wartbarer schreiben. Nutze ein Array um die Defaultwerte der Option zu hinterlegen:
Code: Alles auswählen
// Array mit allen option-Defaultwerte
$options_vorgabe = array (
'parentId' => 0, // 0: Von welcher Kategorie (ID) aus die Navigation erstellen, zum Beispiel wenn man nur Subnavigation will
'addSubNav' => false, // 0: Subnavigation hinzufügen?
'renderFontfile' => 'univers.ttf'  // 1: schrift
);

foreach ($options_vorgabe as $opt => $value) {
  if (!isset ($option[$opt]) ) {
    $option[$opt] = $value;
  }
}
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1528
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus

Beitragvon ynamite » 5. Aug 2010, 22:11

Koala hat geschrieben:Diese if-isset-Monsterabfrage in der function createNav kann man deutlich übersichtlicher und wartbarer schreiben.


stimmt! wird angepasst. danke! ;)

edit: mir ist sogar noch eine bessere variante in den sinn gekommen, ist eingebaut.
Zuletzt geändert von ynamite am 12. Aug 2010, 16:54, insgesamt 1-mal geändert.
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

update

Beitragvon ynamite » 12. Aug 2010, 16:51

hallo

habe das mit den optionen nun vereinfach und die funktionen/templates nun auch im Redaxo download bereich eingefugt. folgend die links zu den überarbeiteten versionen:

yNav
http://www.redaxo.de/168-0-templatedetails.html?template_id=150

yLangNav
http://www.redaxo.de/168-0-templatedetails.html?template_id=151

yBreadCrumb
http://www.redaxo.de/168-0-templatedetails.html?template_id=152

bin auf feedback gespannt! viel spass damit ;)

gruss
y
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

Beitragvon Koala » 12. Aug 2010, 21:13

Schreibe bitte anstelle von $options[parentId] dies: $options['parentId'] (und das bei allen $options-Array Zugriffen).
Es hagelt sonst ne Menge Fehlermeldungen.
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1528
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus

Beitragvon ynamite » 13. Aug 2010, 10:22

hallo koala

danke für den tipp! ist erledigt! ;)

war mir nicht bewusst das bei dieser schreibweise fehlermeldungen ausgespuckt werden, ich dachte dies sei völlig legitim.

gruss
y :wink:
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

Frage

Beitragvon steffus » 29. Aug 2010, 14:54

Schön, aber wie genau binde ich das in Redaxo ein?
Habe ein Template erstellt und dort die function hinein kopiert.
Dann habe ich in dem navi div folgendes hinein kopiert:

Code: Alles auswählen
<div class="navi">
<php
$options = array('showLangCodeOnly'=>1, 'separatorTag'=>'span');
echo createLangNav($options);
?>      </div>


geht aber nicht, wie funktioniert das denn?
steffus
 
Beiträge: 7
Registriert: 17. Aug 2009, 21:49

Re: Frage

Beitragvon ynamite » 30. Aug 2010, 10:38

steffus hat geschrieben:Schön, aber wie genau binde ich das in Redaxo ein?
Habe ein Template erstellt und dort die function hinein kopiert.
Dann habe ich in dem navi div folgendes hinein kopiert:

geht aber nicht, wie funktioniert das denn?


Hallo Steffus

Was genau passiert denn? Kriegst du eine Fehlermeldung oder passier gar nichts? Bindest du denn das Template wo die Funktion drin ist auch im Haupt-Template ein?

Gruss
y
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

Beitragvon steffus » 30. Aug 2010, 13:12

er zeigt mir dann komische zeichen an, ober besser gesagt schreibt er mir die function in ein div. also, was habe ich gemacht. template erstellt, die funktion dort hinein kopiert. im default template dann wie folgt eingebunden:

Code: Alles auswählen
<div class="head-bottom-center">

REX_TEMPLATE[4]
<php
$options = array('showLangCodeOnly'=>1, 'separatorTag'=>'span');
echo createLangNav($options);
?>
    </div>


wobei REX_TEMPLATE[4] sich die function verbirgt.
steffus
 
Beiträge: 7
Registriert: 17. Aug 2009, 21:49

Beitragvon ynamite » 30. Aug 2010, 15:20

steffus hat geschrieben:er zeigt mir dann komische zeichen an, ober besser gesagt schreibt er mir die function in ein div


Du musst die Funktion im REX_TEMPLATE[4] noch in PHP-Tags setzen:

Code: Alles auswählen

<?php

function createLangNav ...

?>



Falls du nicht sicher bist wie das gemeint ist, kopier die gesamte Funktion nochmals von hier http://www.redaxo.de/168-0-templatedetails.html?template_id=151 und ersetze deinen Code im Template 4.

Müsste so klappen, habs eben getestet.

Gruss
y
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

Beitragvon steffus » 31. Aug 2010, 14:28

no keine chance, nun zeigt er mir das an:

1, 'separatorTag'=>'span'); echo createLangNav($options); ?>

bin mir sicher das ich nun das template richtig kopiert habe. und es so im div eingebunden habe:

Code: Alles auswählen
<div class="navi">
        REX_TEMPLATE[4]
<php
$options = array('showLangCodeOnly'=>1, 'separatorTag'=>'span');
echo createLangNav($options);
?>
      </div>
steffus
 
Beiträge: 7
Registriert: 17. Aug 2009, 21:49

Beitragvon ynamite » 31. Aug 2010, 14:38

steffus hat geschrieben:no keine chance, nun zeigt er mir das an:

1, 'separatorTag'=>'span'); echo createLangNav($options); ?>

bin mir sicher das ich nun das template richtig kopiert habe. und es so im div eingebunden habe:

Code: Alles auswählen
<div class="navi">
        REX_TEMPLATE[4]
<php
$options = array('showLangCodeOnly'=>1, 'separatorTag'=>'span');
echo createLangNav($options);
?>
      </div>


Komisch, kann mir gerade nicht erklären wieso das nicht funktionieren soll ... Habs wie gesagt mit dem genau gleichen Template, aus dem downloadbereich, getestet. kannst du mir eventuell einen eingeschränkten benutzer im redaxo einrichten und mir eine PM mit den Zugangsdaten schicken? dann schau ichs mir mal direkt an, weil bei mir funzts einwandfrei.

edit: werde auch nichts kaputt machen ;)
aber falls dir das zu heikel ist, kannst du mir wenigstens beide Templates vollständig posten bzw. pm'n? oder einen link zur seite schicken? nimmt mich selber wunder wieso's nicht gehen soll.
BLUEMOUSE | BlueMouse GmbH
Benutzeravatar
ynamite
 
Beiträge: 118
Registriert: 26. Jan 2007, 13:59
Wohnort: baden

Nächste

Zurück zu Templates/Navigationen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast