Views + Date + Calendar átszínezés, átrendezés, link node-ra, lapozás

pante képe

Sziasztok!

Feltelepítettem a címben említett 3 modult, beállítottam ahogy tudtam, jelenleg így néz ki:
Naptár blokk

Ennek kapcsán merült fel pár kérdés bennem:

Hogyan tudnám lerövidíteni a hónapok neveit (december helyett dec.), mert túl hosszúak és nem férnek ki levágás nélkül?

Lehetséges az előre/hátra gombok átszínezése, mert így eléggé furcsán néz ki?

Meg lehet oldani, hogy a hónap neve és a napok nevei közötti üres rész kisebb legyen? Több beállítást átnéztem már, de nem sikerült ezt a nagy helyet redukálnom, nem néz ki jól a nagy üresség...

Hogyan lehetne megoldani, hogy ha van 1 esemény 1 adott napon, akkor azt a napot "kiemeljem"? (pl. háttérátszínezéssel)
Illetve, ha a felhasználó rákattint az eseményre, miért nem az adott node-ra ugrik? (jelenleg Címlap » Naptár » Hónap/Hét/Nap/Év bontásra ugrik)

Köszönöm a segítséget előre is!

UI: Több usernek szokott ezzel 3 modullal problémája lenni a dinamikus naptár és eseménykezeléssel. Hátha nekik is segítségül fog szolgálni ez a téma. Én ez alapján állítottam be: http://drupaltherapy.com/date_d7

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
vikicica22 képe

Szerintem css -el tudnád megoldani ezt a problémát.

3
-1
pante képe

Köszönöm a válaszodat, de szerintem a node-ra ugrást és a hónap nevének lerövidítését nem lehet egyszerű css-sel megoldani.

0
0
vikicica22 képe

„Lehetséges az előre/hátra gombok átszínezése, mert így eléggé furcsán néz ki?”
„Hogyan lehetne megoldani, hogy ha van 1 esemény 1 adott napon, akkor azt a napot "kiemeljem"? (pl. háttérátszínezéssel)”

Css:

/* -------------- Calendar  ------------- */
 
table td.mini, 
table th.mini, 
table.mini td.week {
    padding:0px;
    margin:0;
  }
 
.calendar-calendar table { 
    border-collapse:separate;
    border-spacing:1px;
}
 
.calendar-calendar .mini-day-on {
    background:#EBF4D9 none repeat-x scroll left top;
    border:1px solid #ccc;
    color:#525252; font-weight:bold;
    margin:0px 0px 0px 0px;
    padding:2px 3px 2px 2px;
}
 
.calendar-calendar .mini-day-on a {
    color:#525252; 
    font-weight:normal;
}
 
.calendar-calendar .mini-day-off {
    background:#fff none repeat-x scroll left top;
    border:1px solid #ccc;
    color:#bfbfbf;
    margin:0px 0px 0px 0px;
    padding:2px 3px 2px 2px;
    font-weight: normal;
}
 
.calendar-calendar td {
    color: #525252;
    text-align: right;
}
 
.calendar-calendar td.empty {
    color: #EEEEEE;
}
 
.calendar-empty {
    background-color: #EEEEEE;
    font-size: 0px;
    line-height: 0px;
    padding-bottom: 0px;
}
 
.calendar-calendar .sat .mini-day-off, 
.calendar-calendar .sun .mini-day-off {
    background: none repeat scroll 0 0 #FFF0F5;
    font-weight:normal;
}
 
.calendar-calendar .today .mini-day-off {
    background: none repeat-x scroll left top #CEDDEA;
    border-top: 1px solid #ccc;
    border-bottom: 0px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;	
    color: #000;
    font-weight:normal;
    margin: 0 0 3px;
    padding: 2px 5px 2px 2px;
}
 
.calendar-calendar .today .mini-day-on {
    background: none repeat-x scroll left top #CEDDEA;
    border-top: 1px solid #ccc;
    border-bottom: 0px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;	
    color: #525252;
    font-weight:normal;
    margin: 0 0 3px;
    padding: 2px 5px 2px 2px;
}
 
.calendar-calendar tr.odd td.today, 
.calendar-calendar tr.even td.today {
    background:#525252;
    margin:0px 0px 0px 0px;
    padding:0px 10px 0px 0px;
}
 
.calendar-calendar th.days {
    text-transform: capitalize; 
}
 
.calendar-calendar table.mini td.empty {
    background: none repeat scroll 0 0 #e5e5e5;
    border: 1px solid #ccc;	
}
 
.calendar-calendar td.calendar-agenda-hour .calendar-hour {
    font-size: 11px;
    font-weight: bold;
}
 
.calendar-calendar .day-view .full td .inner div.calendar div, 
.calendar-calendar .day-view .full td .inner div.calendar div a {
    margin: 0px;
}
 
.calendar-calendar tr td.today, 
.calendar-calendar tr.odd td.today, 
.calendar-calendar tr.even td.today {
    background-color: #3399CC;
}
 
.calendar-calendar .mini-day-off:hover,
.calendar-calendar .mini-day-on:hover {
    background: #eee;
    color:#525252;	
}
 
.calendar-calendar .mini {
    font-family: Verdana;
    font-size: 10px;
}
 
.calendar-calendar .month-view .full td.single-day div.monthview, 
.calendar-calendar .week-view .full td.single-day div.weekview, 
.calendar-calendar .day-view .full td.single-day div.dayview {
    background: none repeat scroll 0 0 #F9F9F9;
    overflow: hidden;
    padding: 2px;
    width: auto;
    border: 1px solid #EEEEEE;	
}
 
.calendar-calendar .month-view .full .inner .monthview, 
.calendar-calendar .week-view .full .inner .weekview, 
.calendar-calendar .day-view .full .inner .dayview {
    border-radius: 0px;
    display: block;
    float: none;
    margin: 0.25em auto;
    position: relative;
    width: auto;
}
 
.calendar-calendar .day-view td .stripe, 
.calendar-calendar .month-view .full td .stripe, 
.calendar-calendar .week-view .full td .stripe {
    border-radius: 0px;
    height: 5px;
    left: 0;
    top: 0;
    width: 24px;
    z-index: 2;
}
 
.calendar-calendar .views-field-field-idpont {
    color: #000;
}
 
.calendar-calendar .month-view .views-field-title a {
    color: #3399CC;
    font-size: 11px;
    font-weight: normal;
}
 
.calendar-calendar .day-view .views-field-title a,
.calendar-calendar .week-view .views-field-title a {
    color: #3399CC;
    font-size: 11px;
    font-weight: normal;
}
 
.calendar-calendar .month-view .full tr td.today, 
.calendar-calendar .month-view .full tr.odd td.today, 
.calendar-calendar .month-view .full tr.even td.today {
    background: #fff;
    border-left: 2px solid #7FCAF5;
    border-right: 2px solid #7FCAF5;
}
 
.calendar-calendar .month-view .full td.date-box.today {
    border-color: #7FCAF5;
    border-style: solid;
    border-width: 2px 2px 0;
}
 
.calendar-calendar .month-view .full tr td.single-day.today {
    border-bottom: 2px solid #7FCAF5;
}
 
.view .date-nav-wrapper .date-heading h3 {
    color: #C4010F;
    font-family: Arial;
    font-size: 1.6em;
    font-weight: bold;
    line-height: 30px;
}
 
.view .date-nav-wrapper .date-nav { 
    padding:0px;
    margin:0px 0px 3px 0px;
}
 
.view .date-nav-wrapper .date-nav ul {
    margin: 0;
    padding: 0;
}
 
.view .date-nav-wrapper .date-prev {
    background: none repeat scroll 0 0 #DFDFDF;
    border-radius: 5px 0 0 5px;
    float: none;
    font-size: 12px;
    left: 0px;
    padding: 5px 0;
    position: absolute;
    right: auto;
    text-align: right;
    top: 0;
    width: auto;
    z-index: 1;
    margin-left: 0;		
}
 
/* -------------- Calendar end  ------------- */


„Hogyan tudnám lerövidíteni a hónapok neveit (december helyett dec.), mert túl hosszúak és nem férnek ki levágás nélkül?”

template.php

<?php
function yourthemename_date_nav_title($params) {
  $granularity = $params['granularity'];
  $view = $params['view'];
  $date_info = $view->date_info;
  $link = !empty($params['link']) ? $params['link'] : FALSE;
  $format = !empty($params['format']) ? $params['format'] : NULL;
  switch ($granularity) {
    case 'year':
      $title = $date_info->year;
      $date_arg = $date_info->year;
      break;
    case 'month':
      $format = !empty($format) ? $format : (empty($date_info->mini) ? 'F Y' : 'F Y');
      $title = date_format_date($date_info->min_date, 'custom', $format);
      $date_arg = $date_info->year .'-'. date_pad($date_info->month);
      break;
    case 'day':
      $format = !empty($format) ? $format : (empty($date_info->mini) ? 'l, F j Y' : 'l, F j');
      $title = date_format_date($date_info->min_date, 'custom', $format);
      $date_arg = $date_info->year .'-'. date_pad($date_info->month) .'-'. date_pad($date_info->day);
      break;
    case 'week':
        $format = !empty($format) ? $format : (empty($date_info->mini) ? 'F j Y' : 'F j');
      $title = t('Week of @date', array('@date' => date_format_date($date_info->min_date, 'custom', $format)));
        $date_arg = $date_info->year .'-W'. date_pad($date_info->week);
        break;
  }
  if (!empty($date_info->mini) || $link) {
      // Month navigation titles are used as links in the mini view.
    $attributes = array('title' => t('View full page month'));
      $url = date_pager_url($view, $granularity, $date_arg, TRUE);
    return l($title, $url, array('attributes' => $attributes));
  }
  else {
    return $title;
  }  
}
?>


„Illetve, ha a felhasználó rákattint az eseményre, miért nem az adott node-ra ugrik?”
Views -ben kell beállítanod.



Extra dolgok:
Beautytips + calendar_tooltips én még feltelepíteném ezeket a modulokat és akkor 1 nagyon szuper naptárad lenne.

2
0
pante képe

Köszönöm a részletesebb segítséget, az extrák bejöttek, tényleg jobban néz ki!

Az üresség eltüntetésére tudsz valamilyen megoldást? Mert átnéztem a Views beállításait, de nem találtam benne ilyet.
Az aktuális node-ra való direkt link gondolom benne van, de sajnos ezt sem sikerült megtalálnom, igazából nem túlzottan értek ehhez, ezért csináltam videós segédlettel a naptár beállítását (eddig calendar_block-ot használtam, de abban nem volt esemény feltüntetés, ezért cseréltem le)

0
0
vikicica22 képe

A nagy üres részt a lapozó (pager) okozza amit szintén css-el meg lehet oldani :) A css-ben már benne van de ezek szerint a pager-t nálad máshogyan van css-ezve :)
Van újabb kép? de inkább az oldal linkje lenne a legjobb mert ott jobban meglehetne nézni hogyan lehet css-el megoldani.

1
0
pante képe

Éles oldalon csinálom, ezért a naptár még csak adminoknak elérhető, míg nem lesz megfelelő kinézetű.
Most kikapcsoltam a lapozót. A direkt link node-ra van ötleted, hogy hol kell beállítani a Views-ben? Sajnos nem találtam. Ha ezt beállítom, akkor tudok adni linket is az oldalhoz, mert most nem néz ki jól és látogatók is így látnák félkész állapotban.
Képet tudok adni: calendar
Jó ötletet adtál a tooltips modullal, feldobta a puritán kinézetű naptárat, csak azt nem tudom, hogy a dátumot miért nem magyar stílusban írja ki (év/hónap/nap), mert most inkább amerikai stílusú.

0
0
vikicica22 képe

A direkt link node-ra

Nézetben a:
Tartalom: Cím beállítása
A mező egyben hivatkozás is legyen az eredeti tartalomra
Kattinthatóvá teszi, ezzel felülírja a mező hivatkozását.

ezt be kell pipálni.

Itt lehet más dátumokat (magyar dátum formátumokat) megadni, amit utána a naptárban kicseréled a sajátodra:

/admin/config/regional/date-time

1
0
pante képe

Úgy csináltam mindent, ahogy írtad, de a "hivatkozás az eredeti tartalomra" opció, csak a naptárban kapcsolta be a node-ra való hivatkozást, a naptár blokkban nem.
naptar blokk
A naptár blokkban lévő hivatkozásra kattintva, az adott nap jön be: ?q=calendar-node-field-datum/day/2013-01-01
A naptárban a Valami eseményre kattintva jön csak be a node.
A naptár blokkban nem lehet bekapcsolni, hogy egyből a node-ra menjen, ne pedig a címlap->naptárra váltson át?

0
0
vikicica22 képe

Ezt így nem tudom megmondani, hogy mi lehet nálad a hiba. Ha elküldöd a naptárad export-ját akkor megtudom nézni.

0
0
pante képe

Remélem jóra kattintottam.
megtekintés napt_r exportálása:

  1. $view = new view();
  2. $view->name = 'napt_r';
  3. $view->description = '';
  4. $view->tag = 'Calendar';
  5. $view->base_table = 'node';
  6. $view->human_name = 'Naptár';
  7. $view->core = 7;
  8. $view->api_version = '3.0';
  9. $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
  10.  
  11. /* Display: Master */
  12. $handler = $view->new_display('default', 'Master', 'default');
  13. $handler->display->display_options['use_more_always'] = FALSE;
  14. $handler->display->display_options['use_more_text'] = 'tovább';
  15. $handler->display->display_options['link_display'] = 'page_1';
  16. $handler->display->display_options['access']['type'] = 'perm';
  17. $handler->display->display_options['cache']['type'] = 'none';
  18. $handler->display->display_options['query']['type'] = 'views_query';
  19. $handler->display->display_options['query']['options']['query_comment'] = FALSE;
  20. $handler->display->display_options['exposed_form']['type'] = 'basic';
  21. $handler->display->display_options['exposed_form']['options']['submit_button'] = 'Alkalmazás';
  22. $handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Alaphelyzet';
  23. $handler->display->display_options['exposed_form']['options']['exposed_sorts_label'] = 'Rendezés';
  24. $handler->display->display_options['exposed_form']['options']['sort_asc_label'] = 'Növekvő';
  25. $handler->display->display_options['exposed_form']['options']['sort_desc_label'] = 'Csökkenő';
  26. $handler->display->display_options['pager']['type'] = 'date_views_pager';
  27. $handler->display->display_options['pager']['options']['date_id'] = 'month';
  28. $handler->display->display_options['style_plugin'] = 'calendar_style';
  29. $handler->display->display_options['style_options']['name_size'] = '3';
  30. $handler->display->display_options['style_options']['with_weekno'] = '0';
  31. $handler->display->display_options['style_options']['multiday_theme'] = '1';
  32. $handler->display->display_options['style_options']['theme_style'] = '1';
  33. $handler->display->display_options['style_options']['max_items'] = '0';
  34. $handler->display->display_options['row_plugin'] = 'calendar_entity';
  35. /* Mező: Tartalom: Cím */
  36. $handler->display->display_options['fields']['title']['id'] = 'title';
  37. $handler->display->display_options['fields']['title']['table'] = 'node';
  38. $handler->display->display_options['fields']['title']['field'] = 'title';
  39. $handler->display->display_options['fields']['title']['label'] = '';
  40. $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
  41. $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
  42. $handler->display->display_options['fields']['title']['element_type'] = 'h1';
  43. $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
  44. $handler->display->display_options['fields']['title']['hide_alter_empty'] = FALSE;
  45. /* Mező: Tartalom: Dátum */
  46. $handler->display->display_options['fields']['field_d_tum']['id'] = 'field_d_tum';
  47. $handler->display->display_options['fields']['field_d_tum']['table'] = 'field_data_field_d_tum';
  48. $handler->display->display_options['fields']['field_d_tum']['field'] = 'field_d_tum';
  49. $handler->display->display_options['fields']['field_d_tum']['label'] = '';
  50. $handler->display->display_options['fields']['field_d_tum']['element_label_colon'] = FALSE;
  51. $handler->display->display_options['fields']['field_d_tum']['hide_alter_empty'] = FALSE;
  52. $handler->display->display_options['fields']['field_d_tum']['settings'] = array(
  53. 'format_type' => 'short',
  54. 'fromto' => 'both',
  55. 'multiple_number' => '',
  56. 'multiple_from' => '',
  57. 'multiple_to' => '',
  58. 'show_repeat_rule' => '',
  59. );
  60. $handler->display->display_options['fields']['field_d_tum']['group_rows'] = FALSE;
  61. $handler->display->display_options['fields']['field_d_tum']['delta_offset'] = '0';
  62. /* Rendezési szempont: Tartalom: Dátum (field_d_tum) */
  63. $handler->display->display_options['sorts']['field_d_tum_value']['id'] = 'field_d_tum_value';
  64. $handler->display->display_options['sorts']['field_d_tum_value']['table'] = 'field_data_field_d_tum';
  65. $handler->display->display_options['sorts']['field_d_tum_value']['field'] = 'field_d_tum_value';
  66. /* Szűrési feltétel: Tartalom: Közzétéve */
  67. $handler->display->display_options['filters']['status']['id'] = 'status';
  68. $handler->display->display_options['filters']['status']['table'] = 'node';
  69. $handler->display->display_options['filters']['status']['field'] = 'status';
  70. $handler->display->display_options['filters']['status']['value'] = 1;
  71. $handler->display->display_options['filters']['status']['group'] = 0;
  72. $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
  73.  
  74. /* Display: Month */
  75. $handler = $view->new_display('page', 'Month', 'page_1');
  76. $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
  77. $handler->display->display_options['defaults']['pager'] = FALSE;
  78. $handler->display->display_options['pager']['type'] = 'date_views_pager';
  79. $handler->display->display_options['pager']['options']['date_id'] = 'month';
  80. $handler->display->display_options['pager']['options']['link_format'] = 'clean';
  81. $handler->display->display_options['defaults']['style_plugin'] = FALSE;
  82. $handler->display->display_options['style_plugin'] = 'calendar_style';
  83. $handler->display->display_options['style_options']['name_size'] = '3';
  84. $handler->display->display_options['style_options']['mini'] = '0';
  85. $handler->display->display_options['style_options']['with_weekno'] = '0';
  86. $handler->display->display_options['style_options']['multiday_theme'] = '1';
  87. $handler->display->display_options['style_options']['theme_style'] = '1';
  88. $handler->display->display_options['style_options']['max_items'] = '0';
  89. $handler->display->display_options['defaults']['style_options'] = FALSE;
  90. $handler->display->display_options['defaults']['row_plugin'] = FALSE;
  91. $handler->display->display_options['row_plugin'] = 'calendar_entity';
  92. $handler->display->display_options['row_options']['colors']['legend'] = 'type';
  93. $handler->display->display_options['defaults']['row_options'] = FALSE;
  94. $handler->display->display_options['defaults']['arguments'] = FALSE;
  95. /* Szövegkörnyezeti szűrő: Dátum: Dátum (node) */
  96. $handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
  97. $handler->display->display_options['arguments']['date_argument']['table'] = 'node';
  98. $handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
  99. $handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
  100. $handler->display->display_options['arguments']['date_argument']['exception']['title'] = 'Minden';
  101. $handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
  102. $handler->display->display_options['arguments']['date_argument']['add_delta'] = 'yes';
  103. $handler->display->display_options['arguments']['date_argument']['date_fields'] = array(
  104. 'field_data_field_d_tum.field_d_tum_value' => 'field_data_field_d_tum.field_d_tum_value',
  105. );
  106. $handler->display->display_options['path'] = 'calendar-node-field-d-tum/month';
  107. $handler->display->display_options['menu']['type'] = 'default tab';
  108. $handler->display->display_options['menu']['title'] = 'Month';
  109. $handler->display->display_options['menu']['weight'] = '0';
  110. $handler->display->display_options['menu']['context'] = 0;
  111. $handler->display->display_options['tab_options']['type'] = 'normal';
  112. $handler->display->display_options['tab_options']['title'] = 'Calendar';
  113. $handler->display->display_options['tab_options']['weight'] = '0';
  114.  
  115. /* Display: Week */
  116. $handler = $view->new_display('page', 'Week', 'page_2');
  117. $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
  118. $handler->display->display_options['defaults']['pager'] = FALSE;
  119. $handler->display->display_options['pager']['type'] = 'date_views_pager';
  120. $handler->display->display_options['pager']['options']['date_id'] = 'week';
  121. $handler->display->display_options['pager']['options']['link_format'] = 'clean';
  122. $handler->display->display_options['defaults']['style_plugin'] = FALSE;
  123. $handler->display->display_options['style_plugin'] = 'calendar_style';
  124. $handler->display->display_options['style_options']['calendar_type'] = 'week';
  125. $handler->display->display_options['style_options']['name_size'] = '3';
  126. $handler->display->display_options['style_options']['mini'] = '0';
  127. $handler->display->display_options['style_options']['with_weekno'] = '0';
  128. $handler->display->display_options['style_options']['multiday_theme'] = '1';
  129. $handler->display->display_options['style_options']['theme_style'] = '1';
  130. $handler->display->display_options['style_options']['max_items'] = '0';
  131. $handler->display->display_options['defaults']['style_options'] = FALSE;
  132. $handler->display->display_options['defaults']['row_plugin'] = FALSE;
  133. $handler->display->display_options['row_plugin'] = 'calendar_entity';
  134. $handler->display->display_options['defaults']['row_options'] = FALSE;
  135. $handler->display->display_options['defaults']['arguments'] = FALSE;
  136. /* Szövegkörnyezeti szűrő: Dátum: Dátum (node) */
  137. $handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
  138. $handler->display->display_options['arguments']['date_argument']['table'] = 'node';
  139. $handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
  140. $handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
  141. $handler->display->display_options['arguments']['date_argument']['exception']['title'] = 'Minden';
  142. $handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
  143. $handler->display->display_options['arguments']['date_argument']['granularity'] = 'week';
  144. $handler->display->display_options['arguments']['date_argument']['add_delta'] = 'yes';
  145. $handler->display->display_options['arguments']['date_argument']['date_fields'] = array(
  146. 'field_data_field_d_tum.field_d_tum_value' => 'field_data_field_d_tum.field_d_tum_value',
  147. );
  148. $handler->display->display_options['path'] = 'calendar-node-field-d-tum/week';
  149. $handler->display->display_options['menu']['title'] = 'Week';
  150. $handler->display->display_options['menu']['weight'] = '2';
  151. $handler->display->display_options['menu']['context'] = 0;
  152.  
  153. /* Display: Day */
  154. $handler = $view->new_display('page', 'Day', 'page_3');
  155. $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
  156. $handler->display->display_options['defaults']['pager'] = FALSE;
  157. $handler->display->display_options['pager']['type'] = 'date_views_pager';
  158. $handler->display->display_options['pager']['options']['date_id'] = 'day';
  159. $handler->display->display_options['pager']['options']['link_format'] = 'clean';
  160. $handler->display->display_options['defaults']['style_plugin'] = FALSE;
  161. $handler->display->display_options['style_plugin'] = 'calendar_style';
  162. $handler->display->display_options['style_options']['calendar_type'] = 'day';
  163. $handler->display->display_options['style_options']['name_size'] = '3';
  164. $handler->display->display_options['style_options']['mini'] = '0';
  165. $handler->display->display_options['style_options']['with_weekno'] = '0';
  166. $handler->display->display_options['style_options']['multiday_theme'] = '1';
  167. $handler->display->display_options['style_options']['theme_style'] = '1';
  168. $handler->display->display_options['style_options']['max_items'] = '0';
  169. $handler->display->display_options['defaults']['style_options'] = FALSE;
  170. $handler->display->display_options['defaults']['row_plugin'] = FALSE;
  171. $handler->display->display_options['row_plugin'] = 'calendar_entity';
  172. $handler->display->display_options['defaults']['row_options'] = FALSE;
  173. $handler->display->display_options['defaults']['arguments'] = FALSE;
  174. /* Szövegkörnyezeti szűrő: Dátum: Dátum (node) */
  175. $handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
  176. $handler->display->display_options['arguments']['date_argument']['table'] = 'node';
  177. $handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
  178. $handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
  179. $handler->display->display_options['arguments']['date_argument']['exception']['title'] = 'Minden';
  180. $handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
  181. $handler->display->display_options['arguments']['date_argument']['granularity'] = 'day';
  182. $handler->display->display_options['arguments']['date_argument']['date_fields'] = array(
  183. 'field_data_field_d_tum.field_d_tum_value' => 'field_data_field_d_tum.field_d_tum_value',
  184. );
  185. $handler->display->display_options['path'] = 'calendar-node-field-d-tum/day';
  186. $handler->display->display_options['menu']['title'] = 'Day';
  187. $handler->display->display_options['menu']['weight'] = '3';
  188. $handler->display->display_options['menu']['context'] = 0;
  189.  
  190. /* Display: Year */
  191. $handler = $view->new_display('page', 'Year', 'page');
  192. $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
  193. $handler->display->display_options['defaults']['pager'] = FALSE;
  194. $handler->display->display_options['pager']['type'] = 'date_views_pager';
  195. $handler->display->display_options['pager']['options']['date_id'] = 'year';
  196. $handler->display->display_options['pager']['options']['link_format'] = 'clean';
  197. $handler->display->display_options['defaults']['style_plugin'] = FALSE;
  198. $handler->display->display_options['style_plugin'] = 'calendar_style';
  199. $handler->display->display_options['style_options']['calendar_type'] = 'year';
  200. $handler->display->display_options['style_options']['name_size'] = '1';
  201. $handler->display->display_options['style_options']['mini'] = '0';
  202. $handler->display->display_options['style_options']['with_weekno'] = '0';
  203. $handler->display->display_options['style_options']['multiday_theme'] = '1';
  204. $handler->display->display_options['style_options']['theme_style'] = '1';
  205. $handler->display->display_options['style_options']['max_items'] = '0';
  206. $handler->display->display_options['defaults']['style_options'] = FALSE;
  207. $handler->display->display_options['defaults']['row_plugin'] = FALSE;
  208. $handler->display->display_options['row_plugin'] = 'calendar_entity';
  209. $handler->display->display_options['defaults']['row_options'] = FALSE;
  210. $handler->display->display_options['defaults']['fields'] = FALSE;
  211. /* Mező: Tartalom: Cím */
  212. $handler->display->display_options['fields']['title']['id'] = 'title';
  213. $handler->display->display_options['fields']['title']['table'] = 'node';
  214. $handler->display->display_options['fields']['title']['field'] = 'title';
  215. $handler->display->display_options['fields']['title']['label'] = '';
  216. $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
  217. $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
  218. $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
  219. $handler->display->display_options['fields']['title']['hide_alter_empty'] = FALSE;
  220. /* Mező: Tartalom: Dátum */
  221. $handler->display->display_options['fields']['field_d_tum']['id'] = 'field_d_tum';
  222. $handler->display->display_options['fields']['field_d_tum']['table'] = 'field_data_field_d_tum';
  223. $handler->display->display_options['fields']['field_d_tum']['field'] = 'field_d_tum';
  224. $handler->display->display_options['fields']['field_d_tum']['label'] = '';
  225. $handler->display->display_options['fields']['field_d_tum']['element_label_colon'] = FALSE;
  226. $handler->display->display_options['fields']['field_d_tum']['hide_alter_empty'] = FALSE;
  227. $handler->display->display_options['fields']['field_d_tum']['settings'] = array(
  228. 'format_type' => 'short',
  229. 'fromto' => 'both',
  230. 'multiple_number' => '',
  231. 'multiple_from' => '',
  232. 'multiple_to' => '',
  233. 'show_repeat_rule' => '',
  234. );
  235. $handler->display->display_options['fields']['field_d_tum']['group_rows'] = FALSE;
  236. $handler->display->display_options['fields']['field_d_tum']['delta_offset'] = '0';
  237. $handler->display->display_options['defaults']['arguments'] = FALSE;
  238. /* Szövegkörnyezeti szűrő: Dátum: Dátum (node) */
  239. $handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
  240. $handler->display->display_options['arguments']['date_argument']['table'] = 'node';
  241. $handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
  242. $handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
  243. $handler->display->display_options['arguments']['date_argument']['exception']['title'] = 'Minden';
  244. $handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
  245. $handler->display->display_options['arguments']['date_argument']['granularity'] = 'year';
  246. $handler->display->display_options['arguments']['date_argument']['add_delta'] = 'yes';
  247. $handler->display->display_options['arguments']['date_argument']['date_fields'] = array(
  248. 'field_data_field_d_tum.field_d_tum_value' => 'field_data_field_d_tum.field_d_tum_value',
  249. );
  250. $handler->display->display_options['path'] = 'calendar-node-field-d-tum/year';
  251. $handler->display->display_options['menu']['title'] = 'Year';
  252. $handler->display->display_options['menu']['weight'] = '4';
  253. $handler->display->display_options['menu']['context'] = 0;
  254.  
  255. /* Display: Block */
  256. $handler = $view->new_display('block', 'Block', 'block_1');
  257. $handler->display->display_options['defaults']['title'] = FALSE;
  258. $handler->display->display_options['defaults']['use_ajax'] = FALSE;
  259. $handler->display->display_options['use_ajax'] = TRUE;
  260. $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
  261. $handler->display->display_options['defaults']['pager'] = FALSE;
  262. $handler->display->display_options['pager']['type'] = 'date_views_pager';
  263. $handler->display->display_options['defaults']['style_plugin'] = FALSE;
  264. $handler->display->display_options['style_plugin'] = 'calendar_style';
  265. $handler->display->display_options['style_options']['name_size'] = '2';
  266. $handler->display->display_options['style_options']['mini'] = '1';
  267. $handler->display->display_options['style_options']['with_weekno'] = '0';
  268. $handler->display->display_options['style_options']['multiday_theme'] = '1';
  269. $handler->display->display_options['style_options']['theme_style'] = '1';
  270. $handler->display->display_options['style_options']['max_items'] = '0';
  271. $handler->display->display_options['defaults']['style_options'] = FALSE;
  272. $handler->display->display_options['defaults']['row_plugin'] = FALSE;
  273. $handler->display->display_options['row_plugin'] = 'calendar_entity';
  274. $handler->display->display_options['row_options']['colors']['calendar_colors_type'] = array(
  275. 'article' => '#ffffff',
  276. 'page' => '#ffffff',
  277. 'esem_ny' => '#ffffff',
  278. 'simplenews' => '#ffffff',
  279. );
  280. $handler->display->display_options['defaults']['row_options'] = FALSE;
  281. $handler->display->display_options['defaults']['arguments'] = FALSE;
  282. /* Szövegkörnyezeti szűrő: Dátum: Dátum (node) */
  283. $handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
  284. $handler->display->display_options['arguments']['date_argument']['table'] = 'node';
  285. $handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
  286. $handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
  287. $handler->display->display_options['arguments']['date_argument']['exception']['title'] = 'Minden';
  288. $handler->display->display_options['arguments']['date_argument']['add_delta'] = 'yes';
  289. $handler->display->display_options['arguments']['date_argument']['date_fields'] = array(
  290. 'field_data_field_d_tum.field_d_tum_value' => 'field_data_field_d_tum.field_d_tum_value',
  291. );
  292.  
  293. /* Display: Upcoming */
  294. $handler = $view->new_display('block', 'Upcoming', 'block_2');
  295. $handler->display->display_options['display_description'] = 'Upcoming events block';
  296. $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
  297. $handler->display->display_options['defaults']['use_more'] = FALSE;
  298. $handler->display->display_options['use_more'] = TRUE;
  299. $handler->display->display_options['defaults']['pager'] = FALSE;
  300. $handler->display->display_options['pager']['type'] = 'some';
  301. $handler->display->display_options['pager']['options']['items_per_page'] = '5';
  302. $handler->display->display_options['pager']['options']['offset'] = '0';
  303. $handler->display->display_options['defaults']['style_plugin'] = FALSE;
  304. $handler->display->display_options['style_plugin'] = 'list';
  305. $handler->display->display_options['defaults']['style_options'] = FALSE;
  306. $handler->display->display_options['defaults']['row_plugin'] = FALSE;
  307. $handler->display->display_options['row_plugin'] = 'fields';
  308. $handler->display->display_options['defaults']['row_options'] = FALSE;
  309. $handler->display->display_options['defaults']['filter_groups'] = FALSE;
  310. $handler->display->display_options['defaults']['filters'] = FALSE;
  311. /* Szűrési feltétel: Tartalom: Közzétéve */
  312. $handler->display->display_options['filters']['status']['id'] = 'status';
  313. $handler->display->display_options['filters']['status']['table'] = 'node';
  314. $handler->display->display_options['filters']['status']['field'] = 'status';
  315. $handler->display->display_options['filters']['status']['value'] = 1;
  316. $handler->display->display_options['filters']['status']['group'] = 0;
  317. $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
  318. /* Szűrési feltétel: Dátum: Dátum (node) */
  319. $handler->display->display_options['filters']['date_filter']['id'] = 'date_filter';
  320. $handler->display->display_options['filters']['date_filter']['table'] = 'node';
  321. $handler->display->display_options['filters']['date_filter']['field'] = 'date_filter';
  322. $handler->display->display_options['filters']['date_filter']['operator'] = '>=';
  323. $handler->display->display_options['filters']['date_filter']['default_date'] = 'now';
  324. $handler->display->display_options['filters']['date_filter']['add_delta'] = 'yes';
  325. $handler->display->display_options['filters']['date_filter']['date_fields'] = array(
  326. 'field_data_field_d_tum.field_d_tum_value' => 'field_data_field_d_tum.field_d_tum_value',
  327. );
  328. $translatables['napt_r'] = array(
  329. t('Master'),
  330. t('tovább'),
  331. t('Alkalmazás'),
  332. t('Alaphelyzet'),
  333. t('Rendezés'),
  334. t('Növekvő'),
  335. t('Csökkenő'),
  336. t('Month'),
  337. t('Minden'),
  338. t('Week'),
  339. t('Day'),
  340. t('Year'),
  341. t('Block'),
  342. t('Upcoming'),
  343. t('Upcoming events block'),
  344. );

Köszönöm a segítségedet!
0
0
vikicica22 képe

Megnéztem, de nekem semmi nem működik rajta :)
Szerintem újból kellene készítened egy Naptár négyzetet:

/admin/structure/views/add-template

természetesen én ezeket a modulokat telepíteném előtte:

beautytips
calendar
calendar_tooltips
beautytips
date
date_ical

0
0
Sk8erPeter képe

Megnéztem, de nekem semmi nem működik rajta :)

Én is megnéztem, és teljesen jól működik az importált view, miután létrehoztam a megfelelő field_d_tum nevű mezőt egy tetszőleges content type-ban, és engedélyeztem a megfelelő modulokat. :)

Nincs semmi baj tehát a kérdező által bemásolt exporttal, működőképes az.

0
0
vikicica22 képe

Létrehoztam én is a filed_d_tum és tökéletesen működik nálam is most már.

A blokkban ha rá kattintasz az eseményre akkor mindenképpen a Naptári napot hozza be és nem egyből az adott tartalmat mivel lehet aznap több esemény is.

Drupal 6-os ban is megnéztem és ott is az van, hogy ha rákattintok, akkor a naptári napot tölti be és majd a tartalom címére kattintva tölti be a tartalmat.

2
0
Sk8erPeter képe

Ja, itt írtam ugyanezt. :)

1
0
Sk8erPeter képe

Kipróbáltam a view-dat, és jól működik, és azért van a naptárhoz linkelve, mert előfordulhat, hogy adott napon több esemény is van. Ez esetben meg nehéz lenne eldönteni, melyik node-hoz legyen linkelve.

sites/all/modules/calendar/theme/calendar-datebox.tpl.php
Ez az a fájl, amiben a naptárblokkhoz tartozó HTML-kimenet összeállítása történik, és amelyet át kell másolnod a sminked templates könyvtárába, ha módosítani szeretnéd azt.
Érdemes használni a Devel és Theme developer modulokat debuggolásra.
Én kiírattam a benne lévő változókat:

  1. if($selected){
  2. dsm($view, '$view in '.__FILE__);
  3. dsm($granularity, '$granularity in '.__FILE__);
  4. dsm($mini, '$mini in '.__FILE__);
  5. dsm($class, '$class in '.__FILE__);
  6. dsm($day, '$day in '.__FILE__);
  7. dsm($date, '$date in '.__FILE__);
  8. dsm($link, '$link in '.__FILE__);
  9. dsm($url, '$url in '.__FILE__);
  10. dsm($selected, '$selected in '.__FILE__);
  11. dsm($items, '$items in '.__FILE__);
  12. }

Ez a kimenete:


sites/all/modules/calendar/theme/calendar-datebox.tpl.php változói

A probléma tehát az, hogy itt például elérhetném az 2013-01-23-án, 18:45:00-kor bekövetkező entitás URL-jét így:

$items['2013-01-23']['18:45:00'][0]->url

amit nyilván lehetne automatizálni, és ennek megfelelően kiíratni ezt a konkrét linket (mint a képen látható, ez itt a példámban a
http://7testdrupal.local/content/mydates/113/blabla), így a 23-a be lenne linkelve ebben az esetben az ehhez az entitáshoz tartozó URL-hez, de akkor a felhasználó nem látná az ugyanezen a napon, 11:15-kor bekövetkező akár több eseményt...

Ebben az esetben tehát neked valami olyan blokk kellene, ami nagyobb helyet foglal, és belefér több link is egy naphoz, ha közvetlenül szeretnéd linkelni.

2
0
pante képe

Köszönöm a segítséget!
A honlapom naptárában csak 1-1 esemény szerepelne 1 adott napon, több biztosan nem, így sem lehetséges bekapcsolni a link-to-node üzemmódot? Vagy csak kódolással lehetne ezt kikényszeríteni a Calendar-ból?

Esetleg a calendar_tooltips segítségével több link-to-node eseményt is lehetne kezelni, ha adott napra viszem a kurzort, majd a tooltip részben egymás alatt felsorolná az adott nap több eseményét, és ott is lehetne rá kattintani. Nem túlzottan értek hozzá, ez csak ötletelés volt részemről. De az biztos, hogy csak napi 1 esemény lenne, így nem okozna problémát a több esemény kezelése.

Közben kipróbáltam a Calendar block modult is, ebben nem találtam eseménykezelést, viszont a Pretty calendar modulban találtam, de ott valami miatt nem működik megfelelően az ajax (load-nál nem töltődik be a tartalom, nem működik se a tooltip, se a pager)
Így csak a Views + Calendar maradt, mint utolsó lehetőségem, csak finomhangolni kéne...
Ha végképp nem működik a link-to-node, olyat lehet csinálni, hogy az adott napra kattintva a nagy naptár jelenjen meg, de havi bontásban? (Calendar beállításinál próbáltam átírni az Útvonal mezőben található hivatakozást day-ről month-ra, de nem működik)

0
0
Sk8erPeter képe

Na, debuggoltam egyet, tököltem vele egy darabig, de aztán végül rájöttem, egy elég óvatos megközelítést alkalmaztam a kódomban, úgy csináltam, hogy amennyiben tényleg csak egyetlen esemény van adott napon, csak akkor cseréli ki az eredeti, naptárra mutató linket a konkrét node-ra.
Úgy csináltam meg, hogy a korábban említett
calendar-datebox.tpl.php
fájlt nem is kell bántanod hozzá.

Ezt a függvényt fogjuk felülbírálni:

template_preprocess_calendar_datebox

mégpedig úgy, hogy a template részt lecseréljük a smink/modul nevére, majd kiegészítjük saját kóddal, amiben leellenőrzöm, hogy az adott napon tényleg csak egy esemény van-e.

A következő kódot helyezd a sminked template.php fájljába, és a SMINKEDNEVE részt a függvény nevében cseréld le a saját sminked nevére:

  1. /**
  2.  * Create the calendar date box.
  3.  * @see http://api.drupalize.me/api/drupal/function/template_preprocess_calendar_datebox/7
  4.  */
  5. function SMINKEDNEVE_preprocess_calendar_datebox(&$vars) {
  6. $date = $vars['date'];
  7. $view = $vars['view'];
  8. $vars['day'] = intval(substr($date, 8, 2));
  9. $force_view_url = !empty($view->date_info->block) ? TRUE : FALSE;
  10. $month_path = calendar_granularity_path($view, 'month');
  11. $year_path = calendar_granularity_path($view, 'year');
  12. $day_path = calendar_granularity_path($view, 'day');
  13. $vars['url'] = str_replace(array($month_path, $year_path), $day_path, date_pager_url($view, NULL, $date, $force_view_url));
  14. $vars['link'] = !empty($day_path) ? l($vars['day'], $vars['url']) : $vars['day'];
  15. $vars['granularity'] = $view->date_info->granularity;
  16. $vars['mini'] = !empty($view->date_info->mini);
  17. if ($vars['mini']) {
  18. if (!empty($vars['selected'])) {
  19. $vars['class'] = 'mini-day-on';
  20. }
  21. else {
  22. $vars['class'] = 'mini-day-off';
  23. }
  24. }
  25. else {
  26. $vars['class'] = 'day';
  27. }
  28.  
  29.  
  30. // ***********************************************************************
  31. // modifications from here
  32. // @see http://drupal.hu/forum/views-date-calendar-%C3%A1tsz%C3%ADnez%C3%A9s-%C3%A1trendez%C3%A9s-link-node-ra-lapoz%C3%A1s/17491
  33.  
  34. // if there is only 1 event on the given day, link it directly to the entity
  35. if($vars['selected'] && isset($vars['items'][$date]) && count($vars['items'][$date]) === 1){
  36.  
  37. // we need the first key, but we don't know the exact time
  38. // (e.g. the key can be like this: "11:15:00" ($vars['items'][$date]['11:15:00']))
  39. $first_element_of_current_day_array = current($vars["items"][$date]);
  40.  
  41. // we also check whether there is only 1 event at the given
  42. // time (for example there is only 1 event at 11:15:00
  43. // (e.g. $vars['items']['2013-01-23']['11:15:00'] array
  44. // contains only 1 element)
  45. if(count($first_element_of_current_day_array) === 1) {
  46. $calendar_entity = $first_element_of_current_day_array[0];
  47. // we replace the value of $vars['link']
  48. $vars['link'] = l($vars['day'], $calendar_entity->url);
  49. }
  50. }
  51.  
  52. }

Ezután törölj cache-t, és elméletileg készen vagy. Nálam ez így működött.
Aztán jelezz vissza légyszi, mi az eredmény, remélem, sikerül!

1
0
pante képe

Köszönöm! Teszteltem és jól működik! Igen, ilyenre gondoltam :)

Még felmerült pár kérdés bennem a Calendar testreszabásával kapcsolatban.

A mini naptár blokkban és a nagy naptárban is máshogy van kiemelve az adott (mai) nap és nincs kiemelve az a nap, amelyiken esemény van megjelölve. Ezeket hol tudom állítani a naptár beállításaiban? Vagy ha csak css segítségével tudom átszínezni az adott cellák hátterét, milyen id alatt szerepelnek a css fájlokban?

A lapozóval kapcsolatban is ugyanez lenne a kérdésem, hogy hogyan tudnám átszínezni illetve az alatta lévő üres rész mértékét lecsökkenteni?

Végül hol tudom beállítani, hogy amikor a hónap nevére kattintok, csak a hónap naptár jelenjen meg és ne jelenjen meg a többi (éves, heti, napi) bontás? Néztem a jogosultságokat, de csak úgy tudom beállítani, hogy a teljes naptár vagy megjelenik a vendégnek vagy nem, egyenként nem tudtam állítani a jogokat az évi/havi/heti/napi fülekre. Itt még 1 érdekességre lettem figyelmes, hogy rossz a dátum sorrendje a teljes naptár fejlécében. Pl. havinál: Jan. 2013, hetinél: Jan. 21, 2013 hete

0
0
Sk8erPeter képe

Szívesen, örülök, hogy ez bevált!

Huhh, kicsit túl sok a plusz kérdés, én azt javaslom, hogy mindezt témánként bontva új kérdésekbe rakd, nyugodtan nyiss akár több új témát is, csak legyen áttekinthetőbb, így biztos több eséllyel kapsz továbbra is segítséget.

1
0
pante képe

Köszönöm, inkább nyitottam neki egy új témát: Calendar blokk kinézetének testreszabása
Így átláthatóbb, és remélhetőleg másoknak is segítségére lesz, ha elakadnak a Calendar beállításával.

0
0
pante képe

Köszönöm a segítségedet még egyszer, viszont lenne egy a kódhoz hozzákapcsolódó kérdésem, ezért nem nyitottam neki új témát.
Elképzelhető, hogy a link-to-node átalakítás miatt nem működik megfelelően a Calendar tooltips modul? Mert eddig ha a mini naptárban található napok fölé húztam a kurzort (amelyen volt esemény megjelölve), akkor buborékban előjött az esemény megnevezése és a dátuma, most viszont nem.

0
0
Sk8erPeter képe

Igen, tényleg emiatt nem megy, azért, mert a calendar_tooltips.module-ban lévő
calendar_tooltips_preprocess_calendar_datebox()
függvényt úgy írták meg, hogy a $vars['link'] változóhoz fűzi hozzá a tooltiphez szükséges markupot:

  1. if (!empty($day_path))
  2. $vars['link'] = l($vars['day'], $vars['url']);
  3. else
  4. $vars['link'] = '<span>' . $vars['day'] . '</span>';
  5. $vars['link'] .= $bt_text;
  6. /*
  7.   The balloon text is appended to the link variable,
  8.   like this: "<a href=...>31</a> <div>balloon text</div>" (see above).
  9.   which makes it difficult for the user to alter the link without
  10.   losing the balloon text. That's why we provide an extra variable with
  11.   the balloon text only. The user may use this to append to
  12.   the new link when overriding calendar-datebox.tpl.php.
  13.   */
  14. $vars['calendar_tooltips_text'] = $bt_text;

Úgyhogy a megoldás:

az itt mutatott
SMINKEDNEVE_preprocess_calendar_datebox
függvényed
legvégére (még a függvény végét lezáró kapcsos zárójel elé)
tedd be ezt:

  1. // @see calendar_tooltips_preprocess_calendar_datebox()
  2. if(isset($vars['calendar_tooltips_text'])){
  3. $vars['link'] .= $vars['calendar_tooltips_text'];
  4. }

Szerencsére ennyi megoldja.

1
0