Accesskeys für Hauptnavigatoren

Gesperrt
Christiane
Beiträge: 29
Registriert: Do 2. Nov 2006, 14:44
Kontaktdaten:

Accesskeys für Hauptnavigatoren

Beitrag von Christiane » Fr 19. Jan 2007, 19:06

Bitte verhaut mich nicht gleich... ich muss noch mal ein Thema ansprechen, dass hier nicht unbedingt freudestrahlend aufgenommen wird: Accesskeys.

Aufgrund einer konkreten Kundenanforderung (verwendete Contenido-Version: 4.6.15) sollen die Hauptmenüpunkte (Ebene 1) jeweils ein Accesskey (von 1 bis 9) hinterlegt bekommen.

Habt ihr eine Idee, wie das realisierbar wäre? Am genialsten wäre, wenn ich die entsprechende Zahl des Accesskeys direkt in der Übersicht der Kategorien vergeben könnte.

conradius
Beiträge: 168
Registriert: Di 19. Jul 2005, 11:52
Wohnort: Wabern (Bern/CH)
Kontaktdaten:

Beitrag von conradius » Di 23. Jan 2007, 11:28

hallo Christiane,
ich würd' das in ein Modul packen (simpler <input type="text"...>-Tag im Backend) und dieses Modul dann nur den Kategorien der ersten Ebene in einem Template zuweisen. Das Navigationsmodul müsstest Du dann so erweitern, dass es auf der ersten Ebene mittels der ID (z.B. der vorhandenen idcat) den Accesskey aus der Container-Configuration herausangelt.

Somit sind die Accesskeys flexibel zuweisbar und der Aufwand (kein extremer Umbau, keine Backend-Anpassung notwendig) hält sich in Grenzen.

Ich hab diesen Gedankengang zwar nicht bis ins Ende durch gedacht, aber er klingt - aus meiner Sicht - plausibel.

Stichworte zur Umsetzung:
Tabelle: con_container_conf (für container) & con_cat_lang (für idtplcfg)
Container-Nummer: diese legst Du mit der folgenden Syntax in den Templates fest:

Code: Alles auswählen

<container id="10" name="Accesskey" types="Navigation" default="Accesskey" mode="fixed">Accesskey</container>
Bin gespannt, was Du dazu meinst.
Gruss,
Conradius

trixta
Beiträge: 165
Registriert: Di 26. Apr 2005, 12:53
Kontaktdaten:

Beitrag von trixta » Di 23. Jan 2007, 11:45

das geht doch auch einfacher, lass doch einfach ne variable mitlaufen und vergib damit die accesskeys. (so hab ich dass da gemacht -> http://tierversuchsgegner-berlin-brandenburg.de/)
ich muss noch mal ein Thema ansprechen, dass hier nicht unbedingt freudestrahlend aufgenommen wird: Accesskeys.
wie kommst du da drauf?

i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt » Di 23. Jan 2007, 11:57

Mein Ratschlag: Lass die Accesskeys (schon das Wort ist die erste Barriere) weg. Sie sind nicht mehr zeitgemäß, endlich haben auch die meisten einstige "Verfechter" erkannt, dass sie sinnlos sind und eigentlich fast nur Probleme machen.
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)

Christiane
Beiträge: 29
Registriert: Do 2. Nov 2006, 14:44
Kontaktdaten:

Beitrag von Christiane » Di 23. Jan 2007, 12:13

conradius hat geschrieben:Bin gespannt, was Du dazu meinst.
Hallo Conradius, Deine Vorschläge klingen alle klasse. Mit fehlt nur leider das nötige Umsetzungsverständnis.
trixta hat geschrieben:lass doch einfach ne variable mitlaufen und vergib damit die accesskeys
Hallo trixta, genau sowas suche ich!Leider fehlt mir das nötige Programmierverständnis, um das in meine Navigation einbauen zu können. Könntet ihr mir dabei helfen? Ich nutze Contenido in der Version 4.6.15 mit dem Hauptnavigation-Modul von Jan lengowski und Andreas Lindner.
trixta hat geschrieben:wie kommst du da drauf?
Beim Lesen der vorhandenen Beitrage kam der Eindruck auf, dass Accesskeys nicht gewünscht sind und "aussterben werden". Meiner Meinung nach sind Accesskeys jedoch eine der komfortabelsten Erweiterungen innerhalb einer Website.

@i-fekt: 'tschuldigung: Tastaturkürzel ;-) Sinnlos? Nun, das ist bekannterweise Ansichtssache. Warum sollte ich mich per Tab durch die ganze Seite klicken, wenn ich ganz einfach per Alt+Tastaturkürzel zu der gewünschten Stelle springen könnte?

conradius
Beiträge: 168
Registriert: Di 19. Jul 2005, 11:52
Wohnort: Wabern (Bern/CH)
Kontaktdaten:

Beitrag von conradius » Di 23. Jan 2007, 13:11

Ob Accesskeys ja oder nein scheint offenbar nicht zur Frage zu stehen, wenn dies vom Auftraggeber so gewünscht (und die Vor- und Nachteile mit ihm abgesprochen worden sind!).
das geht doch auch einfacher, lass doch einfach ne variable mitlaufen und vergib damit die accesskeys
So wenig weit hab' ich gar nicht gedacht... :roll:
Stimmt natürlich, dass dieser Vorgang deutlich einfacher ist. Die Zuteilung geschieht dann halt nach einem Mechanismus (aufsteigend wie die Navigationshierarchie) und nicht nach menschlichem Gutdünken, was in diesem Fall ja eigentlich auch nicht nötig ist.

@Christiane
...ne Variable mitlaufen lassen:

Code: Alles auswählen

$i = 1; // wird als Accesskey verwendet
while ($db->next_record()) {
	// Dein Link-Gebäude
	$tpl->set('d', 'ACCESSKEY', $i); // Accesskey für das Template setzen, dort wo auch die anderen Parameter gesetzt werden
	// Deine Link-Gebäude-Vortsetzung
	$i++; // Accesskey hochzählen
	}
Gruss,
Conradius

Christiane
Beiträge: 29
Registriert: Do 2. Nov 2006, 14:44
Kontaktdaten:

Beitrag von Christiane » Di 23. Jan 2007, 15:07

conradius hat geschrieben:...ne Variable mitlaufen lassen:
Ich hab's versucht, aber irgendwas ist da was an meinem Modul (Hauptnavigation von Andreas Lindner) noch falsch. Kannst Du mir evtl. noch mal auf die Sprünge helfen?

Überall vor den entsprechenden while-Schleifen (letzte Zeile des nachfolgenden Ausschnittes) habe ich die Zählervariable gesetzt (die ersten 2 Zeilen).

Code: Alles auswählen

 
/* Zaehlvariable fuer Accesskey einfuehren */
$i = 1;
while ($db->next_record()) 
{
Da ich die Tastaturkürzel nur auf die erste Navigationsebene legen möchte, habe ich dann noch im Navigationsbereich (Ausschnitt nachfolgend) die letzte Zeile hinzugefügt:

Code: Alles auswählen

/* 1. Navigation level */
  if (checkCatPermission($data['idcatlang'],$data['public'])) {
      $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->set('d', 'ACCESSKEY', $i);
Aber es tut sich nichts auf meinen Seiten.

Vielleicht hilft ja auch der gesamte Navigations-Modul-Code:
[HerrB: Rausgenommen, irrelevant]

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 23. Jan 2007, 17:26

Hast Du denn auch ein {ACCESSKEY} in den verwendeten Modul-Templates eingetragen? Siehe Style -> Modul-Templates (V4.6.15) bzw. Style -> HTML-Editor (vor V4.6.15).

navfirst_on usw.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Christiane
Beiträge: 29
Registriert: Do 2. Nov 2006, 14:44
Kontaktdaten:

Beitrag von Christiane » Di 23. Jan 2007, 17:36

HerrB hat geschrieben:Hast Du denn auch ein {ACCESSKEY} in den verwendeten Modul-Templates eingetragen?
Danke! Das hat natürlich noch gefehlt!

Allerdings scheint trotzdem noch irgendwo der Wurm drin zu sein. Im Moment wird das Attribut nur gesetzt, wenn ich mich auf Ebene 2 befinde. Und dann halt nur für das aktuelle sich auf Ebene 1 befindende Element. Alle anderen Elemente auf Ebene 1 bleiben ohne das Attribut. Hat noch jemand eine Idee?

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Di 23. Jan 2007, 17:39

Christiane hat geschrieben:Hat noch jemand eine Idee?
Je nachdem wie das Modul ausschaut, musst du das halt an mehreren Stellen einbauen. Für die Ebenen, in denen die Accesskeys genutzt werden sollen, und natürlich für die Stati "on" und "off".

Christiane
Beiträge: 29
Registriert: Do 2. Nov 2006, 14:44
Kontaktdaten:

Beitrag von Christiane » Di 23. Jan 2007, 17:49

Asche über mein Haupt. Hattenoch eine Template-Datei vergessen.Jetzt wird das Attribut brav in allen Elementen der Ebene 1 angezeigt. Nur leider bekommen alle dieselbe - die Variable wird nicht hochgezählt?!

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 23. Jan 2007, 17:56

Nach dem

Code: Alles auswählen

$tpl->set('d', 'ACCESSKEY', $i);
noch

Code: Alles auswählen

$i++; // Accesskey hochzählen 
einfügen.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Di 23. Jan 2007, 17:56

Christiane hat geschrieben:Nur leider bekommen alle dieselbe - die Variable wird nicht hochgezählt?!
Hast du evtl. das hier vergessen:

Code: Alles auswählen

$i++; // Accesskey hochzählen 

Christiane
Beiträge: 29
Registriert: Do 2. Nov 2006, 14:44
Kontaktdaten:

Beitrag von Christiane » Di 23. Jan 2007, 18:11

Ich danke euch ganz dolle!

Code: Alles auswählen

$i++; // Accesskey hochzählen 
hatte ich an der falschen Stelle zu stehen.

Jetzt funktioniert's einwandfrei! Tausend Dank!

Gesperrt