Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Temporäre Foren » X-Mentor (Archiv)

 
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 04.07.2004, 10:43
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
Frage

Dritte Kategorien-Hierarchie


Ich habe mir gestern den X-Mentor 1.2.5 heruntergeladen, neu installiert und bin begeistert. Ich habe zuletzt in der Version 1.1 gearbeitet und im Vergleich dazu ist die neue ein Riesenschritt in Richtung leichterer Adaptierbarkeit und logischem Aufbau. Ein großer Dank an die Programmierer! Schön wäre gewesen, wenn auch das css über das Web-Interface bearbeitbar wäre.

Zur eigentlichen Frage: Philipp schreibt in der Dokumentation, dass es ein leichtes sei, die Kategorien auf drei Ebenen zu erweitern. Das möchte ich jetzt tun. So wie ich das einschätze, bräuchte man dazu lediglich auch die Kategorien der zweiten Ebene in das Zuordnungs-Drop-Down bei der Erstellung einer neuen Kategorie laden und die Cat-ID dann im "Chef"-Feld der Kategorien-Tabelle eintragen.

Sehe ich das richtig oder übersehe ich eine Schwierigkeit? Hat sich dazu schon jemand Gedanken gemacht?

Lg, Lothar-
  #2  
Alt 04.07.2004, 15:24
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
Ich habe nun folgendes versucht:
Die dritte ebene bekommt in der categories-Tabelle type "2". Ich habe daher auch function "getnav" um eine if-Schleife erweitert:
Zitat:
if($categories_row['type']=="0") {
$str .= $GLOBALS['Template']->load('hauptkategorie', $categories_row);
}
if($categories_row['type']=="1") {
if($categories_row['chef']==$id || $categories_row['chef']==$chef) {
$str .= $GLOBALS['Template']->load('unterkategorie', $categories_row);
}
}
if($categories_row['type']=="2") {
if($categories_row['chef']==$id || $categories_row['chef']==$chef) {
$str .= $GLOBALS['Template']->load('unterkategorie2', $categories_row);
}
}
Das klappt jetzt insoweit, als die zweite Unterkategorie in der Navigation ausgeklappt wird, wenn ich die erste anklicke. Wenn ich dann aber die zweite Unterkategorie anklicke, um auf die Kategorieübersichtseite zu kommen, verschwindet die erste Unterkategorie in der Navigation, und die zweite steht dann direkt unter der Hauptkategorie.

Hat jemand eine Ahnung, wo der Haken ist?

  #3  
Alt 05.07.2004, 15:22
Ste Ste ist offline
Mitglied
 
Registriert seit: 06.2004
Ort: Bolzano (I)
Beiträge: 50
So nun editiere ich diesen Text zum 5 mal, habe den "Hacken" gefunden, du musst über phpmyadmin die kategorien nach postion ordnen lassen und diese dann anornden incl unterkategorien1&2 wie du es gerne hättest dann geht das ganze

  #4  
Alt 05.07.2004, 17:07
Benutzerbild von Philipp Gérard
Zeitdenken
 
Registriert seit: 09.2003
Ort: Wien
Beiträge: 832
Wäre cool, wenn das einer von euch mal als Hack schrieben könnte - für diejenigen, die nicht bis zur 1.2.6 warten können

__________________
Philipp Gérard
Gewöhnliche Menschen denken nur daran, wie sie ihre Zeit verbringen. Ein intelligenter Mensch versucht sie zu nützen. - Arthur Schopenhauer
  #5  
Alt 05.07.2004, 18:10
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
@Ste: Vielen Dank, jetzt steht sie zumindest an richtiger Stelle! Dass die 1. Unterkategorien verschwinden, und die 2. Unterkategorie dann als einziger Eintrag unter der Hauptkategorie steht, wenn man sie anklickt, ist aber leider nicht gelöst :o(

Was ich jetzt noch lösen muss, ist, dass die "2" automatisch in das type-Feld geschrieben wird, wenn ich einen neue Kategorie anlege bzw. eine bestehende ändere (und ich das nicht händisch in der phpmyadmin machen muss) und ich muss es irgendwie schaffen, dass die Sortierung mit den Pfeilchen in der admin wieder klappt, denn meine zweite Unterkategorie bringt das System da ein wenig aus dem Konzept.

Sobald ich das habe, ...

@Philipp: ... kann ich das gerne auch weitergeben!

  #6  
Alt 05.07.2004, 18:22
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
... dass die 1. Unterkategorieebene verschwindet, ist mir jetzt aber eigentlich eh klar. in die eine richtung funktioniert es natürlich, aber wenn ich nur die id der 2. unterkategorie habe, muss ich natürlich auch noch eine abfrage der chef-kategorie und deren chef-kategorie schreiben ...

  #7  
Alt 05.07.2004, 18:22
Ste Ste ist offline
Mitglied
 
Registriert seit: 06.2004
Ort: Bolzano (I)
Beiträge: 50
@lotsch könntest du mal einen screenshot posten da ich dein Problem nicht ganz verstehe? Also Punkt 1.

Was Punkt 2 angeht "Unterkategorie" erstellen daran werde ich mich auch versuchen, werde es dann hier meine Forschritte posten.

@phillip ein wenig hilfe wäre echt nicht schlecht da ich von php echt im Kindergarten Niveu bin, wobei du hast sicherlich schon genug mit den bugs zu tun

  #8  
Alt 05.07.2004, 18:31
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
@Ste: schau einfach mal da: http://gerda.univie.ac.at/thomasbaue...ge=cat&catid=3 und klicke dann auf "Programme Description", dann weißt du, was ich meine.

  #9  
Alt 05.07.2004, 18:35
Ste Ste ist offline
Mitglied
 
Registriert seit: 06.2004
Ort: Bolzano (I)
Beiträge: 50
Ach da wollte ich dir schon schreiben "bei mir ist es nicht so" aber da muss ich doch schnell revidieren gleicher fehler, ich werde das mal untersuchen, dat kann doch nicht so schwer sein

Nebenbei kannst du mir veraten wie du "Programm description" eingerückt hast

Edit: Vieleicht ist es einfacher ein eigene Navigation zu bauen

  #10  
Alt 05.07.2004, 18:42
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
Wenn es weiter nichts ist, das kann ich beantworten:
Du musst einfach in der layout/display.css einen neuen typ definieren:

Code:
#navigation .unterkategorie2 a {
	display: block;
	padding: 3px;
	padding-left: 40px;
}
und dementsprechend ein neues template für die 2. unterkategorie anlegen:

Code:
		<div class="unterkategorie2"><a href="{link}" title="Kategorie '{name}' öffnen.">{name}</a></div>
@Philipp: Der Bitte nach Unterstützung kann ich mich nur anschließen, sehr groß sind meine php-Kenntnisse nämlich auch nicht

  #11  
Alt 05.07.2004, 18:43
Ste Ste ist offline
Mitglied
 
Registriert seit: 06.2004
Ort: Bolzano (I)
Beiträge: 50
danke

  #12  
Alt 05.07.2004, 18:45
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
Zitat:
Zitat von Ste
Edit: Vieleicht ist es einfacher ein eigene Navigation zu bauen
Daran habe ich auch schon gedacht. So eine ganz einfache, deppensicher, ganz ohne functions und so ...

  #13  
Alt 05.07.2004, 19:24
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
Das mit dem Verschwinden habe ich jetzt gelöst. Im Nachhinein betrachtet eigentlich eh klar.

Du musst in inc/system.class.php bei der function getnav folgendes einfügen:

Zuerst nach der Variablen $chef:
PHP-Code:
        $chef $this->getcatchef($id);
    
$chef2 $this->getcatchef($chef); 
damit auch die Hauptkategorie der 1. Unterkategorie abgefragt wird.
Dann noch die if-Schleife bei der 1. Unterkategorie ändern:
PHP-Code:
                if($categories_row['type']=="1") {
                                if(
$categories_row['chef']==$id || $categories_row['chef']==$chef || $categories_row['id']==$chef || $categories_row['chef']==$chef2) {
                                    
$str .= $GLOBALS['Template']->load('unterkategorie'$categories_row);
                                } 
damit auch alle die Unterkategorien_1 aufgerufen werden, die den gleichen "Chef" haben, wie die Unterkategorie_1, deren Unterkategorie_2 angeklickt wurde.

Fehlt nur mehr eine Lösung für den Admin-Bereich!

  #14  
Alt 05.07.2004, 20:03
Ste Ste ist offline
Mitglied
 
Registriert seit: 06.2004
Ort: Bolzano (I)
Beiträge: 50
super, war gerade genau an der stelle am werkeln denn da hatte ich den Fehler vermutet, man sieht ich lag richtig, du warst schneller

Was den Admin Beriech angeht, ich habe mir folgendes überlegt.

1. die Kategorie Position wird automatisch "desc" vergeben
das ist schlecht, den nach dem obigen weisst du ja, das die Positionierung wichtig ist, das heisst man muss bei jeder Kategorie noch eine Positionierungs möglichkeit festlegen können und natürlich einen Überblick wo die anderen Kategorien sind
2. Bei dem Erstellen der Kategorien werden nur Hauptkategorien aufgelistet (scroll down Menü),
3. fast wie 1. man braucht eine Überischt um das ganze zu ändern

  #15  
Alt 05.07.2004, 20:39
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
Zu 2.: Das ist noch relativ leicht zu ändern: In inc/admin.class.php sieht meine function categorymakeselect jetzt so aus:
PHP-Code:
    function categoriesmakeselect($data$intro 0$indent false)
    {
        
$array = array();
        if (
$intro == 0) {
            
$array['values'][] = "0";
            
$array['options'][] = "no subordination";
        }
        if (
$intro == 2) {
            
$array['values'][] = "0";
            
$array['options'][] = "Search all categories";
        }
        if (
$intro == 3) {
            
$array['values'][] = "0";
            
$array['options'][] = "All categories";
        }
        if (
count($data)) {
            foreach(
$data AS $key => $value) {
                
$array['values'][] = $value['id'];
                if (
$value['type'] == "1") {
                    
$array['options'][] = "&gt; " $value['name'];
                }
                if (
$value['type'] == "2") {
                    
$array['options'][] = "&gt;&gt; " $value['name'];
                } 
          if (
$value['type'] == "0") {
                    
$array['options'][] = $value['name'];
                }
            }
        }
        return 
$array;
    } 
und die function getcategories habe ich folgendermaßen erweitert:
PHP-Code:
    function getcategories($type "all"$not ""$fields='')
    {
        if (
$type == "no") {
            return;
        }
        
$categories $GLOBALS['Sql']->getdata(sprintf("SELECT %s FROM %s %s %s ORDER BY position",
                !empty(
$fields) ? $fields 'id,name,type,chef,position',
                
SQL_PREF SQL_TBL1,
                (
$type == "main") ? "WHERE type='0'" "",
          (
$type == "cat") ? "WHERE type='0' or type='1'" "",
                (!empty(
$not)) ? "AND id!='" $not "'" ""));

        return 
$categories;
    } 
Wenn du dann noch in der function categories_new die Variable $data folgendermaßen änderst:
PHP-Code:
$data $this->categoriesmakeselect($this->getcategories("cat")); 
dann ist dieses Problem gelöst.

Das Problem fängt jetzt aber an: wie teile ich in der function categories_new mit, dass die gewählte Unterkategorie_1 eine Unterkategorie ist und "type" demzufolge auf "2" zu setzen ist?
Dann sind wir bei deinem Punkt 1., denn auch beim Anlegen wird eine Positionierung vergeben, bei der alle anderen betroffenen Kategorien eine andere Ordnungszahl bekommen müssen. Nur wie?

  #16  
Alt 05.07.2004, 22:07
Benutzerbild von Philipp Gérard
Zeitdenken
 
Registriert seit: 09.2003
Ort: Wien
Beiträge: 832
Nix, ich misch mich hier erst ein, wenn ihr nicht mehr weiterkommt. So lernt ihr a) PHP und b) den X-Mentor kennen. Klar, das kostet mehr Zeit, aber dafür muss ich nicht mehr den Kindergärtner spielen :-)

Weiter so!

__________________
Philipp Gérard
Gewöhnliche Menschen denken nur daran, wie sie ihre Zeit verbringen. Ein intelligenter Mensch versucht sie zu nützen. - Arthur Schopenhauer
  #17  
Alt 05.07.2004, 22:16
Ste Ste ist offline
Mitglied
 
Registriert seit: 06.2004
Ort: Bolzano (I)
Beiträge: 50
@Phillip Anders gesagt, "Im Tv kommt eine spannende Serie" oder "das Buch hier ist viel zu interessant um es wegzulegen"

@lotsch ich schau mir das mal morgen an

  #18  
Alt 06.07.2004, 07:26
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
@Philip: Na gut, Herr Lehrer, dann quälen wir uns halt weiter ... ;o)

Die function categories_new habe ich gestern soweit geändert, dass Unterkategorien_2 angelegt werden können. Einziger Schönheitsfehler: Sie werden nicht nach, sondern vor den bereits bestehenden eingeordnet. (->Lösungsvorschläge?)
PHP-Code:
    function categories_new()
    {
        if (!
$GLOBALS['User']->checkaccess(false3)) {
            return 
$this->error(3);
        }
        if (!isset(
$_POST['ignore_new'])) {
            
$array $_POST;
            (!isset(
$array['name'])) ? $array['name'] = "" "";
            (!isset(
$array['link'])) ? $array['link'] = "" "";

            
$data $this->categoriesmakeselect($this->getcategories("cat"));
            
$array['list'] = $this->HtmlSelect("chef"$data['options'], $data['values'], (isset($_POST['chef'])) ? $_POST['chef'] : "");
            
$array['page_title'] = "Create a new category";
            
$array['action'] = "categories_new";
            
$array['visible'] = "checked";
            return 
$GLOBALS['Template']->load('categories_edit'$arrayTPL_ROOT_A);
        }

        
$array $_POST;
        
$fields = array('name' => ".+",
            );
        if (
Formvalidate::validate_form_data($fields$_POST) == true) {
            return 
$this->error("1");
        } else {
         if (!empty(
$_POST['chef'])) {
         
$cheftype $GLOBALS['Sql']->getData(sprintf("SELECT type FROM %s %s",
              
SQL_PREF SQL_TBL1,
              
"WHERE id='" $_POST['chef'] . "'"));
                 if (
$cheftype[0]['type'] == "1") {
                
$array['type'] = 2;
              }
              else {
                
$array['type'] = 1;
                 }
         }
         else {
              
$array['type'] = 0;
         }
/*
          $array['type'] = (!empty($_POST['chef'])) ? 1 : 0;
*/
            

            
$position $GLOBALS['Sql']->getData(sprintf("SELECT position FROM %s %s LIMIT 1",
                    
SQL_PREF SQL_TBL1,
                    (
$array['type'] == 0) ? "ORDER by position desc" "WHERE chef='" $_POST['chef'] . "' ORDER by position desc"
                    
));
            if (!
$GLOBALS['Sql']->rows && $array['type'] == || $array['type'] == 2) {
                
$position $GLOBALS['Sql']->getData(sprintf("SELECT position FROM %s %s LIMIT 1",
                        
SQL_PREF SQL_TBL1,
                        
"WHERE id='" $_POST['chef'] . "' ORDER by position desc"
                        
));
            }

            if (isset(
$position[0]['position'])) {
                
$array['position'] = $position[0]['position'] + 1;
            } else {
                
$array['position'] = 1;
            }
            
$GLOBALS['Sql']->query(sprintf("UPDATE %s SET position=position+1 WHERE position>%d"SQL_PREF SQL_TBL1$position[0]['position']));
            
$GLOBALS['Sql']->INSERT($arraySQL_PREF SQL_TBL1);
            return 
Admin::message(5);
        }
    } 
Heute abend schaue ich mir dann die functions "_edit", "_up" und "_down" an!

  #19  
Alt 06.07.2004, 12:03
Ste Ste ist offline
Mitglied
 
Registriert seit: 06.2004
Ort: Bolzano (I)
Beiträge: 50
Wahnsinn das klappt jetzt alles, man muss halt nur nachdem man eine Unter-Unterkategorie erstellt hat, im Menüpunkt "Kategorien" mit den Pfeiltasten die postion bestimen, ich habe mal die admin templates angepasst, damit das Menü Übersichtig ist.

Edit: ich sehe gerade was du mit dem Up und down meinst
Angehängte Dateien
Dateityp: zip templates.zip (1,3 KB, 109x aufgerufen)


Geändert von Ste (06.07.2004 um 17:02 Uhr).
  #20  
Alt 06.07.2004, 23:58
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
FERTIG ... bei mir funktioniert es jetzt tadellos! Bitte downloaden und testen und - falls was doch nicht klappen sollte - melden!

EDIT: Sorry, bin gerade noch auf einen Fehler draufgekommen ... Ich muss mir das Ganze heute noch mal ansehen. Vielleicht kann mir ja jemand helfen, denn momentan blicke ich nicht durch. Es geht um folgenden Teil in den - von mir bereits erweiterten - functions category_up und _down
PHP-Code:
     if ($data['type'] == "0") {
            
// An welche Position soll das ganze eigentlich verschoben werden?
            
$data2 $GLOBALS['Sql']->getdata(sprintf("SELECT id,position,chef FROM %s WHERE type='0' AND position<'%d' ORDER by position DESC LIMIT 1",
                    
SQL_PREF SQL_TBL1,
                    
$data['position']));
            
$data2 $data2[0];
            
// print_r($data2);
            // Wie viele Subcategories hat die zu verschiebene Kategorie?
            
$GLOBALS['Sql']->getdata(sprintf("SELECT id FROM %s WHERE chef='%d'",
                    
SQL_PREF SQL_TBL1,
                    
$data['id']));
            
$step_down $GLOBALS['Sql']->rows() + 1;
            
// print "step down: ".$step_down;
            // Jetzt wird die oberhalb liegende Main Kategorie (und ihre Subs) um $step_down nach unten verschoben
            
$GLOBALS['Sql']->query(sprintf("UPDATE %s SET position=position+%d WHERE chef='%d' OR id='%d'",
                    
SQL_PREF SQL_TBL1,
                    
$step_down,
                    
$data2['id'],
                    
$data2['id']));
            
// Wie viele Subcategories hat die gerade verschobene Kategorie?
            
$GLOBALS['Sql']->getdata(sprintf("SELECT id FROM %s WHERE chef='%d'",
                    
SQL_PREF SQL_TBL1,
                    
$data2['id']));
            
$step_up $GLOBALS['Sql']->rows() + 1;
            
// print "<br>step up: ".$step_up;
            // Jetzt wird die Main Kategorie (und ihre Subs) um $step_up nach oben verschoben
            
$GLOBALS['Sql']->query(sprintf("UPDATE %s SET position=position-%d WHERE chef='%d' OR id='%d'",
                    
SQL_PREF SQL_TBL1,
                    
$step_up,
                    
$data['id'],
                    
$data['id']));
        } 
Für type=="2" und "1" funktioniert es ja bestens mit dem Vorhandenen. Das Problem bei type=="0" ist, dass ich bei jeder Subkategorie(1) die ich mitverschiebe auch abfragen muss, wie viele Subkategorien(2) sie hat. Nur, wie bringe ich das Ergebnis, das ja aus beliebig vielen Kategorien und damit auch beliebig vielen "chef"- und "id"-Werten bestehen kann in eine DB-Abfrage wie diese?:
PHP-Code:
            $GLOBALS['Sql']->query(sprintf("UPDATE %s SET position=position+%d WHERE chef='%d' OR id='%d'",
                    
SQL_PREF SQL_TBL1,
                    
$step_down,
                    
$data2['id'],
                    
$data2['id'])); 


Geändert von lotsch (07.07.2004 um 08:38 Uhr).
  #21  
Alt 07.07.2004, 18:51
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
So, jetzt aber! Nun sollte alles funktionieren! Viel Spaß beim Testen!
Angehängte Dateien
Dateityp: zip subkategorien_hack_xm125_by_lotsch.zip (4,4 KB, 211x aufgerufen)

  #22  
Alt 08.07.2004, 14:44
Ste Ste ist offline
Mitglied
 
Registriert seit: 06.2004
Ort: Bolzano (I)
Beiträge: 50
habe es runtergeladen und werde es testen. danke

  #23  
Alt 27.07.2004, 19:54
Gast
Gast
 
Beiträge: n/a
Klasse, funktioniert! Vielen Dank.

  #24  
Alt 02.08.2004, 20:21
Gast
Gast
 
Beiträge: n/a
Zitat:
Template konnte nicht geladen werden: '/www/htdocs/v120486/xmentor/admin/tpl/pages_row_2.tpl' Fehlendes Template wurde in der Datei '/www/htdocs/v120486/xmentor/inc/template.class.php' in Zeile '60' verlinkt. Template konnte nicht geladen werden: '/www/htdocs/v120486/xmentor/admin/tpl/pages_row_2.tpl' Fehlendes Template wurde in der Datei '/www/htdocs/v120486/xmentor/inc/template.class.php' in Zeile '60' verlinkt. Template konnte nicht geladen werden: '/www/htdocs/v120486/xmentor/admin/tpl/pages_row_2.tpl' Fehlendes Template wurde in der Datei '/www/htdocs/v120486/xmentor/inc/template.class.php' in Zeile '60' verlinkt.
Diese Fehlermeldung kommt beim Aufrufen der Artikelübersicht!

  #25  
Alt 14.08.2004, 23:53
Mitglied
 
Registriert seit: 07.2004
Beiträge: 40
Das muss ich wohl vergessen haben, sorry! Dieses Template musst du natürlich auch noch anlegen mit in etwa folgendem Inhalt:
Code:
                <tr>
                  <td bgcolor="#FFFFFF">&nbsp;</td>
                  <td bgcolor="#FFFFFF">&nbsp;</td>
                  <td bgcolor="#FFFFFF">&middot; {title}</td>
                  <td bgcolor="#F1F1F1" width="40%" align="center">
			<a href="index.php?page=pag&sid={sid}&amp;action=pages_up&amp;id={id}"><img src="img/up.gif" alt="Move upwards" title="Move upwards" border="0" /></a> &middot; 
			<a href="index.php?page=pag&sid={sid}&amp;action=pages_down&amp;id={id}"><img src="img/down.gif" alt="Move downwards" title="Move downwards" border="0" /></a> &middot; 
			<a href="index.php?page=pag&amp;action=pages_info&amp;sid={sid}&amp;id={id}"><img src="img/info.gif" alt="Article information" title="Article information" border="0" /></a> &middot; 
			<a href="index.php?page=pag&amp;action=pages_publish&amp;sid={sid}&amp;id={id}"><img src="img/status_{status}.gif" alt="{publish_title}" title="{publish_title}" border="0" /></a> &middot; 
			<a href="index.php?page=pag&amp;action=pages_setindex&amp;sid={sid}&amp;id={id}"><img src="img/index_{index}.gif" alt="Set as start article of this category" title="Set as start article of this category" border="0" /></a> &middot; 
      		       <a href="index.php?page=pag&amp;action=comments_list&amp;sid={sid}&amp;id={id}"><img src="img/comments.gif" alt="Edit comments" title="Edit comments" border="0" /></a> &middot;
      			<a href="index.php?page=pag&amp;action=pages_edit&amp;sid={sid}&amp;id={id}"><img src="img/edit.gif" alt="Edit" title="Edit" border="0" /></a> &middot; 
			<a href="index.php?page=pag&amp;action=pages_delete&amp;sid={sid}&amp;id={id}"><img src="img/delete.gif" alt="Delete" title="Delete" border="0" /></a></td>
                </tr>

 



Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ZEITDENKEN - die Dritte. Philipp Gérard Projektvorstellung und Bewertung 12 04.02.2005 17:20
CMS ohne (!) Kategorien aber mit individuellen Newsbildern Wolfgang Blog, CMS, Wiki und Sonstige 2 08.05.2004 08:28






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25