Mes toutes premières expériences avec elgg. elgg_view ('entrée/date' utilise la fonction datepicker, mais je dois ajouter des options.dans elgg Les options de datepicker de jQuery ne fonctionnent pas
Dans mon plugin (appelé "help") la fonction d'initialisation (start.php) Je déclarai elgg_extend_view ('js/Elgg' , 'help/js'); Ensuite, dans \ mod \ help \ views \ default \ help \ js.php j'ai copié la fonction elgg.ui.initDatePicker à partir du noyau elgg et j'ai ajouté mes options à celui-ci.
elgg.provide ('elgg.help');
sur le dessus et
elgg.register_hook_handler ('init', 'système', elgg.ui .initDatePicker);
sur le fond, comme ceci:
- Début de mod \ help \ \ vue \ default \ help Code \ js.php de
elgg.provide('elgg.help');
elgg.ui.initDatePicker = function() {
var loadDatePicker = function() {
$('.elgg-input-date').datepicker({
// MY OPTIONS ADDED
yearRange: "-100:+0",
changeYear: true,
changeMonth: true,
// ISO-8601
dateFormat: 'yy-mm-dd',
onSelect: function(dateText) {
if ($(this).is('.elgg-input-timestamp')) {
// convert to unix timestamp
var dateParts = dateText.split("-");
var timestamp = Date.UTC(dateParts[0], dateParts[1] - 1, dateParts[2]);
timestamp = timestamp/1000;
var id = $(this).attr('id');
$('input[name="' + id + '"]').val(timestamp);
}
}
});
};
if ($('.elgg-input-date').length && elgg.get_language() == 'en') {
loadDatePicker();
} else if ($('.elgg-input-date').length) {
elgg.get({
url: elgg.config.wwwroot + 'vendors/jquery/i18n/jquery.ui.datepicker-'+ elgg.get_language() +'.js',
dataType: "script",
cache: true,
success: loadDatePicker,
error: loadDatePicker // english language is already loaded.
});
}
}
elgg.register_hook_handler('init', 'system', elgg.ui.initDatePicker);
--- fin mod \ \ help \ views \ default \ help \ js.php code
En effet, il ouvre un calendrier, mais il n'applique pas mes options yearRange, changeYear et changeMonth. Cependant, si j'ajoute juste les options dans elgg \ js \ lib \ ui.js cela fonctionne bien. Puisque je ne veux pas jouer avec le fichier de base, je demande des conseils ici. Merci