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?
ajjaj!!!
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.