Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Termine eines Monats anzeigen als Liste aber ohne Kalendermodul aber mit Tagen ohne Termin

Eingetragen von MoSaG (34)
am 30.10.2009 - 18:02 Uhr in
  • Views
  • Drupal 6.x

Hallo zusammen,

ich verzweifle gerade etwas, ich soll eine Terminübersicht für eine Teilnehmerliste basteln, die nicht mit dem Standard Calendar-Modul umzusetzen ist (glaube ich jedenfalls, hab mich auch schon dran versucht).

Es sollen sich User für 1 bis n Tage eintragen können, das ganze auch noch auf bestimmte Stunden voreingestellt und für einen bestimmten Ort.

Beispiel: User A möchte vom 1. Nov. 2009 ab 5 Uhr bis zum 2. Nov. 2009 bis 21 Uhr im Ort Pusemuckel teilnehmen

Es gibt 3 feste Orte und drei feste Zeiten (5-13, 13-21 und 21-5) und genau so soll nacher die Tabelle aussehen
Kalenderwoche | Wochentag | (Ort A) Zeit1 | Zeit2 | Zeit3 | (Ort B) Zeit1 | Teit2 | Zeit3 | (Ort C) ... |

Der Name des Users würde dann jetzt beim betreffenden Ort und der betreffenden Zeit stehen. Und zwar für den Zeitraum wie er sich eingetragen hat.

Ich könnte jetzt fragen "wie macht man das?" ;)) aber ein bissel will ich ja noch selbst tun.

Für den Anfang wäre mir schon geholfen, wenn es eine Möglichkeit gäbe, für einen Zeitraum den der User im Frontend auswählen kann (also per hervorgehobenem Filter), eine Liste mit Tagen zu generieren (untereinander laufend), wo nur der Tag je Zeile stehen würde (zB 1. November, 2. usw) und dort, wo es einen Node gibt, wird dann der Username eingetragen. Bis jetzt werden nur Daten ausgegeben, wo es auch Nodes zu gibt, aber eben keine leeren Einträge.

Kann man das mit Views anlegen?

Im Prinzip ist es ja das Calendar Modul, aber die Ansicht die ich brauchen könnte (Monat) lässt sich dank Tabellendesign nicht so einfach umschreiben, da müsste ich dann in die theme.inc und ich bin leider kein Profi in php und noch Beginner in drupal.

Bin für jede Hilfe dankbar.

‹ CCK oder Webform Anfängerfrage Bezeichnung vor z.B. FAxnummer nur anzeigen, wenn Faxnummer auch vorhanden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

ich würde mit CCK 2 Felder

Eingetragen von sklausing (288)
am 03.11.2009 - 14:50 Uhr

ich würde mit CCK 2 Felder definieren. Eins für die Orte und eins für die Zeiten. Beide sind ja von Dir fest vorgegeben.

Dann kannst Du jeweils die einzelnen Kombinationen in Views abfragen. Bei der genauen Organisation der Tabelle könnte dann ein entsprechend gebasteltes template oder CSS helfen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kalender-Woche und

Eingetragen von stebeg (463)
am 03.11.2009 - 15:06 Uhr

Kalender-Woche und Wochen-Tag könnte man mit Hilfe des Date-Moduls und CCK und der entspechenden Datumsformatierung lösen. Gibt vielleicht noch die ein oder andere Frage, deren Antwort die Gesamtlösung verkomplizieren könnte, z. Bsp. ob sich die Benutzer an einem Tag von mehrere Zeiträume eintragen können und sowas.

  • Anmelden oder Registrieren um Kommentare zu schreiben

danke für Eure Antworten,

Eingetragen von MoSaG (34)
am 03.11.2009 - 19:21 Uhr

danke für Eure Antworten, ich musste mir leider ganz anders helfen.

Wenn es nicht so ein dirty-hacking und spezieller Anwendungsfall wäre, würde es sich auch lohnen es hier zu veröffentlichen, aber es ist mir zu peinlich ;)
Kurzgesagt habe ich die template.inc vom Calendar "gehackt" und mir die Monatsausgabe so umgebogen, dass das rauskommt was ich brauche und musste dann "nur noch" das Template vom Monat ganz fies umstricken, dass es genauso aussieht wie die Vorlage, die ich als Worddatei bekommen habe, es sieht also gar nicht mehr aus wie ein Kalender ;) und hätte ich nur mehr Ahnung von der drupal-Programmierung hätte ich mir glaube ich den Schritt über den Kalender geklemmt.

Wenn ich die Muße haben und mich mit der Programmierung von drupal weiter beschäftigen sollte, schreibe ich vielleicht mal ein Modul dazu, wäre dann so eine Art Zeitreservierung ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

och immer her damit, als

Eingetragen von sklausing (288)
am 03.11.2009 - 21:39 Uhr

och immer her damit, als Anfänger kann man selbst aus Deinem "dirty-hacking" noch was lernen und wer weiß vielleicht spendiert ja einer der Profis hier noch den entscheidenden Tip.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Spezial-Kalender-Formate

Eingetragen von Franz (225)
am 03.11.2009 - 23:24 Uhr

Ich bin mal relativ weit mit "views" gekommen, damit gehen tatsächlich erstaunlich flexible Formatierungen. Ist aber ein Geduldsspiel, wenn man noch nicht drin steckt. Es lohnt sich, dazu die views/date/calender-Videos anzusehen.

Das was Du "andeutest", geht beim nächsten Versionssprung vermutlich flöten; mit views hat man mehr Chancen auf einen Upgrade-Pfad denke ich.

Gut wenn Du schnell einen "Workaround" hast, aber besser Du suchst jetzt noch (in aller Ruhe) eine zukunftssicherere Lösung.

--
http://amazonas.the-dot.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

ok, wenn ich "durch bin",

Eingetragen von MoSaG (34)
am 04.11.2009 - 11:27 Uhr

ok, wenn ich "durch bin", werd ich das was ich habe hier veröffentlichen.

Ich habe das Date-Modul und das Calendar-Modul zusätzlich zu CCK und Views installiert (und noch Prepopulate und Auto Title, u.a.). Nur die Ansichten die mir das Calender-Modul gibt sind so starr, d.h. man hat eine fixe Jahresansicht, Monatsansicht, Tagesansicht und kann dort maximal die Farben, Schriften usw. ändern, aber zB nicht die Reihenfolge der Felder.

Im Moment sieht mein überarbeitetes Template so aus (ich glaube nicht, dass sich noch etwas garvierendes ändern wird):
Calendar

Und was das "in aller Ruhe" angeht: geht leider nicht, ich habe eh schon mit der Zeit überzogen die geplant war, da kann ich jetzt leider nicht mehr schauen, ob ich es noch kompatibler hinbekomme (wäre mir ja auch lieber, wenn ich es universeller hinbekommen hätte).

Allerdings soll die Geschichte eh in einem geschlossenen Umfeld ablaufen, das man nur mit Zugangsdaten erreichen können und das zu keiner Zeit öffentlich angezeigt werden soll. D.h. ich werde dort auch keine Updates einspielen etc, wenn es einmal installiert ist und läuft, dann fass ich es nicht mehr an ;) (es sei denn der Kunde wünscht Erweiterungen und zahlt dann auch erneut dafür).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier meine Modifikationen

Eingetragen von MoSaG (34)
am 04.11.2009 - 13:16 Uhr

ok, hier das noobige Gehackte ;) Bitte nicht lachen ;) Man kann sicherlich an 100-Stellen vereinfachen/verbessern ... wer sich die Arbeit machen will, gerne ;)

Als Inhaltstyp hab ich den Datum-Typ ergänzt um das Feld Kreis (Text als Auswahl) und eine Start- und ein Ende-Feld für die Zeiten (ebenfalls Text als Auswahl, Gruppiert unter Uhrzeiten).

Installierte Module: cck, views, calendar, prepopulate, automatic nodetitles, date (hoffe ich habe nichts notwendiges vergessen)

In der Datei: /calendar/theme/theme.inc
habe ich folgende Funktion umgeschrieben/ergänzt: template_preprocess_calendar_month

die folgende Zeile habe ich auskommentiert, weil ich keine leeren Zellen wollte

        //$data .= $cell['empty'];

den else-Block hab ich komplett meinen Bedürfnissen angepasst

      if ($view->date_info->mini) {
        $month_rows[$weekno][$day]['data'] = $data;
      }
      else {
// wenn Inhalt vorhanden
if ($data) {
  // doppelte Leerzeichen, Tags entfernen
  $data=strip_tags($data);
  $data=utf8_decode($data);
  $data=preg_replace('%[^a-z0-9öäüß-]%siU',' ',$data);
  $data=utf8_encode($data);
  $data=ltrim($data);
  $data=rtrim($data);
  $data=ereg_replace(" +"," ",$data);
        $month_rows[$weekno][$day]['data'] = $data;
        }
        // leere Felder nicht ausgeben
        else { $month_rows[$weekno][$day]['data'] = ''; }
      }

was passiert nun: die Daten aus dem theme.inc werden jetzt als SPACE-separierte Daten geliefert und landen in "data", anhand des Styles "class" wo dann week oder has-events drin steht, wird dann weiterverarbeitet, d.h. alle nodes werden daraus ausgelesen und die einzelnen Daten an bestimmten Stellen abgefragt (ich würde Wochen brauchen, um jeden Schritt zu erläutern ;))
Eine Zeile könnte zB so aussehen:
[data] => 1 user-admin 01 11 2009 - 02 11 2009 13-21h 21-05h Südkreis 9 user-Jens 01 10 2009 - 10 11 2009 21-05h 05-13h Nordkreis 12
wird dann an den "user-"-Markern getrennt und weiterverarbeitet. Hier gäbe es jetzt 2 User in 2 Kreisen zu verschiedenen Zeiten.
Beispielaufbau nach dem Trennen der User
[0] => admin (User)
[1] => 01 (Starttag)
[2] => 10 (Startmonat)
[3] => 2009 (Startjahr)
[4] => - (Datum Trenner, wenn mehr als 1 Tag)
[5] => 10 (Endtag)
[6] => 11 (Endmonat)
[7] => 2009 (Endjahr)
[8] => 21-05h (Startzeit
[9] => 05-13h (Endzeit)
[10] => Nordkreis (Kreis)
[11] => 13 Node

Jedenfalls wird in jeder Zelle überprüft ob ein oder mehr User sich zu dem Zeitraum eingetragen haben oder nicht und entweder wird der Name ausgegeben oder ein + jeweils verlinkt mit Neu-Erstellen und Bearbeiten.
Im Prinzip sind die Abfragen in den Zellen doppelt-gemoppelt, man könnte wahrscheinlich eine schöne Funktion schreiben um den Quelltext etwas zu reduzieren und nur an einer Stelle zu werkeln, aber wie gesagt, ich hab eigentlich schon keine Zeit mehr für das Projekt.
Es ist mir auch klar, dass man das Ganze besser in der theme.inc oder anderswo, jedenfalls nicht in der Templatedatei geschrieben hätte, aber wie gesagt keine Zeit und keinen großen Plan von drupal/php-Programmierung.

hier das Template dazu
calendar-month.tpl.txt (.txt später in .php umbenennen)
und die view
date-view.txt

Ich übernehme keine Garantie, dass es woanders genauso funktioniert wie bei mir ;) Testen auf eigene Gefahr.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ветошь для протирки оборудования
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 5 Tagen
  • Hey danke
    vor 2 Wochen 5 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 1 Tag
  • In der entsprechenden View
    vor 4 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 1 Tag
  • gelöst
    vor 6 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250234
Registrierte User: 20455

Neue User:

  • JoMek
  • Znogsnernoimb
  • ByteScrapers

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 21 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association