2017-04-12 77 views
2

我正在尋找一種方法來顯示日曆上的星期編號。 現在,我發送年份和月份來創建日曆。然後,如果需要更多日曆,我會重複視圖上的代碼。Codeigniter日曆庫顯示相應的星期編號

我在我的控制器上使用以下偏好設置。

$prefs = array(
       'start_day' => 'monday', 
       'month_type' => 'long', 
       'day_type'  => 'abr' 
       ); 

查看:

$thisyear = $todaysdate->format('Y'); 

$thismonth = $todaysdate->format('m');

echo $this->calendar->generate($thisyear,$thismonth++);

如何做到這一點任何想法?

@the結束,我需要:

2017年四月

|我們|莫|塗|我們|釷| FR | SA |蘇

| 13 | | | | | | | 1 | 2 |

| 14 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

| 15 | 10 | 11 | | 13 | 14 | 15 | 16 |

| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |

| 17 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |

回答

1

$("table tr").each(function() { 
 
\t var myTd = $(this).find("td"); 
 
    
 
    var myContent = myTd.find("div[data-content]").data("content"); 
 
    if(myContent != undefined) { 
 
    \t $(myTd).first().text(myContent); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<table> 
 
<tbody> 
 
<tr> 
 
\t <th></th> 
 
\t <th colspan="7">Aprile&nbsp;2017</th> 
 
</tr> 
 
<tr> 
 
\t <td>We</td> 
 
\t <td>Lu</td> 
 
\t <td>Ma</td> 
 
\t <td>Me</td> 
 
\t <td>Gi</td> 
 
\t <td>Ve</td> 
 
\t <td>Sa</td> 
 
\t <td>Do</td> 
 
</tr> 
 
<tr> 
 
\t <td></td> 
 
\t <td><div>&nbsp;</div></td> 
 
\t <td><div>&nbsp;</div></td> 
 
\t <td><div>&nbsp;</div></td> 
 
\t <td><div>&nbsp;</div></td> 
 
\t <td><div>&nbsp;</div></td> 
 
\t <td> 
 
\t \t <div data-content="13">1</div> 
 
\t </td> 
 
\t <td> 
 
     <div data-content="13">2</div> 
 
\t </td> 
 
</tr> 
 
<tr> 
 
\t <td></td> 
 
\t <td> 
 
\t \t <div data-content="14">3</div> 
 
\t </td> 
 
\t <td> 
 
\t \t <div data-content="14">4</div> 
 
\t </td> 
 
\t <td> 
 
\t \t <div data-content="14">5</div> 
 
\t </td> 
 
\t <td> 
 
\t \t <div data-content="14">6</div> 
 
\t </td> 
 
\t <td> 
 
\t \t <div data-content="14">7</div> 
 
\t </td> 
 
\t <td> 
 
\t \t <div data-content="14">8</div> 
 
\t </td> 
 
\t <td> 
 
\t \t <div data-content="14">9</div> 
 
\t </td> 
 
</tr> 
 
<tr> 
 
\t <td></td> 
 
\t <td> 
 
\t \t <div data-content="15">10</div> 
 
\t </td><td> 
 
\t \t <div data-content="15">11</div> 
 
\t </td><td> 
 
\t \t <div data-content="15">12</div> 
 
\t </td><td> 
 
\t \t <div data-content="15">13</div> 
 
\t </td><td> 
 
\t \t <div data-content="15">14</div> 
 
\t </td><td> 
 
\t \t <div data-content="15">15</div> 
 
\t </td><td> 
 
\t \t <div data-content="15">16</div> 
 
\t </td> 
 
</tr> 
 
<tr> 
 
\t <td></td> 
 
\t <td> 
 
\t \t <div data-content="16">17</div> 
 
\t </td><td> 
 
\t \t <div data-content="16">18</div> 
 
\t </td><td> 
 
\t \t <div data-content="16">19</div> 
 
\t </td><td> 
 
\t \t <div data-content="16">20</div> 
 
\t </td><td> 
 
\t \t <div data-content="16">21</div> 
 
\t </td><td> 
 
\t \t <div data-content="16">22</div> 
 
\t </td><td> 
 
\t \t <div data-content="16">23</div> 
 
\t </td> 
 
</tr> 
 
<tr> 
 
\t <td></td> 
 
\t <td> 
 
\t \t <div data-content="17">24</div> 
 
\t </td><td> 
 
\t \t <div data-content="17">25</div> 
 
\t </td><td> 
 
\t \t <div data-content="17">26</div> 
 
\t </td><td> 
 
\t \t <div data-content="17">27</div> 
 
\t </td><td> 
 
\t \t <div data-content="17">28</div> 
 
\t </td><td> 
 
\t \t <div data-content="17">29</div> 
 
\t </td><td> 
 
\t \t <div data-content="17">30</div> 
 
\t </td> 
 
</tr> 
 
</tbody> 
 
</table>

你可以做一點黑客,這取決於你所擁有的資源,JavaScript的,jQuery的否則後果不堪設想。

使用此代碼,您可以生成一個帶有星期編號的日曆,如每個TD上的參數「data-content」和每週星期編號的添加列。 然後,您可以使用jQuery將星期值放在正確的TD上。

$this->load->library('calendar', array (
    'template' => ' 
     {table_open}<table>{/table_open} 
     {heading_row_start}<tr>{/heading_row_start} 
     {heading_previous_cell}<th><a href="{previous_url}">&lt;&lt;</a></th>{/heading_previous_cell} 
     {heading_title_cell}<th></th><th colspan="{colspan}">{heading}</th>{/heading_title_cell} 
     {heading_next_cell}<th><a href="{next_url}">&gt;&gt;</a></th>{/heading_next_cell} 
     {heading_row_end}</tr>{/heading_row_end} 
     {week_row_start}<tr><td>We</td>{/week_row_start} 
     {week_day_cell}<td>{week_day}</td>{/week_day_cell} 
     {week_row_end}</tr>{/week_row_end} 
     {cal_row_start}<tr><td></td>{/cal_row_start} 
     {cal_cell_start}<td>{/cal_cell_start} 
     {cal_cell_content} 
      <div data-content="{content}">{day}</div> 
     {/cal_cell_content} 
     {cal_cell_content_today} 
      <div data-content="{content}">{day}</div> 
     {/cal_cell_content_today} 
     {cal_cell_no_content}{day}{/cal_cell_no_content} 
     {cal_cell_no_content_today}<div>{day}</div>{/cal_cell_no_content_today} 
     {cal_cell_blank}<div>&nbsp;</div>{/cal_cell_blank} 
     {cal_cell_end}</td>{/cal_cell_end} 
     {cal_row_end}</tr>{/cal_row_end} 
     {table_close}</table>{/table_close}', 
    'start_day' => 'monday', 
    'month_type' => 'long', 
    'day_type' => 'abr', 
    'show_next_prev'  => FALSE)); 



list($num_days, $month, $year) = explode(' ', date("t n Y")); 

$array_days = []; 

for ($i = 1; $i <= $num_days; $i++) 
{ 
    $week = (int)date('W', mktime(0, 0, 0, $month, $i, $year)); 
    $array_days[$i] = "$week"; 
} 

echo $this->calendar->generate($year, $month, $array_days); 
1

CI_Calendar不支持此,對不起。

無法添加它,除非您覆蓋整個庫,此時應該使用其他方法。

1

CI日曆中沒有選擇週數的選項。