[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
YAML-Templates - Seite 2 - REDAXO Forum
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/
Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

23. Mai 2008, 12:27

Hallo Thomas,

vielleicht hilft Dir das weiter:

http://www.raybeam.de/43-0-Einzelkatego ... ation.html

Gruß

Peter

themmen
Beiträge: 11
Registriert: 24. Apr 2008, 14:53

23. Mai 2008, 15:43

Hallo Peter (Peter.Bickel) und Peter (raybeam),

vielen Dank für euere schnelle Reaktion!

@Peter.Bickel:

Code: Alles auswählen

Du kannst Benutzerrechte ebenso auf Artikelebene definieren, das halte ich sogar für sinnvoller. Dies geht am besten über den Artikeltyp (Metadaten).
Diese Möglichkeit würde ich gern nutzen, habe aber weder in der Doku noch im Forum eine Erklärung gefunden, wie ich das umsetzen könnte. Im Backend habe ich unter "Meta Infos > art_type_id" einem neuen Parameter "FussMenue" angelegt, den ich in einem Artikel auch zuweisen kann. Leider finde ich unter "Benutzer" keine Möglichkeit damit den Zugriff zu ermöglichen/beschränken.

Kannst du vielleicht ein Beispiel posten?

@raybeam:

Code: Alles auswählen

vielleicht hilft Dir das weiter:
http://www.raybeam.de/43-0-Einzelkategorie-als-separate-Navigation.html
Dein Beispiel "Einzelkategorie als separate Navigation" hört sich genau nach dem an, was ich gesucht habe, funktioniert bei mir aber noch nicht ganz. Was ich getan habe:

> Kategorie "Fusszeile" angelegt; darin Startartikel "Fusstest 1" genannt, weitere Artikel "Fusstest 2" und "Impressum" angelegt.

> Code aus deiner verlinkten Seite wie angegeben ins Navigations-Template eingefügt und bei $catIdRot=''; die ID 58 (=Kategorie Fusszeile und Startartikel Fusstest 1) eingetragen, also $catIdRot='58';

> Im Seitentemplate an der entsprechenden Stelle <?php print $navigation_rot; ?> eingetragen.

Im Ergebnis wird bei meinem Test wird auch ein Menüeintrag erstellt, allerdings wird dort nur der Kategorietitel angezeigt, aber nicht die Namen der Artikel in dieser Kategorie (habe auch alle Schalter "on", "allOn" etc. probiert - ohne Unterschiede).

Hast du eine Idee?

Gruß und Danke für eure Hilfe,

Thomas

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

23. Mai 2008, 15:53

themmen hat geschrieben:Diese Möglichkeit würde ich gern nutzen, habe aber weder in der Doku noch im Forum eine Erklärung gefunden, wie ich das umsetzen könnte. Im Backend habe ich unter "Meta Infos > art_type_id" einem neuen Parameter "FussMenue" angelegt, den ich in einem Artikel auch zuweisen kann. Leider finde ich unter "Benutzer" keine Möglichkeit damit den Zugriff zu ermöglichen/beschränken.
Du solltest Backend-User und Frontend-User trennen.
Für die Verwaltung der Frontend-User gibt's für Rex 4 im Momen kein fertiges Addon. Mit dem Community-Adddon ist aber eines am Entstehen.
Dort müsstest Du ein Feld anlegen, wo Du jedem User z.B. "Fußzeile: ja/nein" zuweisen kannst. Achtung: Die Navigation muss auch entsprechend angepasst werden.
Leider gibt es im Moment kein fertiges Out-Of-The-Box-System. Mit Hilfe der Login-Demo aus Redaxo 3 müsstest Du aber zurecht kommen, wenn Du ein paar PHP-Fähigkeiten hast.

Grüße,
Peter.

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

23. Mai 2008, 16:46

Man muss zwei Naviationstypen unterscheiden:

Grundsätzlich baut sich die Navigation aus den Kategorien und ihren Startartikeln auf.
Die Navigation aus Root-Artikeln ist eine eine "Sonderlösung".

Mein Hinweis auf die "Einzelkategorie" bezieht sich auf eine beliebige Kategorie mit ihren Unterkategorien. Die einfachste Lösung wäre, jeden benötigten Artikel als Unterkategorie zu erstellen. Eine andere Möglichkeit besteht in der Anpassung des Codes unter

http://www.raybeam.de/42-0-root-Artikel ... Liste.html

Wenn Du hier anstatt

Code: Alles auswählen

$rootArticles = OOArticle::getRootArticles($ignore_offlines = true, $clang = false);

Code: Alles auswählen

$rootArticles = OOArticle::getArticlesOfCategory(IDderKategorie);
eingibst, könnte es funktionieren. Ist aber ungetestet!

Gruß

Peter

themmen
Beiträge: 11
Registriert: 24. Apr 2008, 14:53

26. Mai 2008, 10:05

Hallo raybeam,

Ich habe deinen Tipp befolgt und deinen vorgeschlagenen Code (sogar erfolgreich! :o ) noch ein wenig ergänzt.

Da ich in meine Kategorie "Fusszeile" nun auch die Artikel "Suche" und "Suche - Ergebnisse" eingebunden habe, ergab sich ein kleines Problem. "Suche - Ergebnisse" muss offline bleiben und wird nur durch eine "Suche" aufgerufen. Der online/offline-Status wurde aber zunächst nicht berücksichtigt.

Durch die Ergänzung deines Codes mit $ignore_offlines = true, $clang = false (wie im root-Artikel-Nav-Code) werden auch nur Artikel angezeigt die online sind.

Code: Alles auswählen

$rootArticles = OOArticle::getArticlesOfCategory(IDderKategorie, $ignore_offlines = true, $clang = false);
Noch einmal vielen vielen Dank für die schnelle Hilfe! :D

Gruß Thomas

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

16. Aug 2008, 18:24

Hallo zusammen,

wollte nur kurz mitteilen, dass die YAML-Templates jetzt auch an das Community-Addon angepasst sind.

Der Einrichtung von "geschlossenen Benutzerbereichen" mit redaxo 4.x und den YAML-Templates steht jetzt hoffentlich nichts mehr im Wege.

Näheres unter http://www.raybeam.de

Viele Grüße

Peter

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

20. Okt 2008, 00:15

Hi Peter,

ich spiele gerade mit deiner YAML-Navigation rum ... klasse :)
Toll finde ich die Möglichkeit Root-Artikel über eine Meta-Info in die Topnav zu bringen.
Was mir fehlt, ist über eine Meta-Info eine Root-Katrgorie von der Mainnav auszuschließen ;)
Lässt sich doch bestimmt machen, oder?

Gruß
Tito

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

20. Okt 2008, 11:58

Hallo Tito,

vielen Dank für die Blumen :D

Zu Deiner Frage könnte ich Dir diesen Lösungsversuch anbieten:

Erweitere das yaml_navigation-Template um folgende Zeilen in der Funktion build_navigation am besten direkt vor oder nach der Abfrage der online_from / online_to-Werte

Code: Alles auswählen

// Erweiterung
if(!$nav->getValue('navigation') || $nav->getValue('navigation')=='||')
{
  return;
}
// Ende der Erweiterung

if($nav->getValue('online_from') != $nav->getValue('online_to'))
{
  if($nav->getValue('online_from') > $time || $nav->getValue('online_to') < $time)
  {
    return;
    ...
Nun must Du noch in den Meta-Infos für die Artikel eine Checkbox mit Spaltennamen / Feldbezeichnung 'navigation' mit dem Standardwert='true' anlegen - fertig!

Jetzt kann jede Kategorie, übrigens unabhängig davon ob root- oder Unterkategorie, einfach aus der Navigation deiner Seite über den jeweiligen Startartikel "ausgeschaltet" werden.

Gruß

Peter

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

20. Okt 2008, 12:39

Hi Peter,

funzt Prima. Ich habe das nur ein wenig abgeändert in

Code: Alles auswählen

if($nav->getValue('hide_from_navigation') && 
   $nav->getValue('hide_from_navigation')=='|true|') 
{ 
	return; 
}
Allerdings habe ich jetzt das Problem, das das Untermenu der versteckten Kategorie ebenfalls nicht angezeigt wird. ich hatte das mit

Code: Alles auswählen

// Menu für unsichtbare Rootkategorie Kontakt (id=19)
if($path[1] == 19)
{
	$navK = OOCategory::getCategoryById(19);
	$naviK = build_navigation($userTyp, $navK, $path, 'extra');
	$subNavigation= "<ul $cssId>\n {$naviK[1]} </ul>\n";
}

// ------------------ Breadcrumb erstellen ------------------
eingebunden, aber nu isses nicht mehr da :(
Haste auch dafür eine Lösung?

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

20. Okt 2008, 13:13

Allerdings habe ich jetzt das Problem, das das Untermenu der versteckten Kategorie ebenfalls nicht angezeigt
Deswegen ist es ja auch eine Unterkategorie, die das macht was ihre root-Kategorie macht :wink:

Spass beiseite: Hier wirds aufwändiger und ich kann auch nicht so recht den Sinn darin erkennen. Dazu habe ich leider auf die Schnelle keine Lösung parat. Da wirst Du basteln müssen.

Gruß

Peter

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

20. Okt 2008, 13:50

Ok, mach ich mal ... aber trotzdem Danke für deine Hilfe.

Ich erklär dir aber trotzdem mal den Sinn des ganzen, vielleicht hab ich ja auch ein grundsätzliches Verständnissproblem ;)
Also:
In meiner Mainnav soll die Kategorie "Kontakt" nicht erscheinen da sie bereits in der Topnav steht (als Verweis auf die Kategorie). Kontakt ist aber nicht nur eine Seite, sondern eine Kategorie mit Unterkategorien (Impressum, Wegbeschreibung etc.). Das hab ich so gemacht, damit für die "unwissenden Benutzer" des Backends alles gleich ist. Die wissen, das sie, wenn sie einen Menupunkt generieren wollen, eine Kategorie anlegen müssen. Wenn sie sichtbar sein soll müssen sie die nur noch online stellen und ab geht's. Das kennen die schon und fühlen sich wohl dabei. Denen zu erklären, das man sie von der Navigation ausschließen kann ist verständlicher für Sie als Ihnen zu erklären, das diese Offline-Kategorie trotzdem genutzt wird.
Außerdem soll die Kategorie z.B. für die Sitemap auch sichbar sein.
So weit alles klar? :)
Oder sollte ich das besser ganz anders machen?

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

20. Okt 2008, 15:03

Wenn Kontakt in der Mainnav ausgeblendet ist, wo sollten dann in der Mainnav die Untermenüpunkte wie Impressum etc. auftauchen?

Wäre es nicht möglich, für die Kontaktseite ein separates Untermenü (z. B. horizontal oder als <ul>-Menü) zu erstellen, welches nur auf den Seiten der Kontakt-Kategorie angezeigt wird?

Neben der Startseite der Kontakt-Kategorie könnten die anderen benötigten Seiten dann z. B. als normale Artikel in dieser Kategegorie abgelegt sein und z.b. über eine <ul>-Artikelliste verlinkt werden.

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

22. Okt 2008, 09:57

Wenn Kontakt in der Mainnav ausgeblendet ist, wo sollten dann in der Mainnav die Untermenüpunkte wie Impressum etc. auftauchen?
Impressum steht auch in der Topnav, die anderen Untermenupunkte sollen nicht in der Navigation auftauchen, wohl aber in der Sitemap.
Wäre es nicht möglich, für die Kontaktseite ein separates Untermenü (z. B. horizontal oder als <ul>-Menü) zu erstellen, welches nur auf den Seiten der Kontakt-Kategorie angezeigt wird?
Jepp, aber wie lege ich ein seperates Untermenu an, ohne eine Kategorie im Backend anzulegen? Der Trick ist ja, das für die Backend-User alles gleich bleibt.

Ich habe das jetzt so gelöst:
Zuerst habe ich eine Meta-Info für Kategorien angelegt. Name = 'hide_from_topnavigation', Standardwert = 'false'.

Dann folgendes im Navigationstemplate hinzugefügt:

Code: Alles auswählen

// Erweiterung #########################
if($nav->getValue('hide_from_topnavigation') && $nav->getValue('hide_from_topnavigation')=='|true|') 
{ 
	$showMain = false; 
} 
else $showMain = true;
// Ende Erweiterung #####################
	
if($nav->getValue('online_from') != $nav->getValue('online_to'))
{
	if($nav->getValue('online_from') > $time || $nav->getValue('online_to') < $time)
	{
		return;
	}
}
Dann an allen stellen, wo $subUl=='extra' auftaucht (denn nur dort macht es meiner Meinung nach sinn) habe ich

Code: Alles auswählen

$navigation.=<li'.$oClass.'><a href="'.$nav->getUrl().'">'.$nav->getName().'</a>';
in

Code: Alles auswählen

$navigation.=$showMain ? '<li'.$oClass.'><a href="'.$nav->getUrl().'">'.$nav->getName().'</a>':'';
geändert.

Klappt prima 8)

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

22. Okt 2008, 10:16

Respekt! :)

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

Update der YAML-Templates

21. Dez 2009, 21:41

Hallo zusammen,

ich möchte die Gelegenheit nutzen und Euch auf die aktualisierten YAML-Templates hinweisen.

Mit der Einführung der Basisversion des Community-Addons als Nachfolger des Simple-User-Addons wurde es Zeit auch die YAML-Templates anzupassen. Wie schon in den Vorgängerversionen gibt es wieder die Möglichkeit individuelle Benutzerbereiche und individuelle Startseiten einzurichten.

Durch die neue Basisversion des Community-Addons ist alles ein wenig übersichtlicher und viel einfacher einzurichten.

Da die YAML-Templates auch unabhängig vom YAML-Framework funktionieren, habe ich die neue
Universelle <ul>Navigation (YAML), das modifizierten Authentifizierungs-Template
Community-Authentifizierung (YAML) - individuelle Benutzerbereiche und ein passendes Login-Template
Community-Login (YAML) - individuelle Benutzerbereiche zum Download bereit gestellt.

Weitere Infos findet Ihr wie immer auch unter www.raybeam.de.

Viele Grüße

Peter

h1onE
Beiträge: 16
Registriert: 15. Apr 2010, 23:54

16. Apr 2010, 00:13

hallöchen,

ich hab mich eben angemeldet und bin froh jezt ein teil dieser community zu sein :D
jedoch möchte ich noch erwähnen, dass ich relativ neu in der materie bin und somit habe ich auch gleich eine fragen an das templatesystem vom peter.

ich hab im "yaml_layout" teamplate für "subUl" die einstellung extra gewählt, da ich eine getrennte navigation der ober- und subkategorien verwenden möchte. dazu verwende ich das "sliding door" navigations template von yaml. so wie ich das bisher gemacht habe wurde immer die aktulle oberkategorie mit dem "<strong>"-tag umschlossen und nicht verlinkt.
bei dem navigationssystem von raybeam funzt das bei mir aber nich - wird das strong-tag da überhaupt verwendet? - wollte fragen ob ich was falsch mache und wie ich das problem am besten beheben kann.

lg
h1onE

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

17. Apr 2010, 12:17

Hallo h1onE,

Nein, Du machst nichts falsch. Es liegt an mir :(

Derzeit wird die aktuelle Oberkategorie noch mit class="current" ausgezeichnet. Ich komme leider z. Z. nicht dazu, die Templates auf den neusten Stand zu bringen. Ich habe es in Planung, kann aber im Moment leider nicht absehen wann.

Gruß

Peter

sguser
Beiträge: 15
Registriert: 17. Jun 2010, 11:05

Frage zur SubNavi

17. Jun 2010, 11:08

Hallo Peter !

vielen Dank für die tollen Yaml-angepassten Templates. Ich arbeite auch bei anderen Systemen mit Yaml und fühle mich da gleich "Zuhause". Wenn ich die subNavigation z.B. erst ab Ebene 2 im Footer anzeigen möchte, wie mache ich das ?

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

17. Jun 2010, 19:26

Hallo sguser,

vielen Dank für das Lob :)

Meinst Du ungefähr so etwas hier:

Einzelne Kategorien als Navigation einbinden

Gruß

Peter

sguser
Beiträge: 15
Registriert: 17. Jun 2010, 11:05

17. Jun 2010, 20:06

Danke für die schnelle Antwort !

Mit deinem Code habe ich es versucht, komischerweise bekomme ich dann eine weiße Seite und gar keine Ausgabe mehr....

Ich hatte eine neue Variable eingebaut:
$headernav = $navigation;

und in div#nav eingebaut (<?php print $headernav; ?>) , da ich die horizontale Navi in der ersten Ebene irgendwie nicht hingekriegt habe nur mit $subUl = 'extra';.

Aber ich glaube da dran liegt es nicht dass dein zusätzlicher Code nicht funzt, oder ?

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

19. Jun 2010, 12:10

hier nochmal im Detail:

zunächst folgenden Code in das yaml_navigation-Tempate unmittelbar vor dem Breadcrumb-Bereich einfügen:

Code: Alles auswählen

...

$catIdFooternav = 3;
$nav1=OOCategory::getCategoryById($catIdFooternav);
$navi1 = build_navigation($nav1, $path, 'on');
$footernav = "<ul class=\"headernav\">\n {$navi1[0]} </ul>\n";

// ------------------ Breadcrumb erstellen ------------------
$catIdFooternav übergibst Du natürlich die ID deiner Kategorie, ab der Du die Menüpunkte darstellen möchtest.

Danach brauchst Du nur noch folgendes in dein YAML-Layout-Template einfügen:

Code: Alles auswählen

$footerNavigation	= $footernav;
Hab's gerade nochmal getestet und bei mir funktioniert es :-)

Gruß

Peter

sguser
Beiträge: 15
Registriert: 17. Jun 2010, 11:05

19. Jun 2010, 13:14

Super !

Das funktioniert !

Ganz, ganz herzlichen Dank ! Noch ein schönes Wochenende !

h1onE
Beiträge: 16
Registriert: 15. Apr 2010, 23:54

6. Jul 2010, 16:15

ersteinmal möchte ich mich bei peter für das yaml-template system und die gute dokumentation bedanken - überhaupt die weitere arbeit an diesem projekt anregen :wink:
h1onE hat geschrieben: ich hab im "yaml_layout" teamplate für "subUl" die einstellung extra gewählt, da ich eine getrennte navigation der ober- und subkategorien verwenden möchte. dazu verwende ich das "sliding door" navigations template von yaml. so wie ich das bisher gemacht habe wurde immer die aktulle oberkategorie mit dem "<strong>"-tag umschlossen und nicht verlinkt.
ich hab mich mal selber dran gewagt und mein problem auch lösen können 8), zumindest siehts bei mir jetzt so aus wie ich es haben mochte :D
falls jemand interesse an meinem template haben sollte, kann ich ihm das gerne zukommen lassen.

ich habe neben dem "<strong>"-tag noch die <li cass="active"> hinzugefügt. hier ein beispiel aus meiner version vom YAML-Navigationstemplate ab zeile 207:

Code: Alles auswählen

[...]
if($pathIndex>1 && $subUl=='extra') {
  // MEIN CODE
  if ($nav->getId() == $path[1]) {
    $subNavigation.='<li class="active"'.$oStyleID.'><strong>'.$nav->getName().'</strong>';
  } else {
    $subNavigation.='<li'.$oStyleID.'><a  href="'.$nav->getUrl().'">'.$nav->getName().'</a>';
  }
  // MEIN CODE ENDE
} else {
[...]
ich wollte fragen, ob es vlt eine elegantere lösung gibt. im template habe ich einfach nur nach dem stichwort "<li" gesucht und dann jeweils meine if abfrage darum gebaut.

bei meiner arbeit am template sind mir schließlich noch folgend zeilen ins auge gefallen

Code: Alles auswählen

Zeile 176: $oStyleID=" class="current $oStyleClass"";
[...]
Zeile 185: $oStyleID=" class="active $oStyleClass"";
was hat es eigentlich genau damit auf sich und wie wird es verwendet? vlt habe ich es mir ja unnötig kompliziert gemacht?


darüber hinaus habe ich noch eine frage zu den Individuellen Style-Klassen für die Navigationslinks. wo genau baue ich zb. die css-klasse

Code: Alles auswählen

<li class="rot">
bei den yaml-stylesheets ein?

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

6. Jul 2010, 19:57

Hallo h1onE,

zunächst einmal: Ich arbeite weiter an dem Projekt :)

Zur Zeit entsteht ein YAML-Addon - es soll die Erstellung der YAML-Layouts wesentlich erleichtern und auch enger mit dem Yaml-Builder "verbunden" sein. Es dauert aber noch ein wenig bis zur Fertigstellung.

Wenn es dann so weit ist, wird auch die Anpassung des Navigationsemplates an die aktuellen YAML-Templates durchgeführt sein.

Die $oStyleID generiert entweder die CSS-Klasse "current" oder "active". Wenn deine Anpassung funktioniert, ist es meiner Meinung nach zunächst egal, ob sie elegant ist oder nicht, Hauptsache, sie funktioniert fehlerfrei :wink:

Zu den individuellen Navigationslinks findest Du hier eine Anleitung. Die Style-Klassen werden automatisch erstellt. Das brauchst Du nicht selbst anzulegen. Wenn Du entsprechend der o.g. Anleitung die Metainformationen erweitert hast, kannst du jeder Kategorie über "ändern" und dann "Metadaten bearbeiten" eine Deiner eingerichteten individuellen CSS-Klassen zuordnen.

Gruß

Peter

Zurück zu „Allgemeines [R4]“