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 - 15: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 - 17: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 - 10: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 - 09: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

  • 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?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20459

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 25 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