top of page
Logo der Online Agentur mdwp

Eine Firmen Website mit Drupal erstellen - Teil 3

Drupal Tutorial

So,  kommen wir endlich zum dritten und leider nicht letzten Teils unseres  Tutorials. Es gibt einfach so viel zu beschreiben. Teil 1 und 2 finden  Sie hier:Teil 1 Teil 2Der wichtigste Bereich für ein  Bistro im Web ist wahrscheinlich der Speiseplan. Um den wollen wir uns  jetzt kümmern. Wir kommen damit an einen Punkt, an dem wir mit dem  Drupal Core nicht mehr auskommen. Zusätzliche Module werdn benötigt.Für  einen Speiseplan gibt es zwei Probleme, die wir mit den Hausmitteln von  Drupal nicht lösen können: 1. Die Erfassung der Gerichte. 2. Die  Anzeige der Gerichte der aktuellen Woche oder auch des aktuellen Tages.Das  soll mit Hausmitteln nicht zu lösen sein, wird sich jetzt mancher  fragen? Man könnte doch einfach einen neuen Node erfassen im Titel das  Datum eingeben und im Body Feld einfach untereinander die Tagesgerichte  rein schreiben. Oder noch besser, erst einen neuen Inhaltstyp  “Tagesgericht” anlegen und mit diesem dann einfach für jeden Tag neue  Gerichte erfassen.Klar, das geht selbstverständlich und mit  einem Wysiwyg-Editor könnten Sie das noch schön strukturieren. Dann  jeweils die Tagesgerichte für den aktuellen Tag auf die Frontpage  promoten, auf ‘Oben in Listen’ setzen (haben wir im ersten Teil  beschrieben) und fertig wäre das Ganze.Es gibt zur Lösung eines  Problems immer mehrere Möglichkeiten und Sie müssen für Ihre  Anforderungen abwägen, welche Möglichkeit Ihnen am Besten gefällt. Der  Arbeitsauswand spielt auch eine Rolle und auch die Kenntnisse der  Personen, die den Speiseplan später erfassen sollen.Wir möchten  aber hier einen flexibleren Weg vorstellen, der es insbesondere  ermöglicht einen Wochen- und Tageskalender anzuzeigen.Falls Sie nicht mit Acquia Drupal arbeiten, laden Sie sich jetzt folgende Module herunter:CCK Calendar Date ViewsOhne  die Module CCK und Views können sie nur trivialste Sites in Drupal  erstellen und verwalten. Date und Calendar brauchen wir für unseren  Speiseplan, um das aktuelle Datum für ein Tagesgericht zu erfassen,  Calendar um unseren Speiseplan automatisiert für die aktuelle Woche  ausgeben zu lassen.Klicken Sie jetzt auf SITE BUILDING - MODULES  - LIST und aktivieren für das CCK die Submodule CONTENT und TEXT, für  DATE/TIME die Submodule CALENDAR, DATE, DATE API, DATE POPUP und DATE  TIMEZONE und dann noch VIEWS und VIEWS UI.Diese Vorgehensweise  ist häufig nötig, wenn Sie neue Module für Drupal installieren.  Zusätzlich zum eigentlichen Hauptmodul können oder müssen sie manchmal  weitere Submodule aktivieren. Auf Abhängigkeiten werden Sie hingewiesen.Zur  Erfassung eines Gerichts werden wir jetzt einen neuen Inhaltstypen  erzeugen und um ein Datumsfeld erweitern. Schauen Sie sich vorher einmal  den Inhaltstype Page oder Artikel an. Sie sehen, dass die Standard  Inhaltstypen von Drupal immer über zwei Felder verfügen: Titel und Body.  Auch wenn Sie weitere Inhaltstypen z.B. für unser Tagesgericht  erzeugen, stehen Ihnen nur diese beiden Felder zur Verfügung.Durch  die Installation vom CCK - steht für Content Construction Kit - haben  wir jetzt aber die Möglichkeit beliebige Felder, auch sehr spezielle wie  ein Datumsfeld, unserem Inhaltstyp hinzuzufügen.Erzeugen sie  jetzt einen neuen Inhaltstyp indem Sie CONTENT MANAGEMENT - CONTENT  TYPES - ADD CONTENT TYPE aufrufen. Geben Sie als Name z.B.  “Tagesgericht” ein und als Type “tagesgericht”. Klicken Sie dann auf  SUBMISSION FORM SETTINGS und geben dort die Werte wie im folgenden  Screenshot ein:Warum haben wir das Feld “Body” freigelassen?  Nun, für unser Tagesgericht benötigen wir kein großes Textfeld. Wir  brauchen den Namen des Gerichts, das Datum und einen Preis. Außerdem ist  es grundsätzlich empfehlenswert in einem eigenen Inhalstyp mit neuen  CCK Feldern, auf das Body Feld zu verzichten und auch für längere  Fließtexte ein eigenes Feld zu erzeugen. Die dahinter liegende  Datenstruktur wird so sauberer.Deaktivieren Sie unter WORKFLOW  SETTINGS “Promote to front” und deaktivieren Sie die Möglichkeit  Kommentare zu hinterlassen. Das könnte für ein Restaurant zwar ganz  interessant sein, dass Gäste die Speisen kommentieren können, aber wir  lassen das hier mal.Speichern Sie den neuen Inhaltstyp jetzt ab. Danach sehen Sie diese Seite:Klicken Sie dort bei Tagesgericht auf MANAGE FIELDS. Danach sehen Sie diese Eingabemaske:Wir werden jetzt unser erstes neues Feld anlegen. Und zwar zuerst für den Preis, da das Datumsfeld etwas komplexer ist.Geben  Sie unter “New field” in das Feld LABEL “Preis” ein und bei field_  “tagesgericht_preis”. Sie sollten es sich zur guten Gewohnheit machen  für die Feldnamen immer den Namen Ihres Inhaltstyp als Präfix zu  benutzen. Bei vielen Inhaltstypen und Feldern hilft das die Übersicht zu  behalten.Klicken Sie jetzt auf SELECT A FIELD TYPE. Sie sehen  dort 4 Typen, 3 für Datumswerte und einen Typ für Text. Es gibt noch  viel mehr. Feldtypen werden als eigene Module zur Verfügung gestellt und  man findet welche für jeden Zweck. So auch für Währungsformate und  Zahlen, die man sicherlich für das Feld “Preis” nehmen sollte. Wir  möchten es aber hier sehr einfach halten und benutzen einfach den Typ  TEXT. Wenn Sie dort drauf klicken wird die nebenstehende Select Box  aktiviert und Sie können zwischen Textfield und Textarea wählen. Klicken  Sie in diesem Fall auf Textfield.Auf der nächsten Seite geben Sie die Werte wie im Screenshot ein:Eine  “Maxlength” von 7 haben wir gewählt, da man so exakt Preise bis 99,99 €  erfassen kann. Und “Required” damt niemand aus versehen ein Gericht  ohne Preis erfassen kann.Legen Sie jetzt analog zur  beschriebenen Vorgehensweise ein Feld für das Datum an. Wählen Sie als  Feldtype DATE und dann “Textfield with Date Popup Calendar”. Nachdem  Speichern gelangen sie zu einer komplizierten Eingabemaske.Zuerst  können Sie einen Default Value festlegen. Da es individuell ganz  verschieden sein kann, wann Gerichte erfasst werden, setzten Sie das auf  BLANK. Der nächste Wert ist nur für zeitlich begrenzte Ereignisse  interessant. Setzen Sie den auch auf BLANK.Wichtiger ist INPUT  FORMAT. Wählen Sie hier dd.mm.jj aus. Weiter unten bei GRANULARITY  “Year, Month, Day”, vergessen Sie nicht “Required” anzuklicken, denn  ohne Datum macht das keinen Sinn. Stellen Sie noch für DEFAULT DISPLAY  “Short” ein und bei TIME ZONE HANDLING “No time zone conversions”. Da  wir als Datumstyp DATE und nicht einen der beiden anderen Datumstypen  gewählt haben, brauchen wir das hier nicht.Diese ganzen  Unterschiede von Datumstypen zu erklären, geht weit über dieses Tutorial  hinaus. Nach dem Speichern sollten Sie diese Seite sehen:Mit  den kleinen Kreuzen können Sie die beiden neuen Felder nach oben ziehen.  In der Reihenfolge erscheinen diese dann im Erfassungsformular für  Gerichte.Wenn Sie hier Felder verschieben oder andere Änderungen  vornehmen, vergessen Sie nicht zu Speichern. Erst dann sind diese  Änderungen wirklich übernommen worden.So, dann können wir jetzt  unser erstes Tagesgericht erfassen. Klicken Sie auf CREATE CONTENT -  TAGESGERICHT, geben Beispieldaten ein uns speichern.Wie wir die  Tagesgerichte auf einem Wochenkalender anzeigen, das heutige  Tagesgericht auf der Startseite anzeigen und warum wir die Nodes auf  unveröffentlicht setzen, dass erfahren Sie im vierten und letzten Teil  dieses Tutorials.Eine Firmen Website mit Drupal erstellen - Teil 4

bottom of page