Listennavigation v01.01.00 |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
Listennavigation v01.01.00 |
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)
-------------------- Es wird, es wird...
|
|
|
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...
|
|
|
Guest_summerbrother_* |
Fri. 1. June 2007, 21:24
Beitrag
#42
|
Guests |
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... {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... |
|
|
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...
|
|
|
Guest_summerbrother_* |
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. |
|
|
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...
|
|
|
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 |
|
|
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...
|
|
|
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 |
|
|
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) |
|
|
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...
|
|
|
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); ... so geändert werden:$item = preg_replace("/{first}(.*?)({else}(.*?))?{\/first}/", "\\3", $item); $item = preg_replace("/{last}(.*?)({else}(.*?))?{\/last}/", "\\1", $item); $item = preg_replace("/{last}(.*?)({else}(.*?))?{\/last}/", "\\3", $item); 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ß |
|
|
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 |
|
|
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? -------------------- |
|
|
Guest_bkm_* |
Fri. 27. July 2007, 12:03
Beitrag
#54
|
Guests |
|
|
|
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 Falscher Server... Das war auf meiner Testversion. Fehler ist also durch den Fehler vor dem Bildschirm nun behoben worden!
-------------------- |
|
|
Guest_summerbrother_* |
Fri. 27. July 2007, 14:58
Beitrag
#56
|
Guests |
|
|
|
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) |
|
|
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.
|
|
|
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? |
|
|
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? |
|
|
Vereinfachte Darstellung | Aktuelles Datum: 6.6.24 - 10:07 |