Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

> Listennavigation v01.01.00
bjoern
Beitrag Tue. 17. April 2007, 16:56
Beitrag #1


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



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

Angehängte Datei(en)
Angehängte Datei  Listennavigation_V01_01_00.zip ( 12.76KB ) Anzahl der Downloads: 362
 


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
6 Seiten V  < 1 2 3 4 5 > »   
Start new topic
Antworten (40 - 59)
bjoern
Beitrag Thu. 24. May 2007, 22:00
Beitrag #41


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



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);
              }


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
Guest_summerbrother_*
Beitrag Fri. 1. June 2007, 21:24
Beitrag #42





Guests






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
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Sat. 2. June 2007, 14:19
Beitrag #43


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



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.


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
Guest_summerbrother_*
Beitrag Sun. 3. June 2007, 20:58
Beitrag #44





Guests






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: 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.
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Tue. 5. June 2007, 10:28
Beitrag #45


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



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>


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
outline4
Beitrag Sun. 1. July 2007, 20:21
Beitrag #46


Advanced Member
****

Gruppe: AdvancedMembers
Beiträge: 116
Mitglied seit: 30.11.2006
Wohnort: CH - Bern
Mitglieds-Nr.: 431



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

cheers
*s*

Der Beitrag wurde von outline4 bearbeitet: Sun. 1. July 2007, 20:23
Go to the top of the page
 
+Quote Post
bjoern
Beitrag Tue. 3. July 2007, 11:19
Beitrag #47


Administrator
********

Gruppe: Members
Beiträge: 1.092
Mitglied seit: 16.06.2006
Wohnort: Köln
Mitglieds-Nr.: 1



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.


--------------------
Es wird, es wird...
Go to the top of the page
 
+Quote Post
Chregu
Beitrag Tue. 17. July 2007, 07:34
Beitrag #48


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 334
Mitglied seit: 10.07.2006
Wohnort: luzern (Schweiz)
Mitglieds-Nr.: 128



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
Go to the top of the page
 
+Quote Post
feniweb
Beitrag Tue. 17. July 2007, 08:23
Beitrag #49


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 627
Mitglied seit: 30.06.2006
Mitglieds-Nr.: 25



@Chregu

Ich habe das so eingesetzt:
ZITAT
<li><a class="akt" href="{link}">{name}</a>{last}{else}|{/last}</li>
{folder}


Gruss


--------------------
feniweb
_____________________________________________________________________________
Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren. (Bertolt Brecht)
Go to the top of the page
 
+Quote Post
Chregu
Beitrag Tue. 17. July 2007, 09:06
Beitrag #50


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 334
Mitglied seit: 10.07.2006
Wohnort: luzern (Schweiz)
Mitglieds-Nr.: 128



danke für deine infos! verteilst du aber die {last} auf mehrere linen scheint es nicht zu funktioniere...
Go to the top of the page
 
+Quote Post
STam
Beitrag Tue. 17. July 2007, 09:26
Beitrag #51


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 541
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 8



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ß
Go to the top of the page
 
+Quote Post
Chregu
Beitrag Tue. 17. July 2007, 10:01
Beitrag #52


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 334
Mitglied seit: 10.07.2006
Wohnort: luzern (Schweiz)
Mitglieds-Nr.: 128



@STam

Besten Dank
Go to the top of the page
 
+Quote Post
saschapi
Beitrag Fri. 27. July 2007, 10:39
Beitrag #53


Advanced Member
********

Gruppe: Moderators
Beiträge: 911
Mitglied seit: 26.06.2006
Wohnort: Essen; Ruhrgebiet
Mitglieds-Nr.: 4



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


--------------------
Go to the top of the page
 
+Quote Post
Guest_bkm_*
Beitrag Fri. 27. July 2007, 12:03
Beitrag #54





Guests






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 ?
Go to the top of the page
 
+Quote Post
saschapi
Beitrag Fri. 27. July 2007, 14:28
Beitrag #55


Advanced Member
********

Gruppe: Moderators
Beiträge: 911
Mitglied seit: 26.06.2006
Wohnort: Essen; Ruhrgebiet
Mitglieds-Nr.: 4



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


--------------------
Go to the top of the page
 
+Quote Post
Guest_summerbrother_*
Beitrag Fri. 27. July 2007, 14:58
Beitrag #56





Guests






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
Go to the top of the page
 
+Quote Post
feniweb
Beitrag Mon. 27. August 2007, 11:57
Beitrag #57


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 627
Mitglied seit: 30.06.2006
Mitglieds-Nr.: 25



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


--------------------
feniweb
_____________________________________________________________________________
Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren. (Bertolt Brecht)
Go to the top of the page
 
+Quote Post
tobaco
Beitrag Mon. 27. August 2007, 15:42
Beitrag #58


Advanced Member
*****

Gruppe: AdvancedMembers
Beiträge: 185
Mitglied seit: 03.07.2006
Mitglieds-Nr.: 80



das geht nur, wenn du statt "Root" "aktueller Ordner" oder einen anderen ordner auswählst.
Go to the top of the page
 
+Quote Post
tobaco
Beitrag Mon. 27. August 2007, 15:51
Beitrag #59


Advanced Member
*****

Gruppe: AdvancedMembers
Beiträge: 185
Mitglied seit: 03.07.2006
Mitglieds-Nr.: 80



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?
Go to the top of the page
 
+Quote Post
tobaco
Beitrag Mon. 3. September 2007, 08:05
Beitrag #60


Advanced Member
*****

Gruppe: AdvancedMembers
Beiträge: 185
Mitglied seit: 03.07.2006
Mitglieds-Nr.: 80



*bump*

keiner eine idee?
Go to the top of the page
 
+Quote Post

6 Seiten V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
3 Besucher lesen dieses Thema (Gäste: 3 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 6.6.24 - 10:07

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.