Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

[gelöst] Darstellung eines Monats mittels calendar module

Eingetragen von cpritz (91)
am 11.01.2013 - 16:39 Uhr in
  • Themes & Theming
  • Drupal 7.x

Ich möchte gerne eine Monatsansicht erstellen, in der die Tage alle in einer Reihe angezeigt werden. Die Abkürzungen der Wochentage sollen jeweils darunter stehen. Hat jemand eine Idee, wie ich das bewerkstelligen kann? Bei Klick auf einen Tag sollen die Events für diesen Tag angezeigt werden.

‹ [gelöst] Button CSS Class ändern [gelöst] Darstellung eines Monats mittels calendar module ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Kalender Modul bringt dir

Eingetragen von SteffenR@drupal.org (2262)
am 11.01.2013 - 18:38 Uhr

Das Kalender Modul bringt dir einige Theme-Dateien mit, diese kannst du in deinem eigenen Theme überschreiben - so könntest du dann die von dir gewünschte Ausgabe hinbekommen. Wird halt ein bissel Handarbeit - aber machbar ist das..

Du findest die Theme Dateien im Ordner theme des Kalender Moduls.

Wieso möchtest du denn nicht die bekannte Standardansicht eines Kalenders verwenden ? Die ist ja eigentlich jedem Nutzer geläufig.

Die Anzeige der Events zu einem Tag, könntest du dann über einen View realisieren, der einen Contextual Filter auf den jeweiligen Tag hat.

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Themeanpassung im Kalender Modul

Eingetragen von cpritz (91)
am 12.01.2013 - 11:13 Uhr

Hallo SteffenR,

vielen Dank für den Hinweis. Ich hatte auch schon mit den Theme-Dateien herum gespielt. Dabei ist mir nicht klar, wie ich die Wochentage den eigentlichen Tagen zuordnen kann. Ich hatte mir die Mini-Kalender-Ansicht (Block) angeschaut. Hast du vielleicht spontan eine Idee, ob es eine entsprechende Funktion im Modul gibt, die dies erledigt?

cpritz

  • Anmelden oder Registrieren um Kommentare zu schreiben

Überschreiben des Template calendar.mini.tpl.php

Eingetragen von cpritz (91)
am 10.05.2013 - 10:03 Uhr

Hier das überschriebene Template:

<?php
/**
* @file
* Template to display a view as a mini calendar month.
*
* @see template_preprocess_calendar_mini.
*
* $day_names: An array of the day of week names for the table header.
* $rows: An array of data for each day of the week.
* $view: The view.
* $min_date_formatted: The minimum date for this calendar in the format YYYY-MM-DD HH:MM:SS.
* $max_date_formatted: The maximum date for this calendar in the format YYYY-MM-DD HH:MM:SS.
*
* $show_title: If the title should be displayed. Normally false since the title is incorporated
*   into the navigation, but sometimes needed, like in the year view of mini calendars.
*
*/
//dsm('Display: '. $display_type .': '. $min_date_formatted .' to '. $max_date_formatted);dsm($day_names);
$params = array(
 
'view' => $view,
 
'granularity' => 'month',
 
'link' => FALSE,
);
?>

<div class="calendar-calendar"><div class="month-view">
<?php if ($show_title): ?>
<div class="date-nav-wrapper clear-block">
  <div class="date-nav">
    <div class="date-heading">
      <?php print theme('date_nav_title', $params) ?>
    </div>
  </div>
</div>
<?php endif; ?>

<table class="mini">
  <thead>
    <!--<tr>
      <?php //foreach ($day_names as $cell): ?>
        <th class="<?php //print $cell['class']; ?>">
          <?php //print $cell['data']; ?>
        </th>
      <?php //endforeach; ?>
    </tr>-->
  </thead>
  <tbody>
<tr cellpadding="5">
<?php $classnames = array();
           
$classelements = count($classnames);
           
$counter = 0;   
       
?>

<?php foreach ((array) $rows as $row): ?>
    
        <?php foreach ($row as $cell): ?>
<?php
                $classnames
[] = $cell['class'];
                 
$dayname = substr($classnames[$counter], 0, 3);
               
$dayempty = substr($classnames[$counter], 9, 5);
               
$hasevents = substr($classnames[$counter], -13);
           
?>

<?php if($dayempty != "empty" && $hasevents == "has-no-events"){ ?>
<td class="dayname <?php print("has-no-events"); ?>">
<?php }elseif($dayempty != "empty"){ ?>
<td class="dayname <?php print("events"); ?>">
<?php } ?>
<?php
               
if($dayempty != "empty"){
                   
$weekdayname = t('@weekdayname', array('@weekdayname' => $dayname));
                    switch(
$weekdayname){
                        case
"mon":
                            print(
t('mo'));
                            break;
                        case
"tue":
                            print(
t('tu'));
                            break;
                        case
"wed":
                            print(
t('we'));
                            break;
                        case
"thu":
                            print(
t('th'));
                            break;
                        case
"fri":
                            print(
t('fr'));
                            break;
                        case
"sat":
                            print(
t('sa'));
                            break;
                        case
"sun":
                            print(
t('su'));
                            print(
"<span class='divider'></span>");
                            break;
                    }
                }
           
?>

</td>
<?php
                $counter
++;
       
?>

 
        <?php endforeach; ?>

     
    <?php endforeach; ?>
</tr>
<tr cellpadding="5" class="calendar-days">
 
  <?php $classnames = array();
           
$classelements = count($classnames);
           
$counter = 0;   
       
?>


<?php foreach ((array) $rows as $row): ?>
    
        <?php foreach ($row as $cell): ?>

<?php
                $classnames
[] = $cell['class'];
                 
$dayname = substr($classnames[$counter], 0, 3);
               
$dayempty = substr($classnames[$counter], 9, 5);
               
$hasevents = substr($classnames[$counter], -13);
       
?>


<?php if($dayempty != "empty"){ ?>
          <td id="<?php print $cell['id']; ?>" class="<?php print $cell['class']; ?>">
          <?php print $cell['data']; ?>
          </td>
<?php
           
}
           
$counter++;
       
?>

 
        <?php endforeach; ?>

     
    <?php endforeach; ?></tr>
  </tbody>
</table>
</div></div>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 4 Wochen 14 Stunden
  • Vielen Dank für Ihren
    vor 4 Wochen 3 Tagen
  • Composer ist sehr ratsam
    vor 4 Wochen 5 Tagen
  • Vielen Dank für den
    vor 5 Wochen 17 Stunden
  • Die alten CMS Vergleiche von contentmanager.de
    vor 5 Wochen 1 Tag
  • Gut gemacht
    vor 5 Wochen 1 Tag
  • Layout Builder etc. z.B. für Landing Pages
    vor 5 Wochen 1 Tag
  • Links
    vor 5 Wochen 3 Tagen
  • Moin,wow, sehr gutes
    vor 5 Wochen 4 Tagen
  • Dass ist eine spannende
    vor 5 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250316
Registrierte User: 20566

Neue User:

  • Robertspaft
  • drupalthemes
  • rofilm

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 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