+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Easycalendar zerschießt design..

  1. #1
    Neu an Board
    Registriert seit
    06.01.2008
    Beiträge
    24
    Bedankte sich
    9
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Easycalendar zerschießt design..

    Hallo Leute,
    ich hab nen Darstellungsproblem mit dem easycalenader...
    Mit Firefox stimmt alles, mit IE7 jedoch sieht man, das der content und der navigationsbereich nicht mehr voneinander getrennt werden...
    Link zur Seite: www.srcbonn.de
    direktlink zum Kalender: http://src.feg-bonn.de/2.0/index.php...ndar&Itemid=43
    Mein Template ist "higherpalace".
    ode der easycalendar.html.php:
    PHP-Code:
    <?php
    defined
    '_VALID_MOS' ) or die( 'Restricted access' );

    class 
    HTML_easycalendar {
      
    /**
       * Show month view
       *
       * @param array $rows
       * @param int $month
       * @param int $year
       */
      
    function showMonth($rows$month$year){
        global 
    $option$mainframe$Itemid;

        
    mosCommonHTML::loadOverlib();

        
    $mainframe->addCustomHeadTag('<link href="'.$mainframe->getCfg('live_site') . '/components/com_easycalendar/easycalendar.css" rel="stylesheet" type="text/css"/>');

        
    $starttime strtotime($year '-' $month '-01 12:00:00');
        
    $endtime strtotime($year '-' $month '-'date('t'$starttime) . ' 12:00:00');

        
    $firstday date('w'$starttime);
        
    $firstday $firstday == $firstday//correct, monday as start day
        
    $lastday date('w'$endtime);
        
    $lastday $lastday == $lastday//correct, monday as start day

        
    if($firstday != 1){
          
    $first $starttime - (($firstday 1) * (60*60*24));
        } else {
          
    $first $starttime;
        }
        if(
    $lastday != 7){
          
    $last $endtime + (($lastday) * (60*60*24));
        } else {
          
    $last $endtime;
        }

        if(
    $month == 10){
          
    $last $last - (60*60*24);
        }

        
    $mainframe->setPageTitle(sprintf(EC_VIEW_MONTHstrftime('%B'$starttime), $year));
        echo 
    '<div class="componentheading">' sprintf(EC_VIEW_MONTHstrftime('%B'$starttime), $year) . '</div>';

        
    $p_month $month 1;
        
    $p_year $year;
        if(
    $p_month 1){
          
    $p_year--;
          
    $p_month 12;
        }
        
    $n_month $month 1;
        
    $n_year $year;
        if(
    $n_month 12){
          
    $n_year++;
          
    $n_month 1;
        }

        echo 
    '<br><a href="' sefRelToAbs('index.php?option=' $option '&amp;month=' $p_month '&amp;year=' $p_year) . '" title="' EC_PREV_MONTH '"><img src="components/com_easycalendar/icons/22x22_back.png" border="0" alt="' EC_PREV_MONTH '" /></a>';
        echo 
    '&nbsp;';
        echo 
    '<a href="' sefRelToAbs('index.php?option=' $option '&amp;month=' $n_month '&amp;year=' $n_year) . '" title="' EC_NEXT_MONTH '"><img src="components/com_easycalendar/icons/22x22_forward.png" border="0" alt="' EC_NEXT_MONTH '" /></a><br><br>Fahre mit der Maus &uuml;ber einen Termin, um mehr Informationen anzeigen zu lassen.';

        echo 
    '<div class="heading">' strftime('%a'$first) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';

        for(
    $i=$first;$i<$last+(60*60*24);$i=$i+(60*60*24)){
    //      echo date('d-m-Y H:i:s', $i) . '|' . $i . '<br />';
          
    if(date('w'$i) == 1){ //first day
            
    echo '<br clear="all" />';
          }

          echo 
    '<div class="day">';
          echo 
    '<span class="heading' . (date('m'$i) == $month ' active' '')  . '">' date('j'$i) . '</span>';
          if(isset(
    $rows[date('Y-m-d'$i)])){
            if(isset(
    $rows[date('Y-m-d'$i)]['allday'])){ //list all allday events
              
    for($j=0,$n=count($rows[date('Y-m-d'$i)]['allday']);$j<$n;$j++){
                
    $row $rows[date('Y-m-d'$i)]['allday'][$j];

                
    $row->description str_replace(array("\n""\r"), ''$row->description);
                
    $row->description addslashes($row->description);

                
    $link sefRelToAbs('index.php?option=' $option '&amp;task=view&amp;id=' $row->id '&amp;Itemid=' $Itemid);

                echo 
    '<span class="event allday cat' $row->cid '">' mosToolTip($row->description$row->name''nullsubstr($row->name012), $link) . '</span>';
              }
            }

            if(isset(
    $rows[date('Y-m-d'$i)]['regular'])){ //list all regular events
              
    for($j=0,$n=count($rows[date('Y-m-d'$i)]['regular']);$j<$n;$j++){
                
    $row $rows[date('Y-m-d'$i)]['regular'][$j];

                
    $row->description str_replace(array("\n""\r"), ''$row->description);
                
    $row->description addslashes($row->description);

                
    $link sefRelToAbs('index.php?option=' $option '&amp;task=view&amp;id=' $row->id '&amp;Itemid=' $Itemid);

                echo 
    '<span class="event regular cat' $row->cid '">' mosToolTip($row->description$row->name''nullsubstr($row->starttime05) . ' ' substr($row->name08), $link) . '</span>';
              }
            }
          }
          echo 
    '</div>';
        }
      }

      
    /**
       * Show upcoming events
       *
       * @param array $rows
       */
      
    function showUpcoming($rows){
        global 
    $option$Itemid$mainframe;

        
    $mainframe->setPageTitle(EC_VIEW_UPCOMING);
        
    $mainframe->appendPathWay(EC_VIEW_UPCOMING);

        echo 
    '<div class="componentheading">' EC_VIEW_UPCOMING '</div>';

        echo 
    '<table width="100%" cellpadding="0" cellspacing="0">';
        echo 
    '<tr>';
        echo 
    '<th class="sectiontableheader">'EC_EVENT_NAME '</th>';
        echo 
    '<th class="sectiontableheader">'EC_EVENT_DATE '</th>';
        echo 
    '<th class="sectiontableheader">'EC_EVENT_TIME '</th>';
        echo 
    '<th class="sectiontableheader">'EC_EVENT_CATEGORY '</th>';

        echo 
    '</tr>';
        for(
    $i=0,$n=count($rows);$i<$n;$i++){
          
    $row $rows[$i];

          
    $link sefRelToAbs('index.php?option=' $option '&amp;task=view&amp;id=' $row->id '&amp;Itemid=' $Itemid);

          echo 
    '<tr>';
          echo 
    '<td><a href="' $link '">' $row->name '</a></td>';
          echo 
    '<td>' . ($row->startdate == $row->enddate mosFormatDate($row->startdate ' ' $row->starttimeEC_DATE_FORMAT) : mosFormatDate($row->startdate ' ' $row->starttimeEC_DATE_FORMAT) . ' - ' mosFormatDate($row->enddate ' ' $row->endtimeEC_DATE_FORMAT)) . '</td>';
          echo 
    '<td>' . ($row->starttime == $row->endtime EC_ALL_DAY mosFormatDate($row->startdate ' ' $row->starttimeEC_TIME_FORMAT) . ' - ' mosFormatDate($row->enddate ' ' $row->endtimeEC_TIME_FORMAT)) . '</td>';
          echo 
    '<td>' $row->category '</td>';
          echo 
    '</tr>';
        }

        echo 
    '</table>';
      }

      
    /**
       * View event details
       *
       * @param dbEvent $row
       */
      
    function viewEvent($row$params){
        global 
    $option$Itemid$mainframe;

        
    $mainframe->setPageTitle(sprintf(EC_VIEW_EVENT$row->name));
        
    $mainframe->appendPathWay(sprintf(EC_VIEW_EVENT$row->name));

        echo 
    '<div class="componentheading">' sprintf(EC_VIEW_EVENT$row->name) . '</div>';

     .... (
    nicht relevante codeinfos) ...

        
    mosHTML::BackButton($params);
      }



      
    /**
       * Show copyright notices
       */
      
    function showCopyright(){
        global 
    $mainframe;
      }
    }

    ?>
    Code der easycalendar.css ist zu finden unter: http://src.feg-bonn.de/2.0/component...sycalendar.css

    Meine Template-CSS ist zu finden unter (sorry mein editor hat da einige viele ungewollte leerzeilen eingebaut):
    http://src.feg-bonn.de/2.0/templates...mplate_css.css

    (habe zu den css dateien nur die url angegeben wegen begrenzter zeichenanzahl)

    Ich hab schonmal was ausprobiert. Es liegt anscheinend alles bei den folgenden Zeilen der easycalendar.html.php:
    PHP-Code:
        echo '<div class="heading">' strftime('%a'$first) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
    Denn wenn ich die einfach weglasse, werden die Wochentage über dem Kalender nicht angzeigt, dafür stimmt dann das design... Sollten ja aber eigentlich trotzdem angezeigt werden...
    Wäre super wenn sich jemand was besser mit css auskennt als ich und mir was vorschlagen kann. Vielen dank schonmal.
    lg

  2. #2
    Neu an Board
    Registriert seit
    12.04.2008
    Beiträge
    8
    Bedankte sich
    0
    1 Danksagung in 1 Beitrag

    Standard

    Hallo,

    ich habe denke ich ein ähnliches Problem mit dem Easycalendar, tritt im IE6 auf, zu sehen hier: http://www.axtheid-berger-kirwa.de/i...5824dc0379ab5c
    oder Screenshot hier:


    Da du das Problem anscheinend behoben hast (zumindest sieht bei mir auf deiner Seite alles wunderbar aus), würde ich mich freuen, wenn du mir verraten würdest, wie du das angestellt hast?!

    Viele Grüße

  3. #3
    Neu an Board
    Registriert seit
    06.01.2008
    Beiträge
    24
    Bedankte sich
    9
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    also bei mir sieht unter IE7 das ganze leider immer noch etwas kaputt aus...
    mit IE6 habe ich das noch nicht probiert, denn bei mir sieht über IE6 die komplette Seite total sch*** aus, aber man geht ja mit der zeit.
    Im Screenshot siehst du das aus der sicht des IE7. Die Linie, die mit dem rechten der beiden Pfeile markiert ist, sollte eigentlich viel weiter links sein, wie es bei FF der fall ist...
    Angehängte Grafiken

  4. #4
    Neu an Board
    Registriert seit
    12.04.2008
    Beiträge
    8
    Bedankte sich
    0
    1 Danksagung in 1 Beitrag

    Standard

    Habe das Problem bei mir jetzt nach vielen komplizierten Versuchen relativ einfach gelöst. Habe einfach in der php-Datei, bevor die Tage ausgegeben werden, einen Zeilenumbruch eingefügt, mit:
    PHP-Code:
    echo '<br></br>'
    Funktioniert jetzt komischerweise auch im IE6 wie gewünscht! Warum, kann ich dir allerdings nicht erklären, Lösung war eher Zufall...
    Einen Versuch kann es dir aber ja mal wert sein!

    Viele Grüße

  5. #5
    Neu an Board
    Registriert seit
    06.01.2008
    Beiträge
    24
    Bedankte sich
    9
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    hallo und danke für die nachricht.
    an welcher stelle muss ich dass denn genau einsetzten? wo die tage ausgegeben werden ist mir leider was ungenau :(. wär super wenn du mir das noch sagen könntest. lg

  6. #6
    Neu an Board
    Registriert seit
    12.04.2008
    Beiträge
    8
    Bedankte sich
    0
    1 Danksagung in 1 Beitrag

    Standard

    Habe es an diese Stelle eingefügt:
    PHP-Code:
        echo '<br></br>';

        echo 
    '<div class="heading">' strftime('%a'$first) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'

  7. Erhielt Danksagungen von:


  8. #7
    Neu an Board
    Registriert seit
    06.01.2008
    Beiträge
    24
    Bedankte sich
    9
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    wow perfekt danke. hat tatsächlich geklappt. kann mir aber auch nicht erklären warum^^.
    danke nochmal.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein