calendar modul fordított dátum

hesim képe

sziasztok, a naptár fejlécében fordítva jelenik meg a dátum (hétfő, 2007 augusztus 27 -et szeretnék hétfő, augusztus 27 2007 helyett), és nem találtam erre sehol beállítást. hogy lehet ezt megoldani?

RaptoR képe

A megoldás a calendar által adott sminkelhető függvények felülírása. Ha PHPTemplate alapú sminket használsz, akkor a template.php fájlba szúrd ezt be:

<?php
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' => 2));
      if ($view->build_type == 'block' || $view->calendar_type == 'year') {
      	return l(date_format_date('M Y', $timestamp), $view->real_url .'/'. $view->year .'/'. $view->month, array(), calendar_url_append($view));
      }
      else {
      	return date_format_date('F Y', $timestamp);
      }
    case 'DAY':
      $timestamp = date_array2unix(array('year' => $view->year, 'mon' => $view->month, 'mday' => $view->day, 'hours' => 12));
      return date_format_date('l, Y F j', $timestamp);
    case 'WEEK':
    	return t("Week of @date", array('@date' => date_format_date('F j Y', calendar_week('start_timestamp', $view, $view->week))));
   }
}
?>



A DAY-nél változtattam ezt: "l, F j Y" erre: "l, Y F j". :)
0
0
hesim képe

Ezt kerestem, köszönöm.

0
0
Boobaa képe

Hogyan lehetne ezt "szépen" megcsinálni? A "szépen" kétféleképpen értelmezhető: a dátumformát vegye a rendszerbeállításokból, vagy ami még jobb lenne, ha a felhasználó területi beállításai szerint jelenítené meg (többnyelvű oldalnál). Ezt hogyan lehetne kivitelezni?

0
0
RaptoR képe

Úgy, hogy a date_format_date() fv-t lecseréled a format_date() függvényre, amely már a rendszerből veszi a formátumot.

Sajnos többnyelvű rendszerekkel nincs még elegendő tapasztalatom, így arra nem tudok mit javasolni.

0
0
Rico képe

Sziasztok!

Köszi, nekem is bevált a dolog.

Viszont az év nézet még nem jó.

Merthogy "január 2007"-et ír, elég lenne a "2007"!

A .template-ben gondolom ezen a részlegen kéne variálni:
(Vigyázat, ez már módosított kód, a dátum formátumokat átírtam.)

 
/**
 * Theme the calendar title and breadcrumbs
 *   Arguments are evaluated in year, month, day or year, week order
 *   so you can track previous values in the session.
 *
 * @param string $field_type - 'YEAR', 'MONTH', 'DAY', 'WEEK'
 * @param integer $value - the current number for the field type as selected in the view argument.
 * @return string formatted title
 */
function theme_calendar_arg_title($field_type, $value, $query) {
	$view = $GLOBALS['current_view'];
	calendar_load_date_api();
	$value = intval(check_plain($value));
	if (empty($value)) {
    if ($view->month) {
      if ($view->month == "all") {
        $view->month = 1;
      }
      $stamp = date_gmmktime(array('year' => $view->year, 'mon' => $view->month, 'mday' => 1));
      return date_format_date('Y F', $stamp);
    }
    elseif ($view->year) {
     return $view->year;
    }
	}
	else {
		switch ($field_type) {
    case 'YEAR':
      $view->year = $value;
      return $view->year;
    case 'MONTH':
      $view->month = $value;
      $stamp = date_gmmktime(array('year' => $view->year, 'mon' => $view->month, 'mday' => 1));
      return date_format_date('Y F', $stamp);
    case 'DAY':
      $stamp = date_gmmktime(array('year' => $view->year, 'mon' => $view->month, 'mday' => $value));
      return date_format_date('Y F j, l', $stamp);
    case 'WEEK':
    	return t('Week @week @year', array('@year' => $view->year, '@week' => $value));
   }
	}
}
 

Itt azt látom, hogy az év nézet esetében máshogy határozták meg a kiírandó értéket:

    case 'YEAR':
      $view->year = $value;
      return $view->year;

A hónap és nap nézeteknél használt kód:

return date_format_date('Y F j, l', $stamp); 

Szóval a cél az, hogy csak az évszámot írja ki év esetén is.

0
0
Rico képe

Kíváncsi is vagyok a megoldásra, meg jól is jönne, tökéletesebbé, precízebbé tenné a nemsokára megszülető webhelyünket.

Ezért kérlek, ha ismered a megoldást, vagy meg tudod könnyen, élvezettel oldani a problémámat, írd meg nekem (és mindazoknak, akiknek ugyanez lesz a jövőben a gondjuk, és itt megtalálják a választ)!

0
0
Rico képe

Kérek segítséget! Nem hiszem hogy olyan nehéz probléma, és lehet hogy van aki már megoldotta. Vagy direkt nem reagál senki, hogy oldjam meg magam? Tettem bele vagy három órát, és jelenlegi ismereteimmel nem tudtam megoldani. Épp ezért fordultam ehhez a közösséghez.

0
0
aries képe

A fórumon adott válaszok többnyire „csípőből” jönnek. Úgy tűnik kevesen használják ezt a modult.

Aries
http://aries.mindworks.hu

0
0
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.
Ez előző hozzászólások alapján 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).

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))));
   }
}
0
0
Nagy Gusztáv képe

indíts az új kérdésednek új témát!

0
0

Nagy Gusztáv