簡體   English   中英

Joomla:將日歷視圖添加到過濾器

[英]Joomla: add calendar view to the filter

我在 Joomla 4 上制作了一個帶有自定義字段的事件列表,並為它們安裝了一個過濾器。 過濾器運行良好,但按日期過濾現在基於日期列表。 例子:

01 - December - 2022
02 - December - 2022
28 - November - 2022
29 - November - 2022
30 - November - 2022
...

添加日歷而不是此列表並執行以下操作有多困難:

  1. 因此,只有在有事件的情況下,日期才會在日歷中處於活動狀態。
  2. 以便日歷中的這些日期以顏色突出顯示

它應該如何工作? 我正確理解這僅在前端完成? 我需要的日期列表已經在過濾器中作為列表提供。 請告訴我我需要工作的方向。

答案將會被發現。 您可以使用任何現成的 Javascript 日歷。 我用這個: https://www.cssscript.com/create-simple-event-calendar-javascript-caleandar-js/

根據說明進行設置,在日歷代碼中插入日期的位置,插入我的數據數組,其中包含過濾器中的日期。 一切都很簡單。

一個對我有用的例子。 你可以使用這個原則,適應你的條件:

<script type="text/javascript">
jQuery(document).ready(function($){

var events = [

<?php foreach($options as $option) : 

$date = date_format(date_create($option->getValue()),'d/m/Y');
$explodeDate = explode('/', $date);  
$explodedDay = $explodeDate[0];
$explodedMonth = $explodeDate[1];
$explodedYear = $explodeDate[2];
$explodedMonth = $explodedMonth - 1;
if ($explodedDay >= 1 && $explodedDay <=9) {
    $EventDate = str_replace("0", "", $explodedDay);    
} else {
    $EventDate = $explodedDay;  
};
?>

{'Date': new Date(<?php echo $explodedYear; ?>, <?php echo $explodedMonth; ?>, <?php echo $explodedDay; ?>), 'Title': '<?php echo $EventDate; ?>', 'Link': '<?php echo Route::_($option->getLink()) ?>'},
<?php endforeach; ?>

    ];
var settings = {};
var element = document.getElementById('caleandar');
caleandar(element, events, settings);
    });

日期來自數據庫的方式不符合日歷格式,所以在PHP的幫助下我不得不轉換日期並將日月年分開。 同樣在日歷中,第一個月是 0,所以我不得不從月份中減去一位數字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM