calendar modul fordított dátum

mat323 képe

Sziasztok!

Drupal 5.3, Date 5.x-1.8, Calendar 5.x-1.7 és magyarosítani szeretném a naptár dátumkezelését.
Próbálkoztam, de az eredmény csak félsiker lett.
Ha kiteszem a naptárat egy jobb oldali blokkba, akkor "április 2008" lesz a blokk címe (ami randa), viszont a naptár fejlécében már (helyesen) "2008. ápr" lesz.
Ha rákattintok mondjuk egy beküldött eseményre, ami április 12-én van, akkor a bejövő node címe "szombat, április 12 2008" lesz (csúnyán), alatta a keretes naptár fejlécében "2008. április 13., vasárnap" szerepel (helyesen és szépen). Tehát néhol a nap se jó, meg a formátum se.

Természetesen a Calendar telepítése után létrehoztam egy Nézetet, a megfelelő paraméterekkel (Calendar: Year, Calendar: Month, Calendar: Day - Összes érték megjelenítése - Cím: %1, %2, %3) ahogy a Nagykönyvben meg van írva, tehát működik a naptár, a beküldött időpontokat megjelöli)

Ezt szúrtam be a template.php végére:

function phptemplate_calendar_nav_title($field_type, $view) {
  calendar_load_date_api();
  switch ($field_type) {
    case 'YEAR':
      return $view->year;
    case 'MONTH':
      // Month navigation titles are used as links in blocks and in the year view.
      // For the timestamp, use the second day of the month because gm functions sometimes return the previous month
      $timestamp = date_array2unix(array('year' => $view->year, 'mon' => $view->month, 'mday' => 1));
      if ($view->build_type == 'block' || $view->calendar_type == 'year') {
          return l(date_format_date('Y. M', $timestamp), $view->real_url .'/'. $view->year .'/'. $view->month, array(), calendar_url_append($view));
      }
      else {
          return date_format_date('Y. F', $timestamp);
      }
    case 'DAY':
      $timestamp = date_array2unix(array('year' => $view->year, 'mon' => $view->month, 'mday' => $view->day, 'hours' => 24));
      return date_format_date('Y. F j., l', $timestamp);
    case 'WEEK':
        return t("Week of @date", array('@date' => date_format_date('Y. F j.', calendar_week('start_timestamp', $view, $view->week))));
   }
}

Próbaképpen minden lehetséges helyes átírtam szép magyar formátumra  $datelong = array('Y. F j., l - H:i', ...) a modules\system\system.module-ban, az includes\common.inc-ben, a sites\all\modules\date\date.inc-ben, a sites\all\modules\date\date.module-ban.

Mit csinálok rosszul?

mat323 képe

A nagy igyekezet közben sikerült valamit nagyon elállítanom... :(

A legfrissebb hozzászólások blokkban elromlott az időkijelzés:
"Nekem is - %count óra 3 perc"

Csináltam biztonsági másolatot a system.module és a common.inc fileokról, visszamásoltam őket, Calendar és Date modult leszedtem, de a blokkban nem változott meg a hiba!

(Persze a template.php végéről is kiszedtem a fenti kódot!)

1. UPDATE NEWS!
Kikapcsoltam a Date modult és leszedtem, majd újra feltettem, így már az újonnan beküldött hozzászólások időpontja jól jelenik meg. A régiek meg pár hozzászólás elküldése után nem fognak látszódni, úgyhogy ez a probléma megoldva.
A Calendar időkijelzés magyarítása viszont továbbra sem megy. Tudtok tippet adni, hogy "honnan szedi" a megjelenítési formát?

2. UPDATE NEWS!
Hűűű, megoldottam! Nem láttam a fától az erdőt :) Roppant egyszerű a megoldás: modules\calendar\calendar.theme!
Végigtúrtam az egész Drupalt és csak a végén vettem észre, hogy egész végig rossz kódrészletet keresgéltem és helyettesítettem.
"l, F j, Y" -re vadásztam, pedig "l, F j Y" -re kellett volna :)))
Ugye a "szombat, április 12 2008" miatt...
Ezt átírva "Y. F j., l"-re sikerült magyarosítani a dátumkezelést,
Nem baj, a lényeg, hogy sikerült megtalálnom! :) Köszönöm a kitartó munkát magamnak és a Kedves Olvasónak, hogy mindezt végigolvasta.

0
0