Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

Forum Sefrengo.org _ Module _ Listennavigation v01.01.00

Geschrieben von: bjoern Tue. 17. April 2007, 16:56

Modulname:
---------------------------------------------------------------------------
Listen-Navigation


Status:
---------------------------------------------------------------------------
Stable


Bechreibung:
---------------------------------------------------------------------------
Stellt eine umfangreich konfigurierbare Navigation für Ordner und Seiten
zur Verfügung. Das Modul ist primär darauf ausgerichtet die einzelnen
Menüpunkte als HTML-Liste (<ul>, <li>), deren Erscheinungsbild per CSS
festgelegt wird, auszugeben. Das Modul ist jedoch flexibel genug um die
Ordner und Seiten z.B. auch als Tabelle anzuzeigen.


Features:
---------------------------------------------------------------------------
- Templatebasiert
- Einzelne Ordner oder Seiten können aus Navigation ausgeblendet werden
- Einzelne Ordner können angewiesen werden, das in ihnen keine Seiten
angezeigt werden sollen
- Verschiedene Sortiermöglichkieten der Menüpunkte
- Verhalten der Liste vielseitig konfigurierbar
- Aktiver Status einer Seite oder eines Ordners kann geroutet werden
Beispiel: Ist idcat 2 aktiv, wird stattdessen idcat 1 als aktiv
gekennzeichnet
- Tabindex Unterstützung


Moduleigenschaften:
---------------------------------------------------------------------------
[X] Einsatz mehrmals in einem Projekt möglich
[X] Einsatz mehrmals auf einer Seite (idcatside) möglich
[X] Ist Mehrprojektfähig
[X] Ist Mehrsprachenfähig
[X] Ist XHTML konform


Autor(en):
---------------------------------------------------------------------------
ketti (Original Autor bis Version 00.09.03)
Mistral (V. 00.09.04)
Björn, Alexander (V. 1.0)
Björn (V. 1.1)


Lizenz:
---------------------------------------------------------------------------
GPL

Benötigte Sefrengo Version:
---------------------------------------------------------------------------
>= 01.03.01 (Sefrengo 1.4 beta2 mit BEILIEGENDEM API PATCH!)
>= 01.04.00 (Sefrengo 1.4 final)


Installation:
---------------------------------------------------------------------------
Beschreibung der Installation. Im einfachsten Falle wäre das:
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Design->Module". Am
unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die
gewünschte "*.cmsmod"- Datei aus. Mit einem Klick auf das Diskettensymbol
wird das Modul in das CMS importiert. Das Modul ist nun innerhalb des CMS
nutzbar.

Wird die Sefrengo Version 1.4 beta2 (Versionsnummer 01.03.01) benutzt,
dann spielen Sie bitte einen, dem Modul beiliegendem, Core Patch
ein. Der Patch befindet sich im Ordner "PATCH" und muß im System in das
Verzeichnis "backend/API/PAGE/" gespielt werden. Die vorhandene Datei
soll ersetzt werden.



Update/ Migration:
---------------------------------------------------------------------------
SOllte es zu Problemen kommen, sind bei einem Update von einer
Vorgängerversion alle Templates in allen Ordnern und Seiten neu
abzuspeichern. Dies ist notwendig, da dadurch dem CMS System die neuen
Konfigurationsoptionen des Moduls bekannt gemacht werden.


Dokumentation:
---------------------------------------------------------------------------
Keine vorhanden



CODE
Changelog legend:
# -> Bug Fix
+ -> Addition
^ -> Change
- -> Removed
! -> Note

Current versionnumber is 01.01.00 - released 16.04.2007
------------------------------------------------------------------------------------------------
+ new configoption: "Bei Ordnerlinks immer Link zur Startseite des Ordners generieren
(statt Link zum Ordner)"
# configoption: show option "keine Seiten in Ordner anzeigen" by using setting "nur Seiten"


Current versionnumber is 01.00.00 - released 20.01.2007
------------------------------------------------------------------------------------------------
+ option to manipulate startlevel
+ option to show startpage only if there wehere two or more pages in one cat
+ option to hide pages in given cats
+ routing for the acitve page/cat status (means that you can say: mark idcatside 15 as active if
the user is in idcatside 3 )
+ add template for "prescuted" folders


Current versionnumber is 00.09.04 - released 02.01.2006
------------------------------------------------------------------------------------------------
# {desc} can now be diplayed correct by pages and categories
+ {summary} for pages


Current versionnumber is 00.09.03 - released 27.11.2005
------------------------------------------------------------------------------------------------
^ Add UTF-8 support/ Migration from DeDi to Sefrengo CMS


 Listennavigation_V01_01_00.zip ( 12.76KB ) : 362
 

Geschrieben von: andi Mon. 30. April 2007, 12:56

hallo zusammen

irgendwie habe ich ein blackout. ich möchte verschachtelte liste erstellen:

QUELLTEXT
<ul id="navigation">
<li><a href="">Portrait</a></li>
<li><a href="">Personen</a>
<ul>
<li><a href="">Person 1</a></li>
<li><a href="">Person 2</a></li>
</ul>
</li>
<li><a href="">Tätigkeitsgebiete</a></li>
<li><a href="">Unsere Kanzleien</a></li>
<li><a href="">Aktuelles</a></li>
<li><a href="">Network</a></li>
<li><a href="">Links</a></li>
<li><a href="">Kontakt</a></li>
</ul>


wenn ich nun unter ebene
QUELLTEXT
<ul id="navigation">
{layer}</ul>


einfüge erhält (logischerweise) auch die verschachtelte liste die id navigation, was ich nicht möchte. sehe ich den wald vor lauter bäume nicht oder wie schaffe ich es, nur der ersten liste die id zu übergeben?


gruss andi

Geschrieben von: feniweb Mon. 30. April 2007, 13:14

@andi

Habe das gleiche Problem. Ich denke das ist der grosse Nachteil an der ListenNavigation man hat nur eine Einen <ul> zustand oder Ebene. Darum versuchte ich es mit dem Modul http://forum.sefrengo.org/index.php?s=&showtopic=1053&view=findpost&p=8429 jedoch habe ich den verdacht dort hat das Modul für die 1. Ebene einen Bug.

Gruss

Geschrieben von: andi Mon. 30. April 2007, 13:21

hallo feniweb

ok, gut, dann werde ich wohl ein (unnötiges) div um die navigation bauen müssen, um die unterebenen einfach per css ansprechen zu können. danke.


gruss andi

Geschrieben von: smail Mon. 30. April 2007, 13:39

ZITAT
ok, gut, dann werde ich wohl ein (unnötiges) div um die navigation bauen müssen, um die unterebenen einfach per css ansprechen zu können.


So hab ich es auch gemacht. laugh.gif

Als Modul-Programmierer-Laie mal eine Frage: Könnte man das Modul nicht ein kleines Bisschen aufbohren, immerhin geht es NUR um die id auf der obersten Ebene, also im ersten "ul"?

Geschrieben von: andi Mon. 30. April 2007, 13:43

an einer solchen lösung wäre ich natürlich auch interessiert :-)

Geschrieben von: alexander Mon. 30. April 2007, 14:06

... na dann packt doch einfach ein div um die navi (einleitung/ende der navigation) und vergib diesem die id und lass die bei der ebene weg.

edit: hab grad gesehen das hat feniweb ja eh schon geschrieben

Geschrieben von: andi Mon. 30. April 2007, 14:14

und ich auch... das ist aber nur eine notlösung. semantisch ist das absoluter schwachsinn und ein klarer schwachpunkt des modules. schöner wäre eine andere lösung, wobei ich als non-pluginentwickler die technische umsetzung natürlich nicht abschätzen kann.

Geschrieben von: alexander Mon. 30. April 2007, 14:26

ZITAT
semantisch ist das absoluter schwachsinn

das ist wohl Ansichtssache ... ein div mehr schadet wohl niemand und ist im Verhältnis zum Aufwand das Modul anzupassen ein Klax.

Geschrieben von: saschapi Mon. 30. April 2007, 22:32

du könntest dem ganzen zumindest eine class mit der ebenen nummer geben. Dann hast du zwar keine ID, aber eine Klasse, die beim Root zumindest auch Eindeutig ist (deshalb auch keine ID, denn in den unterordnern kann IMHO auch zweimal dieselbe nummer vorkommen).

Ich weiß jetzt den Bezeichner nicht aber sowas mein ich:
class="navigation{ebene}"

Ich bin übrigens Alexanders Meinung. wink.gif Ich finde es witzig wie viele von einem Extrem ins andere fallen und jetzt jeden Tag, der "zuviel" ist verdammen. Der ein oder andere Div oder Span Tag ist für mich schon OK (allerdings benutze ich die aus Faulheit auch manchmal überproportional. biggrin.gif

Geschrieben von: alexander Tue. 1. May 2007, 22:13

Hier ist mal eine Version von Stam die andi's Vorschlag implementiert.

@STAM: Post wurde hier abgetrennt. Erklärung siehe neue Thread.

Geschrieben von: andi Wed. 2. May 2007, 08:37

hallo

eine generelle frage würde mich noch wunder nehmen. in der navigation gibt es doch die variable {depth}. für diese hatte ich noch nie verwendung. was könnte man mit dieser anstellen?


gruss andi

Geschrieben von: luxli Wed. 2. May 2007, 23:28

ZITAT(andi @ Wed. 2. May 2007, 09:37) *
eine generelle frage würde mich noch wunder nehmen. in der navigation gibt es doch die variable {depth}. für diese hatte ich noch nie verwendung. was könnte man mit dieser anstellen?


Ein angewendetes Beispiel kannst du Du http://www.tho.ch sehen.
z.B. bei Seite steht dann:
QUELLTEXT
<li><a class="ebene{depth}" href="{link}">{name}</a></li>

Die ebenen beziehen sich auf die Ordnerstruktur, in meinem Fall sind das 3 Ebenen
und jede Klassenebene erhält eine eigene CSS

Geschrieben von: andi Thu. 3. May 2007, 07:03

hallo luxli

ok, danke, das wäre eine möglichkeit. allerdings würde ich das ganze per nachfahrenselektoren ansteuern ohne zusätzliches markup rolleyes.gif
hat jemand diese variable sonst noch in gebrauch?


gruss andi

Geschrieben von: summerbrother Mon. 7. May 2007, 18:53

Sollte nicht der Haken:

QUELLTEXT
Komplette Ordnerstruktur anzeigen: ja
bewirken, dass immer alle Ordner/Unterordner und Seiten sichtbar sind ? Also ähnlich einer Sitemap ? Bei mir sehe ich immer nur die Unterordner/Seiten wenn ich im aktuellen Ordner bin.

Oder habe ich ein Verständnissproblem?

Geschrieben von: andi Mon. 7. May 2007, 19:05

ZITAT(summerbrother @ Mon. 7. May 2007, 19:53) *
Oder habe ich ein Verständnissproblem?


nein, siehst du richtig. bei mir funktioniert das auch tadellos. was hast du sonst noch für einstellungen getätigt? cache in sefrengo und browser geleert?

Geschrieben von: summerbrother Mon. 7. May 2007, 19:51

ZITAT(andi @ Mon. 7. May 2007, 20:05) *
nein, siehst du richtig. bei mir funktioniert das auch tadellos. was hast du sonst noch für einstellungen getätigt? cache in sefrengo und browser geleert?


schau einmal...

Geschrieben von: andi Mon. 7. May 2007, 19:57

sieht soweit gut aus. wie viele unterordner hat denn der startordner PLZ? kann ich mir das mal anschauen?


gruss andi

Geschrieben von: summerbrother Mon. 7. May 2007, 20:06

insgesamt 10, wobei einige schon mit seiten belegt sind.
ich schick dir mal zugang per PM.
Danke schön.

Geschrieben von: summerbrother Mon. 7. May 2007, 21:39

andi ist der beste rolleyes.gif

ohne {folder} geht es nicht....
http://wiki.sefrengo.org/index.php/Listennavigation
*schäm*
http://wiki.sefrengo.org/index.php/Listennavigation

Geschrieben von: andi Mon. 7. May 2007, 21:43

vom besten bin ich ja noch hiiiiiiimmelweit entfernt. bin halt einfach der geborene «pröbler».


gruss andi

Geschrieben von: summerbrother Wed. 16. May 2007, 14:33

Hat jemand eine Idee, wie ich den Inhalt des Datenbankfeldes "sortindex" der aktuellen Seite in das Feld "Ende der Navigation:" bekommen ?

Ähnlich wie bei {tabindex} wär ja toll, wobei sich bei mir der Sinn des {tabindex} an dieser Stelle so nicht erschliesst.
Leider bezieht sich das {tabindex} an dieser Stelle auf den Startordner und der brauch ja nun mal kein Tabindex, da wir ja schon drin sind :-)

Geschrieben von: bjoern Thu. 17. May 2007, 09:04

Das wirst Du Dir was programmieren müssen. Der Zugriff darauf ist nicht vorgesehen.

Geschrieben von: summerbrother Thu. 17. May 2007, 21:13

Wäre es denn dann möglich mein Ergebniss *ganzstolzpräsentier* in das Modul mit aufzunehmen ?
Mit dem Sortindex kann man richtig geniale navis bauen. Da man nicht anhand der Seiten-ID {id} sondern anhand der Reihenfolge im Ordner verschiedene Layouts für jede einzelne Seite vergeben kann.

So habe ich die Funktion in der Frontendausgabe erzeugt, vielleicht kann da mal einer drüberschauen, ob alles ok ist.

QUELLTEXT
//sortindex of catside
if(! function_exists(get_side_sortindex)){
    function get_side_sortindex($a,$which)
{
global $db,$cms_db;
$sql  = "SELECT
             *
         FROM
        ".$cms_db['side_lang']." LEFT JOIN
         ".$cms_db['cat_side']." USING(IDSIDE)
         WHERE
idcatside = '".$a."'";
$db->query($sql);
$db->next_record();

if ($which == 'sortindex') {
return $db->f('sortindex'); }
}}


und so die Einbindung für die Konfigurationsfelder am Beispiel "Ende der Navigation" in der Frontendausgabe:

QUELLTEXT
$mod['outro'] = str_replace('{sortindex}',htmlspecialchars(get_side_sortindex($idcatside,'sortindex'), ENT_COMPAT, 'UTF-8'), $mod['outro']);

Geschrieben von: Olaf Thu. 17. May 2007, 22:50

Erklärst du mir mal bitte was das sein soll!?

Geschrieben von: summerbrother Thu. 17. May 2007, 22:55

Die Ausgabe des Datenbankfekdes "sortindex" mit Hilfe des Platzhalters {sortindex} im Modul Listennavigation

Geschrieben von: Olaf Thu. 17. May 2007, 23:07

Und ich soll nun in die DB gehen und gucken was da drin steht und raten was du damit vorhast? wink.gif

Geschrieben von: summerbrother Thu. 17. May 2007, 23:25

Nö, musst Du nicht. Ausser Du möchtest diese wunderbare Möglichkeit der Konfiguration missen.

Stell dir mal vor: Die erste Seite eines Ordners soll immer einen roten Hintergrund haben, die zweite einen blauen, die dritte einen pinken.
mit

QUELLTEXT
<li class="navi{sortindex}"><a href="{link}"><span>{name}</span></a></li>

kannst Du der Seite eine entsprechende Klasse mitgeben.
In meinem Beispiel oben gibt {sortindex} die Stelle der aktuellen Seite dar.
Wenn das rein technisch ok ist, würd ich es auch für die einzelnen Seiten versuchen.

Geschrieben von: STam Fri. 18. May 2007, 08:14

@summerbrother,

dir ist schon klar das der 'sortindex' nur im Idealfall in deiner Lösung eine fortlaufende Nummer ergibt, und bei Umsortierung schon gar nicht immer die selbe Reihenfolge?
Ich würde mal meinen das das gar nicht das ist was du willst? Ich hätte jetzt das so verstanden das du die fortlaufende Nr. des tatsächlich angezeigten Listen-Eintrags haben willst!
Das ginge schon mit dem 'gehaktem' http://forum.sefrengo.org/index.php?showtopic=1083.

Dort würde der Template-Code dann so aussehen (aus deinem Beispiel):

QUELLTEXT
<li class="navi{depth}_{depth_count}"><a href="{link}"><span>{name}</span></a></li>
...
Wobei {depth} die geschachtelte Ordnertiefe ist und {depth_count} die Nr. des Eintrags in diesem Ordner.

Gruß

Geschrieben von: summerbrother Fri. 18. May 2007, 08:50

Wenn ich das richtig interpretiert habe, dann gibt der sortindex die Reihenfolge der Seiten in einem Ordner, so wie im Backend, an.
Ich kann ja z.B. in der Listennavi auch nach Backend-Ansicht oder nach Alphabet sortieren. Dort wird ja auch der sortindex verwendet. Nach dem was ich jetzt getestet habe entspricht der auch immer der Sortierung im Backend.

Wie gebe ich denn mit {depth}{depth_count} die aktuelle Position der Seite im Ordner aus ?

EDIT: {depth_count} gibt bei mir in der Ausgabe der Seiten gar nichts aus ? ist das richtig

Geschrieben von: STam Fri. 18. May 2007, 09:16

In meinem Post steht das http://forum.sefrengo.org/index.php?showtopic=1083 geht.

Gruß

P.S.: so schön das linken im Forum auch ist, vieleicht sollte man eine auffallendere möglichkeit der MArkierung für Links/interne Links ins Board Style implementieren.
Ist ja nicht das erstemal das Links einfach als nur unterstrichen überlesen werden.

Geschrieben von: summerbrother Fri. 18. May 2007, 10:39

Das hab ich wohl verstanden.
Ich benutze nämlich genau diesen Hack/Version.

{depth_count} ergibt bei mir nur eine Ausgabe unter "Ebene"
<ul>{depth}{depth_count}{layer}</ul>

Ergebniss = 11 siehe http://www.itenergy.de/ auf der rechten Seite.
Bei "Impressum" z.B. müsste das aber eigentlich dann 15 sein (1.Ebene/5.Seite)

Dein Beispiel

QUELLTEXT
<li class="navi{depth}_{depth_count}"><a href="{link}"><span>{name}</span></a></li>


ergibt im Ergebniss:
QUELLTEXT
<li class="navi1_{depth_count}"><a href="home/pc-service.html"><span>PC-Service</span></a></li>


{depth_count} wird also nicht aufgelöst.

geht also auch nicht.
Entweder mache ich was richtig falsch, oder ich versteh das alles nicht richtig.

Geschrieben von: STam Fri. 18. May 2007, 12:16

... ok ich Entschuldige mich für meinen Schnellschuß... da war ich auf dem falschen Dampfer mellow.gif

Gruß

Geschrieben von: Olaf Sat. 19. May 2007, 00:06

So richtig komm ich hier noch nicht mit sad.gif
Die LIs sollen sozusagen durchnummeriert werden? Ist es da nich einfacher die auszugebenden Links auf einer Ebene irgendwie zu zählen und dann einfach das auszugeben, anstatt sich auf irgendwas in der DB zu verlassen!? Dann würde dies auch bei egal welche Sortierung angewandt wird funktionieren.

Geschrieben von: summerbrother Sat. 19. May 2007, 07:28

Primär ging es mir darum den index der aktuellen Seite im Verhältniss zum auszulesenden Ordner zu erhalten.
Speziell für das Kwick-Menü, da gibt es ein Parameter start:x , wobei x die Position im Menü angibt.
So wird bei start:4 der vierte Navigationspunkt als aktiv markiert und geöffnet.

Zuerst habe ich es versucht über {tabindex} hinzubekommen, geht aber nicht, das ist nicht auslesbar, schon gar nicht bei "Anfang/Ende der Navigation" . Also hab ich die Datenbank durchwühlt nach irgendetwas was hilft und hab den sortindex gefunden, der ja eh schon im Modul verwendet wird, nur etwas höher in der Konfig, zur Angabe der Sortierung.

Das funktioniert sehr zuverlässig und stabil.

ZITAT
anstatt sich auf irgendwas in der DB zu verlassen

Sollte das nicht so sein ? Gibt es da bekannte Probleme ?

Für mich war es sinnig etwas zu verwenden, was eh schon da ist und da ich nicht weiss was ich tue, einen scriptschnipsel zu nehmen, was eine Zeile drüber (beim Abfragen der Seiten {desc}) bereits funktioniert.

Der angenehme Nebeneffekt ist folgender: Wenn ich den sortindex in der Seitenkonfig verwende ergibt das z.B. beim auslesen des aktuellen Ordners eines Unterordners folgendes Bild:

<li class="seite1">erste Seite im Ordner1<li>
<li class="seite2">zweite Seite im Ordner1<li>
<li class="seite3">dritte Seite im Ordner1<li>

<li class="seite1">erste Seite im Ordner2<li>
<li class="seite2">zweite Seite im Ordner2<li>
<li class="seite3">dritte Seite im Ordner2<li>

<li class="seite1">erste Seite im Ordner3<li>
<li class="seite2">zweite Seite im Ordner3<li>
<li class="seite3">dritte Seite im Ordner3<li>

Die Konfiguration sieht so aus <li class="seite{sortindex}">{name}</li>
Ich brauche jetzt nur drei Klassen und das aussehen der <li> im jeden Ordner gleich aber innerhalb des Ordners unterschiedlich aussehen zu lassen.

So, genug geschwätzt tongue.gif Es lebe der {sortindex} !!

Geschrieben von: Olaf Sat. 19. May 2007, 10:03

ZITAT(summerbrother @ Sat. 19. May 2007, 08:28) *
So, genug geschwätzt tongue.gif Es lebe der {sortindex} !!

Unbedingt! rolleyes.gif
Bleibt nur die Frage was passiert wenn die Sortierung anders ist, nehmen wir an alphab., passiert dann dies:
QUELLTEXT
<li class="seite3">dritte Seite im Ordner1<li>
<li class="seite1">erste Seite im Ordner1<li>
<li class="seite2">zweite Seite im Ordner1<li>

Geschrieben von: summerbrother Sun. 20. May 2007, 15:37

ZITAT(Olaf @ Sat. 19. May 2007, 11:03) *
Unbedingt! rolleyes.gif
Bleibt nur die Frage was passiert wenn die Sortierung anders ist, nehmen wir an alphab., passiert dann dies:


Jetzt mal ehrlich, wie oft hast Du schon mal abc sortiert ?
und dann sag mir wie oft du dabei ein ähnliches Feature gebraucht hätten haben könntest, unter Umständen...

Und ausserden bleibt die Frage was passiert, wenn nur eine Seite pro Ordner ?
Und was passiert wenn die Seitennamen aus Zahlen bestehen und dann nach abc sortiert werden sollen ? laugh.gif

Um noch mal auf den Ursprung meines Posts zurückzukommen, ein Frage an die Cores. Besteht die Möglichkeit das Feature {sortindex} in den Standard aufzunehmen ?
Wenn ja, bereite ich das vor, wenn nein, auch gut.

Geschrieben von: bjoern Wed. 23. May 2007, 12:50

Nein, tut mir leid, das Feature werde ich so nicht übernehmen. Technisch ist es durchaus möglich, das der Sortindex die Reihenfolge 1,2,3,4... nicht einhält, sondern auch mal eine Zahl, z.B. die 3 weg lässt. Der Sortindex ist eine interne Variable, die im Frontend nichts zu suchen hat. Wer das benutzt, muß schon genau wissen, was er tut.

Desweiteren finde ich es schlecht, das Du pro Menüpunkt einen SQL Select ausführst.

Ich Frage mich auch, warum Du in der Seitenfunktion nicht einfach eine Variablen wie $page_increment mit dem Wert 1 initialisierst und die bei jedem foreach- Durchlauf um 1 hoch zählst. Dürft doch dann genau das Gleiche machen wie der Sortindex, nur das man sich auf den Wert verlassen kann und es auch wesentlich performanter ist.

Geschrieben von: summerbrother Wed. 23. May 2007, 17:52

ZITAT(bjoern @ Wed. 23. May 2007, 13:50) *
Ich Frage mich auch, warum Du in der Seitenfunktion nicht einfach eine Variablen wie $page_increment mit dem Wert 1 initialisierst und die bei jedem foreach- Durchlauf um 1 hoch zählst....

Ganz einfach, weil ich es nicht kann.
Da auch nicht wirklich jemanden überhaupt Interesse darn zeigt, oder mir da helfen will, würd ich sagen streichen udn nicht weiter drum kümmern.

@Stam sorry, vielen Dank für die Unterstüzung und die Hilfe.

Geschrieben von: fpie Wed. 23. May 2007, 23:51

Ich habe das Feld Notizen schon einmal dafür benutzt, die Menüeinträge jeder Seite individuell per css-Klasse zu formatieren. Hab dort z.B. F03 reingeschrieben und es dann im Code als class="Menueeintrag_{desc}" verwendet. Vielleicht hilft das ja jemandem hier weiter.

Friedhelm

Geschrieben von: bjoern Thu. 24. May 2007, 22:00

Das Schreiben einer SQL Anweisung halte ich für wesentlich komplexer als das einfache Hochzählen einer Variablen. Hätte nicht gedacht, das Dir das Probleme macht.

Ich hab Dir mal eine kleine Demo geschrieben, die zwar ungetestet ist, aber für die Seiten so funktionieren müsste. Einfach im Modul die entsprechende Stelle suchen und ersetzen. Die variable Deines Vertrauens heißt {summerbrother_index}.

QUELLTEXT
function print_folder_helper_pages_<CMSPHP:CACHE>echo $cms_mod['container']['id'];</CMSPHP:CACHE>($folder, $depth)
{
    global $evil_global_variable_for_easy_tabindex_implementation, $con_side, $mod, $sess;
    
    $cats_no_pages = explode(",", trim(str_replace(' ', '', "MOD_VALUE[28]")));
    
    // Seiten ausgeben
    if (isset($folder['pages']))
    {  
      $pagevals = array_values($folder['pages']);
      if(! in_array($con_side[ $pagevals['0'] ]['idcat'],$cats_no_pages) || ('MOD_VALUE[6]' != 'true' && $sess->name == 'sefrengo' ) )
    {
        //NEU
        $summerbrother_increment = 1;
        
          foreach ($folder['pages'] as $idcatside)
          {
              $template = ($idcatside == <CMSPHP:CACHE>echo $idcatside;</CMSPHP:CACHE>) ? "MOD_VALUE[23]" : "MOD_VALUE[22]";
              $item = str_replace('{name}', htmlspecialchars($con_side[$idcatside]['name'], ENT_COMPAT, 'UTF-8'), $template);
              $item = str_replace('{desc}', htmlspecialchars(get_side_desc($idcatside,'desc'), ENT_COMPAT, 'UTF-8'), $item);
              $item = str_replace('{summary}', htmlspecialchars(get_side_desc($idcatside,'summary'), ENT_COMPAT, 'UTF-8'), $item);
              $item = str_replace('{link}', $con_side[$idcatside]['link'], $item);
              $item = str_replace('{id}', $idcatside, $item);
              $item = str_replace('{depth}', $depth, $item);
              //NEU
              $item = str_replace('{summerbrother_index}', $summerbrother_increment, $item);
              
              //NEU
            ++$summerbrother_increment;
              
            if (strstr($item, '{tabindex}') !== false)
              {
                  $item = str_replace('{tabindex}', $evil_global_variable_for_easy_tabindex_implementation++, $item);
              }

Geschrieben von: summerbrother Fri. 1. June 2007, 21:24

ZITAT(bjoern @ Thu. 24. May 2007, 23:00) *
Das Schreiben einer SQL Anweisung halte ich für wesentlich komplexer als das einfache Hochzählen einer Variablen. Hätte nicht gedacht, das Dir das Probleme macht.


Ich hab doch keine Ahnung... sad.gif
{summerbrother_index} funktioniert bei der Seitenausgabe sehr gut.

Nun hätt ich noch ganz gern den {summerbrother_index} der aktuellen Seite im "Ende der Navigtion" .

So wars mit sortindex:
QUELLTEXT
$mod['outro'] = str_replace('{sortindex}',htmlspecialchars(get_side_sortindex($idcatside,'sortindex'), ENT_COMPAT, 'UTF-8'), $mod['outro']);


Gibts da auch noch so ein nettes Schnipselchen... wink.gif

Geschrieben von: bjoern Sat. 2. June 2007, 14:19

Kannst Du mir bitte mal den Quellcode der Liste hier posten, die Du bauen willst. Und eine Erklärung, warum Du den Index am Ende brauchst. Irgendwie komme ich da gerade nicht so ganz dahinter, was Du vorhast.

Geschrieben von: summerbrother Sun. 3. June 2007, 20:58

QUELLTEXT
<script type="text/javascript">
    window.addEvent('domready', function(){
        var myMenu = new ImageMenu($$('#kwick .kwick'),{openWidth:300, transition: Fx.Transitions.backOut, start:x});
        });
</script>


Wobei start:x den Index (Position in der Navigation) der aktuellen Seite angibt.
Das script gehört zu dem ImageMenu von Mootools, basierend auf dem Kwick-Menü. Live zu sehen unter: http://www.itenergy.de

Ist aber nun wirklich nicht sooo wichtig. Mit meinem {sortindex} geht das gut. Ich dacht nur, das andere auch was davon haben könnten, da mit der Angabe der Position im Menü eine Menge "rumgespielt" werden kann.

Geschrieben von: bjoern Tue. 5. June 2007, 10:28

Alternative:

Du fügst beim aktivem Menüpunkt

QUELLTEXT
<script type="text/javascript"> var active_index = {summerbrother_index} </script>


am Ende des Listenpunktes an und änderst Dein Skript am Ende in

QUELLTEXT
<script type="text/javascript">
    window.addEvent('domready', function(){
        var myMenu = new ImageMenu($$('#kwick .kwick'),{openWidth:300, transition: Fx.Transitions.backOut, active_index});
        });
</script>

Geschrieben von: outline4 Sun. 1. July 2007, 20:21

wäre es möglich eine Option "Offline Seiten und Ordner auch im Backend verbergen" zu haben?

cheers
*s*

Geschrieben von: bjoern Tue. 3. July 2007, 11:19

hmm, wäre sicher eine interessante Option. Zur Zeit habe ich aber nicht vor, am Navimodul groß was zu machen.

Kannst aber mal im Quelltex nach

QUELLTEXT
// ... wir im Backend sind, oder ...
isset($cms_side['view']) ||


suchen. Sollte zwei mal vorkommen. Wenn Du die 2 Stellen löscht, sollte es funktionieren.

Geschrieben von: Chregu Tue. 17. July 2007, 07:34

Hallo Zusammen

Ich möchte bei der Listen-Naviation die {last}-Funktion verwenden.
Leider wird diese nicht für die Ausgabe nicht replaced!
Verwenden tue ich die im Template "Seite" (MOD_VAL 22). Es werden dabei aber keine
Ordner angezeit sondern nur Seiten.

Meine Template sieht folgendermassen aus:

CODE
{last}
<a href="{link}">{name}</a>
{else}
<span class="tren">|</span>
<a href="{link}">{name}</a>
{/last}


Kann mir jemand sagen, was ich falsch mache? Oder habe ich etwas falsch verstanden?

Danke für die Hilfe!

Gruss
Chris

Geschrieben von: feniweb Tue. 17. July 2007, 08:23

@Chregu

Ich habe das so eingesetzt:

ZITAT
<li><a class="akt" href="{link}">{name}</a>{last}{else}|{/last}</li>
{folder}


Gruss

Geschrieben von: Chregu Tue. 17. July 2007, 09:06

danke für deine infos! verteilst du aber die {last} auf mehrere linen scheint es nicht zu funktioniere...

Geschrieben von: STam Tue. 17. July 2007, 09:26

Kann geändert werden in dem diese Zeilen:

QUELLTEXT
$item = preg_replace("/{first}(.*?)({else}(.*?))?{\/first}/", "\\1", $item);
$item = preg_replace("/{first}(.*?)({else}(.*?))?{\/first}/", "\\3", $item);
$item = preg_replace("/{last}(.*?)({else}(.*?))?{\/last}/", "\\1", $item);
$item = preg_replace("/{last}(.*?)({else}(.*?))?{\/last}/", "\\3", $item);
... so geändert werden:
QUELLTEXT
$item = preg_replace("/{first}(.*?)({else}(.*?))?{\/first}/si", "\\1", $item);
$item = preg_replace("/{first}(.*?)({else}(.*?))?{\/first}/si", "\\3", $item);
$item = preg_replace("/{last}(.*?)({else}(.*?))?{\/last}/si", "\\1", $item);
$item = preg_replace("/{last}(.*?)({else}(.*?))?{\/last}/si", "\\3", $item);

Das ganze kommt glaube ich zweimal vor!

Gruß

Geschrieben von: Chregu Tue. 17. July 2007, 10:01

@STam

Besten Dank

Geschrieben von: saschapi Fri. 27. July 2007, 10:39

obwohl ich den Patch in ein Sefrengo 01.03.01 eingespielt habe bekomme ich beim aktivieren der Funktion "auf Startseite anstelle auf Ordner verlinken" einen Fehler:

ZITAT
Fatal error: Call to undefined method SF_PAGE_Catinfos::getIdcatsideStartpage() in /is/htdocs/wp1.../www/cms/inc/frontend.php(231) : eval()'d code on line 468


Woran kann das liegen? An der Stelle ist das so eingebunden:

CODE
$item = str_replace('{link}', $con_side[ $GLOBALS['SF_catinfos']->getIdcatsideStartpage($idcat) ]['link'], $item);


ist das falsch eingebunden? Funktioniert das ganze bei Euch? blink.gif

Geschrieben von: bkm Fri. 27. July 2007, 12:03

ZITAT(saschapi @ Fri. 27. July 2007, 11:39) *
obwohl ich den Patch in ein Sefrengo 01.03.01 eingespielt habe ....

Vielleicht falsches Verzeichnis oder nicht überschrieben ?

Geschrieben von: saschapi Fri. 27. July 2007, 14:28

Ne, noch besser smile.gif Falscher Server... Das war auf meiner Testversion. Fehler ist also durch den Fehler vor dem Bildschirm nun behoben worden! wink.gif

Geschrieben von: summerbrother Fri. 27. July 2007, 14:58

Den Bildschirm tät ich entsorgen... wink.gif

ZITAT(saschapi @ Fri. 27. July 2007, 15:28) *
Ne, noch besser smile.gif Falscher Server... Das war auf meiner Testversion. Fehler ist also durch den Fehler vor dem Bildschirm nun behoben worden! wink.gif

Geschrieben von: feniweb Mon. 27. August 2007, 11:57

Wie kann ich mit der Listennavi1.1 nur Seiten z.B. auf der obersten Eben anzeigen lassen? Bei der Listennavi 0.9.6 gab es dazu ja ein Auswahl "nur Seiten".

Gruss

Geschrieben von: tobaco Mon. 27. August 2007, 15:42

das geht nur, wenn du statt "Root" "aktueller Ordner" oder einen anderen ordner auswählst.

Geschrieben von: tobaco Mon. 27. August 2007, 15:51

hallo,

gibt es eine möglichkeit, festzustellen ob ein ordner seiten enthält und wenn nicht oder diese nicht online sind ihn als anders auszugeben?

vielleicht ein beispiel zu dieser wirren frage:

ich habe eine art verzeichnis mit ordnern von A-Z.
in manchen gibt es unterseiten und manche sind noch leer.
die leeren ordner sollen aber trotzdem in der navigation mit auftauchen, allerdings nicht anklickbar sein.

wenn dann irgendwann mal etwas drin ist, soll der buchstabe/ordner automatisch aktiv sein.

vielleicht so eine if-abfrage ähnlich first/last.

QUELLTEXT
{empty} Ordner X {else} <a href="{link}">Ordner X</a> {/empty}


kann man das irgendwie bewerkstelligen?

Geschrieben von: tobaco Mon. 3. September 2007, 08:05

*bump*

keiner eine idee?

Geschrieben von: jwitt Mon. 3. September 2007, 11:56

Was ist mit dem Modul "Glossar"? Kannst Du damit vielleicht etwas in der Art realisieren?
MfG
Jürgen

Geschrieben von: outline4 Mon. 3. September 2007, 12:03

ZITAT(tobaco @ Mon. 3. September 2007, 09:05) *
*bump*
keiner eine idee?

ähm... bin mir da gar nicht sicher, aber vielleicht hat ja folgende sache einfluss darauf:

Einleitung der Navigation / ende der Navigation
und dann die Option: Einleitung/Ende der Navigation anzeigen, falls Navigation "leer"

vielleicht heisst ja "leer" "keine Unterseiten"?
ich kann aber auch völlig daneben liegen...

cheers
*s*

Geschrieben von: HardCastle Mon. 3. September 2007, 22:54

Hi folks,

gibt es eine elegante lösung, die listennavigation um eine funktion zu erweitern, die es erlaubt, dass die startseite eines ordners immer als erstes ausgegeben wird? Unabhängig davon wie die übrigen sortierkriterien angegeben sind?

Also erst sortierung nach den bisherigen kriterien (name, wie im backend, erstellungsdatum, änderungsdatum, aufsteigend oder absteigend) und dann einfach startseite davorstellen!

Wäre für hinweise dankbar.

Gruß hardcastle

Geschrieben von: tobaco Tue. 4. September 2007, 07:04

ZITAT(jwitt @ Mon. 3. September 2007, 12:56) *
Was ist mit dem Modul "Glossar"? Kannst Du damit vielleicht etwas in der Art realisieren?
MfG
Jürgen


nein, leider nicht. dazu sind die inhalte zu umfangreich.


ZITAT(outline4 @ Mon. 3. September 2007, 13:03) *
ähm... bin mir da gar nicht sicher, aber vielleicht hat ja folgende sache einfluss darauf:

Einleitung der Navigation / ende der Navigation
und dann die Option: Einleitung/Ende der Navigation anzeigen, falls Navigation "leer"

vielleicht heisst ja "leer" "keine Unterseiten"?
ich kann aber auch völlig daneben liegen...

cheers
*s*



das betrifft nur die einleitung und das ende der navi, also alles was davor und danach kommt.
hilft leider auch nicht weiter.


noch jemand mit einer idee?


danke und grüße,
tobaco


Geschrieben von: smail Tue. 4. September 2007, 10:10

ZITAT
noch jemand mit einer idee?


Geht es evtl. mit zwei Listennavigationsmodulen? Erst das eine für die Startseiten, dann das andere für den Rest...? huh.gif
Weiß nicht, ob Du damit weiter kommst...

Hast Du evtl. mal ein Bild, wie die Navi später aussehen soll? Für's Verständnis... :-)

Gruß
Jan


Geschrieben von: tobaco Tue. 4. September 2007, 10:39

so ungefähr soll die navi aussehen:



jeder buchstabe ist dabei ein ordner. die ordner F, X, Y sind leer bzw. mit offline-seiten, werden in der navi mit angezeigt, sind aber nicht klickbar.
sobald es aber eine (online-geschaltete) seite in diesen ordnern gibt, sollen sie automatisch klickbar sein.
eine statische lösung scheidet also aus.

Geschrieben von: HardCastle Wed. 5. September 2007, 22:13

ZITAT(HardCastle @ Mon. 3. September 2007, 23:54) *
Hi folks,
gibt es eine elegante lösung, die listennavigation um eine funktion zu erweitern, die es erlaubt, dass die startseite eines ordners immer als erstes ausgegeben wird? Unabhängig davon wie die übrigen sortierkriterien angegeben sind?
Hat keiner 'ne idee? sad.gif

Geschrieben von: smail Thu. 6. September 2007, 00:57

ZITAT(tobaco @ Tue. 4. September 2007, 11:39) *
so ungefähr soll die navi aussehen:


Ist wohl nicht so ganz einfach- Die Buchstaben sind Grafiken, ja?

Dann könntest Du evtl. eine komplette Grafik mit den deaktivierten Zuständen in den Hintergrund legen.

Alle sichtbaren Menüpunkte (ebenfalls Bilder) werden dann per css absolut an die entsprechende Stelle gesetzt, d.h. Du hast 24 css-Klassen, für jeden Buchstaben eine.

In der Navigation müsstest Du dann für die Ordner in etwa folgendes einstellen:
QUELLTEXT
<li><a href="{link}" class="letter_{name}"><img src="{name}.gif" alt="{name}" /></a>{folder}</li>


und dann im css
QUELLTEXT
.letter_a {
    postition: absolute;
    left: 0;
    top: 0;}
.letter_b {
    postition: absolute;
    left: 20px;
    top: 0;}
usw.


Nur als Idee. Könnte vielleicht hinhauen.
Der Code oben dient nur als Anregung, hab ihn nicht getestet smile.gif

Gruß
Jan


Geschrieben von: smail Thu. 6. September 2007, 01:03

ZITAT(HardCastle @ Mon. 3. September 2007, 23:54) *
gibt es eine elegante lösung, die listennavigation um eine funktion zu erweitern, die es erlaubt, dass die startseite eines ordners immer als erstes ausgegeben wird?


Ne, wüsste ich im Moment leider nix "Elegantes". Und gerade beim Listennavi-Modul wäre ich vorsichtig mit Änderungen, da es aufgrund der rekursiven Funktionalität nicht ganz einfach ist - sprich: man sollte dann ganz genau wissen, was man da treibt...
Und wie weit die API in der Hinsicht nutzbar ist, weiß ich leider nicht.

Gruß,
Jan

Geschrieben von: tobaco Thu. 6. September 2007, 05:37

ZITAT(smail @ Thu. 6. September 2007, 01:57) *
Ist wohl nicht so ganz einfach- Die Buchstaben sind Grafiken, ja?

Dann könntest Du evtl. eine komplette Grafik mit den deaktivierten Zuständen in den Hintergrund legen.

Alle sichtbaren Menüpunkte (ebenfalls Bilder) werden dann per css absolut an die entsprechende Stelle gesetzt, d.h. Du hast 24 css-Klassen, für jeden Buchstaben eine.

In der Navigation müsstest Du dann für die Ordner in etwa folgendes einstellen:
QUELLTEXT
<li><a href="{link}" class="letter_{name}"><img src="{name}.gif" alt="{name}" /></a>{folder}</li>


und dann im css
QUELLTEXT
.letter_a {
    postition: absolute;
    left: 0;
    top: 0;}
.letter_b {
    postition: absolute;
    left: 20px;
    top: 0;}
usw.


Nur als Idee. Könnte vielleicht hinhauen.
Der Code oben dient nur als Anregung, hab ihn nicht getestet smile.gif

Gruß
Jan


danke für deine antwort.
aber der css-teil ist mir klar und auch nicht weiter aufregend. das kann auch eine normale textnavi sein.

ich hätte gern, dass mir die navi die leeren ordner mit ausgibt, diese aber nicht als links

also so hier ungefähr:

QUELLTEXT
{empty} Ordner X {else} <a href="{link}">Ordner X</a> {/empty}


oder als zusätzliches template-eingabefeld (wie aktive seite usw.)


danke und grüße,
tobaco

Geschrieben von: smail Thu. 6. September 2007, 09:48

ZITAT(tobaco @ Thu. 6. September 2007, 06:37) *
ich hätte gern, dass mir die navi die leeren ordner mit ausgibt, diese aber nicht als links


Warum MÜSSEN denn die leeren Ordner ausgegeben werden? Für den Benutzer macht das keinen Unterschied, ob er eine BG-Grafik sieht, oder eben ein anderes Bild...


ZITAT
QUELLTEXT
{empty} Ordner X {else} <a href="{link}">Ordner X</a> {/empty}

Naja, das geht wohl nicht, ohne ins Modul einzugreifen... Ich dachte, Du suchst etwas, ohne dass man am Modul schrauben muss...
Und wie bereits gesagt: Das Listnavi-Modul ist recht komplex, und eigene Änderungen werden von Björn (verständlicherweise) eh nicht supportet, also würd ich immer versuchen, da ohne Änderungen am Modul selbst hinzukommen.

Geschrieben von: tobaco Thu. 6. September 2007, 10:08

ZITAT(smail @ Thu. 6. September 2007, 10:48) *
Warum MÜSSEN denn die leeren Ordner ausgegeben werden? Für den Benutzer macht das keinen Unterschied, ob er eine BG-Grafik sieht, oder eben ein anderes Bild...


naja, ich brauch ja irgendwie ein element, dem ich dann das inaktive hintergrundbild zuweise …

jetzt beim schreiben versteh ich gerade, wie du das meinst:

du würdest der liste ein hintegrundbils im gesamtem geben und dann an den entsprechenden stellen die links drüberlegen. vereinfacht ausgedrückt.
ja, so könnte man es zur not auch machen.


ZITAT(smail @ Thu. 6. September 2007, 10:48) *
Naja, das geht wohl nicht, ohne ins Modul einzugreifen... Ich dachte, Du suchst etwas, ohne dass man am Modul schrauben muss...
Und wie bereits gesagt: Das Listnavi-Modul ist recht komplex, und eigene Änderungen werden von Björn (verständlicherweise) eh nicht supportet, also würd ich immer versuchen, da ohne Änderungen am Modul selbst hinzukommen.


ja, um einen moduleingriff wird man da nicht drum herum kommen. aber vielleicht bin ich ja nicht der einzige, der sowas gebrauchen könnte …
so bald man nämlich keine grafiken sondern normalen text nehmen möchte, kommt man mit der methode oben nicht mehr hin.


danke trotzdem schon mal für deine hilfe.

Geschrieben von: smail Thu. 6. September 2007, 10:40

ZITAT(tobaco @ Thu. 6. September 2007, 11:08) *
du würdest der liste ein hintegrundbils im gesamtem geben und dann an den entsprechenden stellen die links drüberlegen. vereinfacht ausgedrückt.

jo, genau smile.gif

QUELLTEXT
so bald man nämlich keine grafiken sondern normalen text nehmen möchte, kommt man mit der methode oben nicht mehr hin.

Hm, ohne Grafiken bekommst Du das sonst in den verschiedenen Browsern nicht einheitlich. Wegen der Zugänglichkeit kannst Du aber die aktiven Ordner per Image-Replacement (z.B. der http://meiert.com/de/publications/articles/20050513/#toc-phark) mit den Grafiken versehen.

ZITAT
aber vielleicht bin ich ja nicht der einzige, der sowas gebrauchen könnte...

Hm, ich glaube, die Anforderung ist schon sehr speziell wink.gif , da man normalerweise keine Ordner ausgeben braucht, die es nicht gibt bzw. auf die man einen Link bräuchte. Deine Anwendung ist der einzige Fall, in dem mir das sinnvoll erscheint...

Viele Grüße
Jan






Geschrieben von: outline4 Tue. 11. September 2007, 11:31

sorry wenn ich hier so reinplatze...

ich habe das gefühl die {first}{/first} sache funktioniert bei den seiten nicht?!

ich habe folgenden code:

Seite:
<li{first} class="first"{/first}><a href="{link}">{name}</a></li>

Aktuelle Seite:
<li{first} class="first"{/first}><span class="seite_aktuell">{name}</span></li>

Aktiver Ordner:
<li>{first}{else}<span class="trennzeichen">:</span>{/first}<a href="{link}">{name}</a>
{folder}
</li>

bei den Ordnern funktionierts tadellos, bei den Seiten geht nix...
ich habe den cache gelöscht, lasse extra die starseiten anzeigen, lasse die einstellungen in allen seiten/ordnern etc übernehmen... probiere, mache... aber es scheint nicht zu gehen.
hat jemand dasselbe problem?
wo könnte mein fehler liegen?

ich benutze listennavi 1.1 der sefrengo version 1.4 final

Geschrieben von: outline4 Tue. 11. September 2007, 12:20

und auch die {last} sache bei den ordnern scheint nicht wirklich zu gehen...

was mache ich falsch?

Ordner:
<li><a href="{link}">{name}</a>{last}{else}<span class="trennzeichen">:</span>{/last}</li>

Aktiver Ordner / Verfolgter Ordner:
<li>{folder}<a href="{link}">{name}</a>{last}{else}<span class="trennzeichen">:</span>{/last}</li>

der doppelpunkt wird IMMER angezeigt..
was mache ich falsch?

please help!
*s*

Geschrieben von: outline4 Tue. 11. September 2007, 12:28

habe den fehler gefunden:

wenn man die option "Komplette Ordnerstruktur anzeigen:" ausgewählt hat, dann funktionieren die {first}{last} dinger irgendwie nicht!

ist das ein bug, oder so gewollt?

cheers
*s*

Geschrieben von: duffy Fri. 21. September 2007, 10:45

<halbofftopic>

Ich wollte einfach mal Lob loswerden: Ein tolles Modul!

Hab bisher nur das Modul "Navigation" benutzt und bin damit inzwischen an Grenzen gestoßen. Ich bin begeistert, was mit der Listennavigation alles möglich ist! Danke!

</halbofftopic>

Geschrieben von: Wulff Wed. 26. September 2007, 14:35

Hallo zusammen

Ich hoffe ich habe keine DAU frage, die schon oft besprochen worden ist.

Über das Listenavigations- Modul bekomme ich den Quelltext

QUELLTEXT
<ul id="menue">
    <li class="invis"><b>Navigation</b></li>

<!--START 10//--><ul>
<li><a href="index.php?idcat=1">Start</a><ul>
<li><a href="index.php?idcatside=2">Nicole</a></li>
<li><a href="index.php?idcat=2">Freunde</a><ul>
<li><a href="index.php?idcatside=4">Stefan</a></li>

</ul>
</li>

</ul>
</li>
<li><a href="index.php?idcat=3">Freunde</a></li>

</ul>
<!--END 10//-->
  </ul>


wobei das <ul> nach <!--START 10//--> und </ul> vor <!--END 10//--> die Ausgabe des Menues im Frontend verhindert.

Welche Lösung gibt es?

Mit freundlichen Grüßen

Geschrieben von: andi Wed. 26. September 2007, 14:51

woher kommt den das markup vor und nach start/end 10? hardcode im template?
die beiden ul, welche du nicht haben möchtest, da du sie bereits ausserhalb des modules irgendwo stehen hast kommt in der listennavigation-konfiguration unter:

QUELLTEXT
Ebene:
<ul>
{layer}</ul>


vor. lösch hier doch mal das einleitende und abschliessende ul raus. ansonsten bitte mal die konfiguration posten.


gruss andi

Geschrieben von: Wulff Wed. 26. September 2007, 22:03

Hallo andi

Danke für die Hilfe,
leider ist das Ergebnis nicht überzeugend.

QUELLTEXT
  <ul id="menue">
    <li class="invis"><b>Navigation</b></li>

<!--START 10//--><li><a href="index.php?idcat=1">Start</a><li><a href="index.php?idcatside=2">Nicole</a></li>
<li><a href="index.php?idcat=2">Freunde</a><li><a href="index.php?idcatside=4">Stefan</a></li>
<li><a href="index.php?idcatside=5">Michael</a></li>


</li>


</li>
<li><a href="index.php?idcat=3">Freunde</a></li>


<!--END 10//-->

  </ul>


Schön währe das Ergebnis wie http://www.n-wulff.de/projekt01/test.htm
Meine Einstellungen sind http://www.n-wulff.de/projekt01/einst1.jpg und http://www.n-wulff.de/projekt01/einst2.jpg

bis bald!


Geschrieben von: andi Thu. 27. September 2007, 08:30

die navigationsliste gibt eine korrekt verschachtelte liste aus.
was du mir immer noch nicht beantwortet hast:

woher kommt das markup vor und nach start/end 10:

QUELLTEXT
<ul id="menue">
    <li class="invis"><b>Navigation</b></li>

    <!--START 10//-->


QUELLTEXT
<!--END 10//-->

  </ul>


das macht absolut keinen sinn. auch das navigation in die liste zu schreiben ist semantischer unsinn. wenn du die liste für screenreader auszeichnen willst, nimm eine überschrift. schliesslich handelt es sich bei «navigation» um eine überschrift zu navigation und nicht um einen listenpunkt.


gruss andi

Geschrieben von: Wulff Thu. 27. September 2007, 21:52

Hallo Andi

Das Makeup vor dem <!--START 10//--> kommt aus dem Layout von mir und war endgültig das Problem.
Nach dem
<ul id="menue">
<li class="invis"><b>Navigation</b></li>
in <div> umgewandelt wurde, klappte es auch mit Sefrengo.

rolleyes.gif rolleyes.gif

gruss wulff








Geschrieben von: andi Mon. 1. October 2007, 20:04

hallo zusammen

aus gründen der barrierefreiheit wollte ich heute eine navigation überarbeiten und die aktiven seiten mit <strong></strong> und ohne link auf die eigene seite auszeichnen. für hauptnavigation und unternavigation werden je ein eigenes modul verwendet. nun zerbreche ich mir den kopf über folgendes:

struktur:
ordner 1
-->startseite
-->seite 1
-->seite 2

hauptnavigation:
ordner 1

unternavigation:
-->seite 1
-->seite 2

befinde ich mich nun auf der startseite (klick auf hauptnavigation order1), so wird ordner 1 mit strong ausgezeichnet. navigiere ich nun auf eine unterseite mittels der unternavigation, werden ordner 1 sowie seite 1 mit strong ausgezeichnet. das macht natürlich keinen sinn, da nur die aktive seite mit strong ausgezeichnet werden soll. ordner1 soll jedoch weiterhin visuell hervorgehoben werden, aber nicht mit strong sondern wieder mit link zur startseite.

oder einfacher: der pfad soll aktiv verfolgt werden (und visuell ersichtlich sein), die aktive seite jedoch keinen link auf die eigene seite enthalten und mit strong ausgezeichnet werden

hat jemand eine idee, das ganze ohne ein neue template für die startseiten zu realisieren?


gruss andi

Geschrieben von: feniweb Mon. 1. October 2007, 23:47

@andi

Hast du schon mal mit "Routing des aktiven Status" gestest?

ZITAT
Routing des aktiven Status:
Leitet den Aktivstatus einer Seite oder einer Kategorie um auf eine andere Seite oder Kategorie. Pro Zeile kann eine Route erstellt werden.


oder

Verfolgter Ordner:
Mögliche Templatevariable: {first}...{/first}, {last}...{/last}

Nur mal so aus dem Bauch heraus....

Gruss

Geschrieben von: andi Tue. 2. October 2007, 07:30

morgen

routing des aktiven status: ja, habe ich mir angeschaut. wüsste aber nicht, wie mir das routing weiterhelfen soll, da das routing grundsätzlich korrekt ist, ich aber die erste ebene anderst ausgezeichnet haben möchte.

mögliche templatevariable: mit first und/oder last werd ich wohl nichts ausricheten können.


danke und gruss

andi

Geschrieben von: smail Tue. 2. October 2007, 17:14

ZITAT(andi)
oder einfacher: der pfad soll aktiv verfolgt werden (und visuell ersichtlich sein), die aktive seite jedoch keinen link auf die eigene seite enthalten und mit strong ausgezeichnet werden


Hi andi,

ich kann Dir jetzt zwar nicht mit Sicherheit sagen, ob das funktioniert, aber wenn Du alles in einer Navigation lässt und dann im Modul die Option "Pfad als aktiv verfolgen" wählst, könnte das machbar sein. Da bekommst Du meines Wissens nach ein eigenes Template für "verfolgter Ordner". Das sollte dann ja gehen... smile.gif

Oder lässt es das Design Deiner neuen Seite nicht zu, eine einzige Navigation zu bauen?

Geschrieben von: andi Tue. 2. October 2007, 19:06

ZITAT(smail @ Tue. 2. October 2007, 18:14) *
Oder lässt es das Design Deiner neuen Seite nicht zu, eine einzige Navigation zu bauen?

genau so ist es. geht leider nicht sad.gif

Geschrieben von: toto Wed. 28. November 2007, 08:57

was mach ich falsch? ich möchte dem letzten <li> element eine classe geben und hab folgendes eingetragen:

{last}<li class="last">{else}<li>{/last}<a href="{link}">{name}</a></li>

das funktioniert aber nicht und ich weiß nicht warum

kann mir jemand helfen?

Geschrieben von: andi Wed. 28. November 2007, 09:13

wie mir ist gibt es noch zwei bugs:

  1. muss die {last}{/last} anweisung in einer zeile stehen
  2. wenn die option «Komplette Ordnerstruktur anzeigen» verwendet wird, funktionieren {last} und {first} nicht

vielleicht trifft punkt zwei bei dir zu?

dein code würde sich auch vereinfachen lassen:

QUELLTEXT
<li {last}class="last"{/last}><a href="{link}">{name}</a></li>


an björn: werden diese zwei punkte in der neuen version ausgebessert? schliesslich handelt es sich um ein standardmodul. lösung zum problem 1 hat stam http://forum.sefrengo.org/index.php?s=&showtopic=1045&view=findpost&p=10167 bereits veröffentlicht.


gruss andi

Geschrieben von: andi Sat. 8. December 2007, 08:58

guten morgen zusammen

ausgangslage ist eine navigation mit 2 ebenen.

hauptordner
-- startseite hauptordner
-- unterordner
----startseite unterordner

da eine seite nie auf sich selber verlinkt sein soll, möchte ich diese mit strong auszeichnen, allerdings sollte der hauptordner auch aktiv mitverfolgt werden. leider scheinen sich die templates für «aktiver ordner» und «verfolgter ordner» nicht zu überschreiben.

beispiel
template für aktiver order:

QUELLTEXT
<li><strong id="navi_{name}" class="aktiv" href="{link}">{name}</strong>{folder}</li>


template für verfolgter ordner:
QUELLTEXT
<li><a id="navi_{name}" class="aktiv" href="{link}">{name}</a>{folder}</li>


option: pfad als aktiv verfolgen


das problem ist nun folgendes: es wird immer das template für den verfolgten order ausgegeben, auch wenn ich mich z.b. in dem hauptordner befinde und dieser dementsprechend aktiv ist. dies verhindert, dass ein verfolgter ordner eine andere formatierung als ein aktiver order erhalten kann. alle aktiven und verfolgten order erhalten automatisch das template des verfolgten ordner.

ist das so gewollt oder ein kleiner bug?


gruss andi


Geschrieben von: saschapi Sat. 26. January 2008, 19:32

Ich möchte kurz noch mal auf http://forum.sefrengo.org/index.php?s=&showtopic=1045&view=findpost&p=12532 (speziell den 2.) Bugs hinweisen.

QUELLTEXT
   1. muss die {last}{/last} anweisung in einer zeile stehen
   2. wenn die option «Komplette Ordnerstruktur anzeigen» verwendet wird, funktionieren {last} und {first} nicht


Ich habe es mir zwar angesehen,bekomme es aber nicht hin. Vermutlich wird einfach nicht in jedem Ordner der letzte markiert, sondern nur im letzten. Bei Seiten das selbe. Schade, denn sonst würde die http://www.moveto10.eu/de/sonderordner/sitemap.html durchaus http://www.thestyleworks.de/examples/css-sitemap/css-sitemap-09.html aussehen wink.gif
Wie gesagt, das ist eine nummer zu komplex für mich... sad.gif

Geschrieben von: MaZderMind Sun. 31. August 2008, 19:21

Hallo zusammen

ich benötigte für eine Seite eine zweiteilige Navigation: Links werden die 1. und die 2. Ebene angezeigt, wenn man auf einen Ordner in der 2. Ebene klickt der Seiten beinhaltet wird die 3. Navigationseben durch ein seperates Listennavi-Modul angezeigt. Dieses seperate Modul soll nur eine Ebene anzeigen und zwar ab der 3. Ebene. Wenn die 3. Eben neicht angezeigt werden würde soll garnichts ausgegeben werden.

Nach meinem Verständnis ist dies die Aufgabe der "Angezeigter Startebene von Ordnern manipulieren"-Option. Diese zeigte jedoch nicht die gewünschte Wirkung. Ich bin mir nicht sicher ob es sich dabei um einen Bug handelt, jedoch konnte ich mit kleinen Änderungen am Code das gewünschte Verhalten erreichen. Ich habe daraus einen Patch erstellt. Es hängt außerdem ein Beispiel über die Verwendung an.
Lg, Peter

 listennavi_patch.zip ( 11.32KB ) : 18
 beispiel.zip ( 508.6KB ) : 18
 

Geschrieben von: andi Mon. 1. September 2008, 06:50

hallo peter

ich kann diesen «bug» rekonstruieren, der patch funktioniert auch bestens.
sollte man eigentlich zusammen mit der erweiterung von http://forum.sefrengo.org/index.php?showtopic=1083 (damit {first} unter «ebene» funktioniert), in der nächsten version berücksichtigen.

da bugfixes bei den standardmodulen auf sich warten lassen (siehe post vonhttp://forum.sefrengo.org/index.php?s=&showtopic=1045&view=findpost&p=13519), sollte man vielleicht die version von stam ebenso anpassen und unter einem anderen namen veröffentlichen ... leider auch zu komplex für mich sad.gif


gruss andi

Geschrieben von: bjoern Sun. 7. September 2008, 11:09

Besten Dank für den Patch. So wie sich das MaZderMind das vorgestellt hat, sollte das auch funktionieren.

Eine neue Version des Moduls kann gerne unter den Alpha, Beta Downloads eingestellt werden. Wenn die Version ohne Probleme läuft, dann spricht nichts gegen eine Veröffentlichung unter den Namen Listennavigation.

Geschrieben von: gunwalt Tue. 28. October 2008, 12:33

In den Tiefen des Navimoduls ist möglicherweise eine Funktion verborgen, die ich nicht hinkriege.
Innerhalb der verschachtelten Liste sollen die Personen 2.1 und 2.2 eine andere Schrift bekommen. Geht so etwas?

QUELLTEXT
<ul id="navigation">
<li><a href="">1</a></li>
<li><a href="">2</a>
<ul>
<li><a href="">Person 2.1</a></li>
<li><a href="">Person 2.2</a></li>
</ul>

</li>
<li><a href="">3</a></li>
<li><a href="">4</a></li>
<li><a href="">5</a></li>
<li><a href="">6</a></li>
<li><a href="">7</a></li>
</ul>


Geschrieben von: mvsxyz Tue. 28. October 2008, 12:39

Wenn ich dich richtig verstehe, dann sollte das doch mit CSS gehen?

QUELLTEXT
ul li {
font-family: Arial;
}
ul li ul li {
font-family: Verdana;
}

Geschrieben von: gunwalt Tue. 28. October 2008, 14:35

ZITAT(mvsxyz @ Tue. 28. October 2008, 12:39) *
Wenn ich dich richtig verstehe, dann sollte das doch mit CSS gehen?

Wie war das mit dem Wald? Diesmal war es so. Danke. Ich hatte in die Richtung von {else} und {last} gedacht ...

Noch eine anderes Problem:
In einer langen Navi gebe ich Bilder mittels ID auf. Das soll nur für die erste Liste zutreffen. In der verschachtelten und untergeordneten tauchen mittes untenstehendem Code alle Bilder als "nav_{id}.gif" auf. Damit es im IE keine Fehlermeldung gibt, muss jedes Bild da sein. Kann ich das irgendwie ausstellen?

QUELLTEXT
<li><!--<img src="media/img/template/nav_pfeil_rechts_grau.gif" alt="" width="9" height="11" />-->
<a href="{link}">{name}&nbsp;&nbsp;
<img src="media/img/template/nav_{id}.gif" alt="" border="0" /></a>{folder}</li>


Geschrieben von: oberbilker Fri. 20. February 2009, 14:22

hallo alle,

ich denke, ich habe einen bug im modul entdeckt.
gebe ich in der ausgabe einer navigation beschreibungen von ordnern und seiten via {desc} aus, werden in unterschiedlichen sprachversionen immer die deutschen (default-sprache) beschreibungen angezeigt.

getestet unter sef 1.4.0 / 1.4.2 // listnavi 1.1.0 / 1.2.0 / 1.2.2 (fireflyer) - selbes negatives ergebnis.

hat einer eine idee woran es hackt?

greetz, oberbilker

Geschrieben von: webmasterFF Tue. 19. May 2009, 07:26

Hallo Leute,

ich hab ein "Anfängerproblem".
Ich möchte Seiten in der Navigation ausschließen und hab schon alle möglichen Befehle ausprobiert.
Was muss ich denn genau kommasepariert in das Feld eintragen? Nur die ID (70,71), oder noch einen Verweis wie idcatside= .... oder sonst was?

Irgendwie bekomm ich es nicht hin ....


Danke für Euere Antworten !!!!!
webmasterFF

Geschrieben von: gunwalt Tue. 19. May 2009, 08:33

ZITAT
Nur die ID (70,71)

genauso und komma hintendran

Geschrieben von: webmasterFF Tue. 19. May 2009, 08:38

Hallo gunwalt,

also irgendwie funzt das nicht ....

Hab jetzt folgendes in das Textfeld probiert:

ID (70,71)

ID 70,71

id: 70,71

id= 70,71

idcatside= 70,71

idcatside: 70,71

idcat: 70,71

idcat= 70,71

Nichts davon funktioniert irgendwie ..... blink.gif

Geschrieben von: webmasterFF Tue. 19. May 2009, 08:39

Hab vergessen:

Wenn ich das doch im Template ändere müssen doch alle Seiten die unter diesem Template laufen diese Änderung doch übernehmen, oder?

Geschrieben von: mvsxyz Tue. 19. May 2009, 09:25

Wenn du Konfigurationen im Template änderst und das Template bereits benutzt wird, musst du in der Templatekonfiguration (unter Design -> Template) bzw. in der Modulkonfiguration (Design -> Module) die Checkbox ganz unten anhaken. Damit werden jedoch Änderungen am Template die direkt auf Ordner oder Seiten ausgeführt hast, überschrieben!

Hier nochmal die Reihenfolge im Überblick:
- Modulkonfiguration: Checkbox angehakt = überschreibt Templatekonfiguration und Einstellungen in Ordner und Seiten
- Templatekonfiguration: Checkbox angehakt = überschreibt Einstellungen in Ordner und Seiten

Geschrieben von: webmasterFF Wed. 3. June 2009, 09:23

Achso, ja, das ist klar !!
Genauso hab ich es gemacht.

Trotzdem habe ich immer noch das Problem dass die Navigation mir meine Seiten nicht ausschließt.
Ich bin verzweifelt, weiß langsam nicht mehr welchen Befehl ich da angeben muss. Da steht ja nur, Seiten kommasepariert angeben. Klar, mach ich doch die gnaze Zeit schon. Hab schon alle Befehle ausprobiert (s. Post oben).

Hat denn niemand einen Rat??????

DANKE
webmaster FF

Geschrieben von: tobaco Wed. 3. June 2009, 09:35

ZITAT(webmasterFF @ Tue. 19. May 2009, 09:38) *
Hallo gunwalt,

also irgendwie funzt das nicht ....

Hab jetzt folgendes in das Textfeld probiert:

ID (70,71)

ID 70,71

id: 70,71

id= 70,71

idcatside= 70,71

idcatside: 70,71

idcat: 70,71

idcat= 70,71

Nichts davon funktioniert irgendwie ..... blink.gif



hast du es schon mal so probiert?

70,71


also ohne das idcat-zeugs vorne dran.

Geschrieben von: webmasterFF Wed. 3. June 2009, 09:54

Ja, hab ich gerade nochmal probiert -- ohne Erfolg unsure.gif

Geschrieben von: webmasterFF Wed. 3. June 2009, 09:58

Also ich habe es so

70,71

und so

70, 71

probiert.


Irgendwie werden mir die Seiten nicht ausgeschlossen in Frontend. D.h. Sie werden nach wie vor in der Navi angeziegt, obwohl sie verborgen sein sollten. Mag es sein dass das Modul einen Bug hat?

Grüße und Dank an alle
webmaster FF

Geschrieben von: FireFlyer Wed. 3. June 2009, 16:57

Link und evtl Zugang per PM wäre nicht schlecht, falls möglich oder gewollt. Was mir noch einfällt wäre:
- Ausgeschlossene Seiten und Ordner auch im Backend verbergen angehakt?

Werden wirklich alle ausgeschlossenen Seiten angezeigt auf der Homepage oder nur im Backend bei der Seitenbearbeitung?

Geschrieben von: webmasterFF Wed. 3. June 2009, 20:39

Also die Seiten werden mir in der Vorschau angezeigt. Ich mache die Vorschau immer mit der Lupe ....
Ich muss mal nachschauen ob der Hacken auch bei dem von dir genannten Punkt gesetzt ist.

Allerdings muss ich nochmal nachfragen: Hab ich die auszuschließenden Seiten denn richtig angegeben ??????

70,71

Gruß und Dank

Geschrieben von: webmasterFF Wed. 3. June 2009, 20:43

Ooooooooooooooh meeeeeeeeeeeeein Goooooooooooooot blink.gif

Mir ist der absolute Anfängerfehler passiert. Ich traue es mich gar nicht zu sagen, aber der letzte Post zu meinem Problem von FireFlyer hat micg darauf auifmerksam gemacht.
Ich hatte meine Seite außer über die Vorschau noch nie online angeschaut (ist noch im Aufbau).
Jetzt, wo ich das mal getan habe, fällt mir auf dass die Seiten einwandfrei ausgeschlossen sind.

Sorry sorry sorry Leute für Euere Bemühungen.
Das war einfach der absolute noob-Fehler !!

Tut mir leid.
Dank euch allen !


Gruß
webmasterFF

Geschrieben von: saschapi Thu. 4. June 2009, 08:34

Deshalb immer schön auch den Haken bei "Ausgeschlossene Seiten und Ordner auch im Backend verstecken" setzen :-)

Geschrieben von: webmasterFF Sat. 6. June 2009, 11:30

Jopp,

hab ich auch gemerkt *peinlich peinlich peinlich*


webmasterFF

Geschrieben von: webmasterFF Mon. 14. December 2009, 16:31

Ui, Leutz - steh gerade irgendwie auf`m Schlauch ...

1. Frage: Wie bekomme ich denn die Aufzählungszeichen weg ?? sad.gif
2. Frage: Irgendwie kann ich die Navigation doch auch waagerecht darstellen lassen .... blink.gif

Danke Leute !

Geschrieben von: saschapi Mon. 14. December 2009, 17:03

Du musst mit CSS arbeiten und die vom Modul augegebenen HTML-Tags damit stylen. Da geht alles (Anregungen findest du hier: http://css.maxdesign.com.au/listamatic/

Geschrieben von: webmasterFF Mon. 14. December 2009, 18:01

Danke dir !

Geschrieben von: Resolution Thu. 19. June 2014, 10:06

Hallo zusammen,

ich weiß, hier ist schon Jahre nichts passiert, aber ich habe einen Bug ind er Listennavigation gefunden und behoben und wollte diesen der Community übergeben.

Egal was man eingestellt hat, es wurde niemals der Inhalt der in der Box "Aktiver Ordner:" hinterlegt war angezeigt.

Es gab zwei Fehler in der Funktion "print_folder_helper_folders_":

- zum einen wurde $idcatside benutzt aber nie definiert und war damit NULL
- Bei der Abfrage, ob der Text 25 (Aktiver Ordner) oder der Text 27 (Verfolgter Ordner) wird der Vergleich $show_start_page == 'false' gemacht, 'false' ist aber kein möglicher Auswahlwert in Formularfeld 4.

Wie auch immer, hier ist die Korrigierte Fassung:





 Listen_Navigation.cmsmod ( 43.84KB ) : 10
 

Geschrieben von: webmasterFF Thu. 19. June 2014, 21:15

Cool. Danke!

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)