Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

Forum Sefrengo.org _ Alpha, Beta, ...... _ Listennavigation v01.02.01

Geschrieben von: FireFlyer Wed. 28. January 2009, 17:30

Modulname:
---------------------------------------------------------------------------
Listen-Navigation v.01.02.01


Status:
---------------------------------------------------------------------------
Beta


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)
FireFlyer (V. 1.2)


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.02.01 - released 28.01.2009
------------------------------------------------------------------------------------------------
# Beseitigung mip_forms-Fehler bei Auswahl Anzeigeart: Nur Ordner


Current versionnumber is 01.02.00 - released 21.01.2009
------------------------------------------------------------------------------------------------
^ Modul auf Tabs mit Hilfetexte abgeändert
# $dedi_mod['value']['17'] nach $cms_mod['value']['17'] gefixt


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 D*DI to Sefrengo CMS


Download 2 Beiträge weiter unten!

Geschrieben von: feniweb Wed. 28. January 2009, 21:03

Sorry FireFlyer

Das Problem ist mit der Version 1.2.1 nicht behoben es betrift nicht den Ordner sondern die Seiten.
Siehe Bild



Gruss

Geschrieben von: FireFlyer Thu. 29. January 2009, 18:29

Teste bitte mal diese Version auf Herz und Nieren! Sorry, wenn es so häufig was zum Bugfixen gibt.

 Listen_Navigation_v01.02.02.zip ( 13.57KB ) : 30

edit: aktuelle Beta weiter unten!

Gruß
FireFlyer

Geschrieben von: feniweb Mon. 2. February 2009, 12:12

Danke FireFlyer für dein schnelles überarbeiten.

Wie es scheint funktioniert es.

Danke vielmal



Gruss

Geschrieben von: alexander Tue. 24. February 2009, 22:54

Hi, hab heute in einer recht komplexen und großen Site alle Navis mit dieser Version aktualisiert und bis jetzt keine Fehler festgestellt.

Geschrieben von: oberbilker Wed. 25. February 2009, 10:08

(post auch gepostet im thread über modul-version 1.1.0)

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 - selbes negatives ergebnis.

hat einer eine idee woran es hackt? fireflyer und ich leider nicht.

greetz, oberbilker

Geschrieben von: bkm Wed. 25. February 2009, 12:27

ZITAT(oberbilker @ Wed. 25. February 2009, 10:08) *
(post auch gepostet im thread über modul-version 1.1.0)
ich denke, ich habe einen bug im modul entdeckt.

schreibe dir (oder wer sich da berufen fühlt) die listennavi auf die api um und die sprachausgabe klappt (nebenbei sind es paar querys weniger wink.gif )

Geschrieben von: HansHansa Sat. 7. March 2009, 22:36

Hallo,

Ich habe mal die Version "Listen-Navigation (1.2.2)" ausprobiert.
Ist die Ausgabe von {desc} nicht mehr möglich?

Edit: Sie gibt die "Kurzbeschreibung" und nicht die "Notizen" aus.

Danke Hansa

Geschrieben von: SLD Thu. 26. March 2009, 17:00

Hi,

gibt es mittlerweile eine Lösung für das Problem, welches Oberbilker angesprochen hat?
Könnte es ganz gut gebrauchen sad.gif

Leider habe ich aktuell keine Zeit mich durch den Code vom Listennavi-Modul zu kämpfen. Außerdem bin ich mit der API von Sefrengo nicht so sehr vertraut.
Würd mich freuen, wenn es da einen kleinen Workaround gibt.

Gruß SLD

Geschrieben von: bjoern Sun. 29. March 2009, 18:19

Die SQLs sind falsch. Die berücksichtigen nicht die Sprache (idlang). Ich habs mal ungetestet angepasst. Vom Prinzip sollte das funktionieren.

Suchen

CODE

//Description of cats
if(! function_exists(get_cat_desc)){
function get_cat_desc($a)
{
global $db,$cms_db;
$sql = "SELECT
*
FROM
".$cms_db['cat_lang']."
WHERE idcatlang = '".$a."'";
$db->query($sql);
$db->next_record();
return $db->f('description');
}}

//Descritpion of pages
if(! function_exists(get_side_desc)){
function get_side_desc($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 == 'desc') {
return $db->f('meta_description'); }
elseif ($which == 'summary'){
return $db->f('summary'); }
}}



Ersetzen:

CODE

//Description of cats
if(! function_exists(get_cat_desc)){
function get_cat_desc($a)
{
global $db,$cms_db;
$sql = "SELECT
*
FROM
".$cms_db['cat_lang']."
WHERE idcat = '".$a."'
AND idlang = '".(int) $GLOBALS['lang']."'";
$db->query($sql);
$db->next_record();
return $db->f('description');
}}

//Descritpion of pages
if(! function_exists(get_side_desc)){
function get_side_desc($a,$which)
{
global $db,$cms_db;
$sql = "SELECT
*
FROM
".$cms_db['side_lang']." LEFT JOIN
".$cms_db['cat_side']." USING(IDSIDE)
WHERE
idcatside = '".$a."'
AND idlang = '".(int) $GLOBALS['lang']."'";
$db->query($sql);
$db->next_record();

if ($which == 'desc') {
return $db->f('meta_description'); }
elseif ($which == 'summary'){
return $db->f('summary'); }
}}


Geschrieben von: oberbilker Mon. 30. March 2009, 12:03

@björn
danke für den fix. habe ich gerade in zwei mehrsprachigen projekten erfolgreich eingebaut.
sef 1.4.2 / listnav 1.2.2

@fireflyer
übernimmst du das in die aktuelle version? dann könnte das modul doch als stable in den modul-bereich?

greetz, oberbilker

Geschrieben von: FireFlyer Mon. 30. March 2009, 18:01

Mach ich! Kann aber bis Mittwoch dauern, da ganz schön viel los ist.

Geschrieben von: andi Tue. 31. March 2009, 08:13

zwar darf http://forum.sefrengo.org/index.php?s=&showtopic=1083&view=findpost&p=8640 das listennavigationsmodul nur durch ihn selbst weiterentwickelt werden, aber da dies nicht mehr der fall zu sein scheint (oder nur stam betrifft rolleyes.gif), wäre ich um die funktionserweiterung von http://forum.sefrengo.org/index.php?showtopic=1083 dankbar.

Geschrieben von: bjoern Tue. 31. March 2009, 11:04

Wie kommst Du darauf lieber Andi, das es zwischen Fireflyer und mir keine entsprechende Absprache gab?

Geschrieben von: FireFlyer Wed. 1. April 2009, 16:32

Bitte testen!

 Listen_Navigation_v01.02.03.zip ( 13.63KB ) : 12

edit: aktuelle Beta weiter unten!

Geschrieben von: FireFlyer Sun. 12. April 2009, 14:17

Feedback bitte!

Geschrieben von: oberbilker Wed. 15. April 2009, 19:04

hallo fireflyer,
einen hab ich noch :)

bei aktivierter einstellung "Bei Ordnerlinks immer Link zur Startseite des Ordners generieren" wird {link} im tpl "Einleitung/Ende der Navigation" nicht berücksichtigt, sprich auf den ordner, nicht die startseite verlinkt.
das sollte noch gerade gerückt werden.

greetz, oberbilker

Geschrieben von: feniweb Thu. 16. April 2009, 08:52

Was mir bei der Listennavi eigentlich noch fehlt ist eine Seiten- und Ordner übergreifende navigation.

Also das ich eine Möglichkeit habe von Site zu Seite zu blättern und das über verschiedene Ordner.
Das ist bis jetzt nicht möglich.

<<<< - >>>>

Gruss

Geschrieben von: saschapi Thu. 16. April 2009, 11:55

Dafür gibt es zumindest ein eigenes Modul wink.gif http://forum.sefrengo.org/index.php?showtopic=1201

Geschrieben von: feniweb Thu. 16. April 2009, 13:40

Ja, das kenne ich. Nur eben innerhalb eines Ordners. Wenn mann aber Ordnerübergreifend navigieren will geht es mit diesem Modul nicht.

Gruss

Geschrieben von: saschapi Fri. 17. April 2009, 10:23

Stimmt! smile.gif

Geschrieben von: FireFlyer Fri. 17. April 2009, 16:31

@oberbilker
Hast recht, aber das Modul ist wieder eine Nummer zu groß für mich. Hier mal die Stelle aus dem Code:

QUELLTEXT
$mod['intro'] = str_replace('{name}', htmlspecialchars($con_tree[<CMSPHP:CACHE>echo $cms_mod['value'][1];</CMSPHP:CACHE>]['name'], ENT_COMPAT, 'UTF-8'), $mod['intro']);
$mod['intro'] = str_replace('{desc}', htmlspecialchars(get_cat_desc(<CMSPHP:CACHE>echo $cms_mod['value'][1];</CMSPHP:CACHE>), ENT_COMPAT, 'UTF-8'), $mod['intro']);
$mod['intro'] = str_replace('{link}', $con_tree[<CMSPHP:CACHE>echo $cms_mod['value'][1];</CMSPHP:CACHE>]['link'], $mod['intro']);
$mod['intro'] = str_replace('{id}', '<CMSPHP:CACHE>echo $cms_mod['value'][1];</CMSPHP:CACHE>', $mod['intro']);
$mod['intro'] = str_replace('{tabindex}', '<CMSPHP:CACHE>echo $cms_mod['value'][13];</CMSPHP:CACHE>', $mod['intro']);

Es wird {link} ersetzt aber diese Funktion greift auf $con_tree zu, also auf den Namen und Link vom Ordner.

Kann hier wer helfen?

Geschrieben von: oberbilker Fri. 17. April 2009, 21:49

@fireflyer
mal sehen, was wir machen können... ich melde mich dann bei dir, falls wir die lösung finden.
evtl hat j auch einer der pro`s eine lösung parat?

Geschrieben von: bjoern Sat. 18. April 2009, 07:03

Versuch mal

QUELLTEXT
$mod['intro'] = str_replace('{link}', $con_tree[<CMSPHP:CACHE>echo $cms_mod['value'][1];</CMSPHP:CACHE>]['link'], $mod['intro']);


hiermit zu tauschen:

QUELLTEXT
if ('MOD_VALUE[17]' == 'true')
{
    $mod['intro'] = str_replace('{link}', $con_side[ $GLOBALS['SF_catinfos']->getIdcatsideStartpage(<CMSPHP:CACHE>echo $cms_mod['value'][1];</CMSPHP:CACHE>) ]['link'], $item);
}
else
{
     $mod['intro'] = str_replace('{link}', $con_tree[<CMSPHP:CACHE>echo $cms_mod['value'][1];</CMSPHP:CACHE>]['link'], $mod['intro']);
}

Geschrieben von: FireFlyer Sat. 18. April 2009, 12:08

oberer Code von bjoern beinhaltet kleinen Fehler und ist in dieser verbesserten Version berücksichtigt!

Current versionnumber is 01.02.04 - released 18.04.2009
------------------------------------------------------------------------------------------------
# {link} übernimmt Startseite im Template "Einleitung/Ende der Navigation"
by bjoern

+ extend configoption: "Ebene"
^ Mögliche Templatevariablen: {layer}, {id}, {depth}, {depth_count}, {first}...[{else}...]{/first}
Funktionserweiterung von Stam

 Listen_Navigation_v01.02.04.zip ( 13.89KB ) : 9

Geschrieben von: Kai-Uwe Herbing Sun. 19. April 2009, 10:35

Damit STams Anpassungen greifen fehlen noch folgende Änderungen:

Zeile 665:

CODE
function print_folder_&lt;CMSPHP:CACHE&gt;echo $cms_mod['container']['id'];&lt;/CMSPHP:CACHE&gt;($folder, $depth, $first = false)


Zeile 1205:

CODE
$mod['output'] = print_folder_&lt;CMSPHP:CACHE&gt;echo $cms_mod['container']['id'];&lt;/CMSPHP:CACHE&gt;(build_navi_tree_&lt;CMSPHP:CACHE&gt;echo $cms_mod['container']['id'];&lt;/CMSPHP:CACHE&gt;(&lt;CMSPHP:CACHE&gt;echo $cms_mod['value'][1];&lt;/CMSPHP:CACHE&gt;, 0, true), 1, true);


Ausserdem ist Zeile 1234 falsch, weil damit das Ergebnis der vorhergehenden if-Abfrage überschreiben wird. Die Zeile ist bereits im else-Zweig als Zeile 1232 enthalten.

Besten Dank und Grüsse
Kai-Uwe

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