super, freut mich das es klappt!
wegen dem Ü welches nicht angezeigt wird, ich glaube das liegt an der verwendeten Schrift-Datei, wahrscheinlich enthält diese keine Umlaute.
gruss
y
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/
Hi ynamite...
hab grad mal versucht die yNav 1:1 vom Downloadbereich in eine REX 4.3
zu testen. Hier wirfts mir ettliche Fehler:
Script 1:1 ausm Downloadbereich in ein Template kopiert, "yNav Template" in Ausgabe Template included und
mit folgender Ausgabe getestet:
grz. Chris
hab grad mal versucht die yNav 1:1 vom Downloadbereich in eine REX 4.3
zu testen. Hier wirfts mir ettliche Fehler:
Code: Alles auswählen
Notice: Undefined index: nav in htdocs/redaxo/include/generated/templates/8.template on line 55
Notice: Undefined variable: subNavCounter in htdocs/redaxo/include/generated/templates/8.template on line 128
Notice: Undefined variable: subNavCounter in htdocs/redaxo/include/generated/templates/8.template on line 139
Notice: Undefined index: 1 in htdocs/redaxo/include/generated/templates/8.template on line 139
Notice: Undefined index: 2 in htdocs/redaxo/include/generated/templates/8.template on line 128
Notice: Undefined index: 2 in htdocs/redaxo/include/generated/templates/8.template on line 139
Notice: Undefined index: 3 in htdocs/redaxo/include/generated/templates/8.template on line 128
Notice: Undefined index: 3 in htdocs/redaxo/include/generated/templates/8.template on line 139
Notice: Undefined index: 4 in htdocs/redaxo/include/generated/templates/8.template on line 128
Notice: Undefined index: 4 in htdocs/redaxo/include/generated/templates/8.template on line 139
Notice: Undefined index: 7 in htdocs/redaxo/include/generated/templates/8.template on line 128
Notice: Undefined index: 7 in htdocs/redaxo/include/generated/templates/8.template on line 139
Notice: Undefined index: 8 in htdocs/redaxo/include/generated/templates/8.template on line 128
Notice: Undefined index: 8 in htdocs/redaxo/include/generated/templates/8.template on line 139
Notice: Undefined index: 9 in htdocs/redaxo/include/generated/templates/8.template on line 128
Notice: Undefined index: 9 in htdocs/redaxo/include/generated/templates/8.template on line 139
Notice: Undefined index: 10 in htdocs/redaxo/include/generated/templates/8.template on line 128
Notice: Undefined index: 10 in htdocs/redaxo/include/generated/templates/8.template on line 139
mit folgender Ausgabe getestet:
Code: Alles auswählen
<?php
$options = array('addSubNav'=>1, 'dropDown'=>1, 'addItemId'=>1, 'useArticleId'=>1);
$navs = createNav($this,$options);
echo $navs[nav];
echo $navs[subnav];
?>
edit: schon OK im besten Fall sollte es imo auch keine notices geben.darwin hat geschrieben: hab grad mal versucht die yNav 1:1 vom Downloadbereich in eine REX 4.3
zu testen. Hier wirfts mir ettliche Fehler
Hi Chris
Danke fürs testen Aber ich muss dich enttäuschen, das sind keine Fehler sondern Hinweise, daher steht auch bei jeder Zeile "notice" und nicht "error". Du hast das PHP error reporting etwas zu aggressiv eingestellt.
Such mal nach dem PHP-Befehl error_reporting und ändere den zum Beispiel in "error_reporting(E_ALL ^ E_NOTICE);" um. Für weitere Infos siehe: http://php.net/manual/de/function.error-reporting.php
Ich hoffe das hilft, ansonsten einfach nochmal melden!
Gruss
y
MASSIF Webdesign Studio
HI,
soweit läuft das Script. Danke.
Ich versuch es gerade auch ein wenig zu erweitern, nur häng ich da grad
n bisschen. Ich versuche die Optionen um den Punkt "rendern der Unterpunkte Ja/Nein" zu erweitern, nur bin ich mir ned ganz schlüssig
wo ich dies dann unterscheiden muss...
Jemand eine Idee.
Danke. schonmal.
grz. Chris
soweit läuft das Script. Danke.
Ich versuch es gerade auch ein wenig zu erweitern, nur häng ich da grad
n bisschen. Ich versuche die Optionen um den Punkt "rendern der Unterpunkte Ja/Nein" zu erweitern, nur bin ich mir ned ganz schlüssig
wo ich dies dann unterscheiden muss...
Code: Alles auswählen
'renderSubNav' => false // {boolean} Soll die SubNavigation auch gerendert werden
Code: Alles auswählen
if($options['renderImages'] && OOAddon::isAvailable('sleightofhand'))
{
if(!$options['renderSubNav'])
if(in_array($article->getId(),$path))
$out['nav'] .= a561_sleightofhand(array(
'text' => $article->getName(),
'font' => $options['renderFontfile'],
'color' => $options['renderFontactivecolor'],
'size' => $options['renderFontsize'],
'spacing' => $options['renderFontspacing']
));
else
$out['nav'] .= a561_sleightofhand(array(
'text' => $article->getName(),
'font' => $options['renderFontfile'],
'color' => $options['renderFontcolor'],
'mouseover' => $options['renderFontactivecolor'],
'size' => $options['renderFontsize'],
'spacing' => $options['renderFontspacing']
));
else
// Hier? "nur" die Hauptkats rendern, rest normal
}
else
$out['nav'] .= htmlspecialchars($article->getName());
$out['nav'] .= '</a>';
Danke. schonmal.
grz. Chris
hey Chris
Das ist genau das was ich als nächstes einbauen möchte, bisher aber die Zeit noch nicht gefunden habe.
Eine notlösung die funktioniere müsste wäre die folgende (ca. Zeile 136 im Skript):
ist halt eher ein hack, bevor die subnavigation ausgegeben wird schaltet man die gerenderten headlines ab und gleich danach wieder an. müsste gehen habs aber so nicht getestet, so ähnlich aber schon mal irgendwo eingebaut
viel glück, hoffe es klappt!
gruss
y
Das ist genau das was ich als nächstes einbauen möchte, bisher aber die Zeit noch nicht gefunden habe.
Eine notlösung die funktioniere müsste wäre die folgende (ca. Zeile 136 im Skript):
Code: Alles auswählen
$options['renderImages'] = 0;
$subnav = createNav($instance,$options);
$options['renderImages'] = 1;
viel glück, hoffe es klappt!
gruss
y
MASSIF Webdesign Studio
falls du sinnvolle erweiterungen einbaust kannst du die gerne hier posten und ich nehm sie dann ins skript auf.
das problem am skript bzw. am generieren der subnavi ist meiner meinung nach das sowohl hauptnavi als auch subnavi in der selben funktion ausgegeben werden, was die flexibilität stark einschränkt. ich mag allzu grosse funktionen nicht so sehr
zur erklärung, um die subnavi auszugeben wird einfach das skript createNav nochmals aufgerufen mit dem unterschied das die aktuelle kategorie-ID mit der option "parentId" weitergegeben wird, das hat zur folge dass das skript die kinder kategorien von der kategorie mit "parentId" ausgibt, usw.
wie gesagt, ich denke in der jetzigen form müssten zuviele unnötige IF abfragen eingebaut werden um alles zu berücksichtigen daher würde eine zweite funktion wohl am meisten sinn machen, oder gleich ne klasse.
das skript ist auf jedenfall sehr optimierungsbedürftig ... was hältsts du denn von der rex nav factory?
das problem am skript bzw. am generieren der subnavi ist meiner meinung nach das sowohl hauptnavi als auch subnavi in der selben funktion ausgegeben werden, was die flexibilität stark einschränkt. ich mag allzu grosse funktionen nicht so sehr
zur erklärung, um die subnavi auszugeben wird einfach das skript createNav nochmals aufgerufen mit dem unterschied das die aktuelle kategorie-ID mit der option "parentId" weitergegeben wird, das hat zur folge dass das skript die kinder kategorien von der kategorie mit "parentId" ausgibt, usw.
wie gesagt, ich denke in der jetzigen form müssten zuviele unnötige IF abfragen eingebaut werden um alles zu berücksichtigen daher würde eine zweite funktion wohl am meisten sinn machen, oder gleich ne klasse.
das skript ist auf jedenfall sehr optimierungsbedürftig ... was hältsts du denn von der rex nav factory?
MASSIF Webdesign Studio
stümmt, da wäre schon einges onBoard... man müsst die Classwas hältsts du denn von der rex nav factory?
erweitern ...*HILFE* ... nur leide rist das nich grad meine Stärke ...
Hat wer Lust und Zeit?
ich fang mal an:
Code: Alles auswählen
class my_rex_navigation extends rex_navigation {
var $render;
var $render_sub;
/*public*/ function get($category_id = 0,$depth = 3,$open = FALSE, $ignore_offlines = FALSE, $render = FALSE)
{
$this->render = $render;
return $this->_getNavigation($category_id,$this->ignore_offlines, $this->render);
}
/*protected*/ function _getNavigation($category_id, $ignore_offlines = TRUE, $render = FALSE)
{
static $depth = 0;
if($category_id < 1)
$nav_obj = OOCategory::getRootCategories($ignore_offlines);
else
$nav_obj = OOCategory::getChildrenById($category_id, $ignore_offlines);
$return = "";
if(count($nav_obj)>0)
foreach($nav_obj as $nav)
{
$return .= '<a href="'.$nav->getUrl().'">';
if($render) {
$return .= a561_sleightofhand(array(
'text' => htmlspecialchars($nav->getName()),
'font' => "Dax.ttf",
'color' => array(192,192,192),
'size' => 11,
'spacing' => 1
));
} else {
$return .= htmlspecialchars($nav->getName());
}
$return .= '</a>';
}
return $return;
}
}
$my_rex_nav = new my_rex_navigation();
echo $my_rex_nav->get(0,3,FALSE,TRUE,TRUE);
HI...
mit der yNav lief es bereits, nur hatte ich Probleme den Code zu verstehen bzw. zu erweitern. Und mich hat das Thema die rex_nav zu erweitern eh schon lange mal interessiert
hier mal mein erster Versuch eine Class zu erweitern:
Im Prinzip ist es nichts anderes als der Hack von ynamite für die yNav.
äh.. und es funzt sogar schonmal soweit ...
bitte testen ... Danke
grz. Chris
mit der yNav lief es bereits, nur hatte ich Probleme den Code zu verstehen bzw. zu erweitern. Und mich hat das Thema die rex_nav zu erweitern eh schon lange mal interessiert
hier mal mein erster Versuch eine Class zu erweitern:
Code: Alles auswählen
class my_rex_navigation extends rex_navigation {
var $render;
var $render_sub;
function get($category_id = 0,$depth = 3,$open = FALSE, $ignore_offlines = FALSE, $render = FALSE, $render_sub = FALSE)
{
if(!$this->_setActivePath()) return FALSE;
$this->depth = $depth;
$this->open = $open;
$this->ignore_offlines = $ignore_offlines;
$this->render = $render;
$this->render_sub = $render_sub;
return $this->_getNavigation($category_id,$this->ignore_offlines,$this->render,$this->render_sub);
}
function _getNavigation($category_id, $ignore_offlines = TRUE, $render = FALSE, $render_sub = FALSE)
{
static $depth = 0;
if($category_id < 1)
$nav_obj = OOCategory::getRootCategories($ignore_offlines);
else
$nav_obj = OOCategory::getChildrenById($category_id, $ignore_offlines);
$return = "";
if(count($nav_obj)>0)
$return .= '<ul>';
foreach($nav_obj as $nav)
{
$return .= '<li>';
$return .= '<a href="'.$nav->getUrl().'">';
if($render) {
$return .= a561_sleightofhand(array(
'text' => htmlspecialchars($nav->getName()),
'font' => "Dax.ttf",
'color' => array(192,192,192),
'size' => 11,
'spacing' => 1
));
} else {
$return .= htmlspecialchars($nav->getName());
}
$return .= '</a>';
$depth++;
if(($this->open
|| $nav->getId() == $this->current_category_id
|| in_array($nav->getId(),$this->path) )
&&
($this->depth > $depth
|| $this->depth < 0))
{
if($render_sub)
$return .= $this->_getNavigation($nav->getId(),$ignore_offlines, $render_sub = TRUE);
else
$return .= $this->_getNavigation($nav->getId(),$ignore_offlines);
}
$depth--;
$return .= '</li>';
}
if(count($nav_obj)>0)
$return .= '</ul>';
return $return;
}
}
$my_rex_nav = new my_rex_navigation();
echo $my_rex_nav->get(0,3, FALSE, TRUE, $render = TRUE, $render_sub = TRUE);
äh.. und es funzt sogar schonmal soweit ...
bitte testen ... Danke
grz. Chris