2012-02-20 37 views
14

Quiero deshabilitar un rango de fechas en el calendario de joomla. Solo se pueden seleccionar los días restantes. No tengo idea de cómo hacerlo. Por favor ayuda.deshabilitar el rango de fechas en el calendario de Joomla

p. Ej. Si digo 2012-2-20 a 2012-3-20, solo se pueden seleccionar los días de este rango; todo lo demás tiene que desactivarse (o no puede seleccionarse).

Joomla Calendario Doc http://docs.joomla.org/API16:JHtml/calendar

+3

Esto no es muy fácil en absoluto, pero [ver esto] (http://technologymisc.wordpress.com/2011/08/17/joomla-hide-past-days-from-calendar-control/) para un poco de código relacionado. –

+3

@Fnatte Gracias lo comprobaré. – Sara

+2

¿Qué estás tratando de hacer específicamente? Probablemente será mejor que escribas algo personalizado para esto. –

Respuesta

0

Lo que me gustaría hacer es añadir un pequeño fragmento de código en Javascript en cualquier momento que tenga un evento el desenfoque en esa entrada recupera el valor, verificar si es > 2012-2-10 && < 2012-3-10 y si no borra el valor de esa entrada.

0

Me encontré con un problema similar con varios sitios de Joomla que administro. Ya estaba usando jQuery, así que decidí ir con JQuery UI Datepicker que tiene una función de fecha min/max fácil de usar. Si ya está utilizando estas bibliotecas, o si está dispuesto a 1) agregarlas y 2) potencialmente arruinar su unidad de diseño, lo recomendaría.

+0

Sí, traté de pasar mucho tiempo con el calendario de Joomla pero fallé. Así que tuve que usar JQuery UI Datepicker para hacerlo, pero aún pensaba y esperaba hacer lo mismo usando joomla calendar. – Sara

+0

@Sara, avíseme si lo hace ... También me gustaría una solución nativa en mis sitios de Joomla. – Benmj

1

Conjunto minDate y maxDate para su fecha límite, es decir

$("#start_date").datepicker({ 
    dateFormat:'yy-mm-dd', 
    showOn: 'button', 
    buttonImageOnly: true, 
    minDate: newmindate , 
    maxDate: newmaxdate 
}); 

conjunto de variables newmindate y newmaxdate.

0
<div> 
    <input name="StartDate" id="StartDate" type="text" readOnly="readonly" data-val-required="The From field is required." data-val="true" jQuery15106987620498322786="53"/> 
    <input name="EndDate" id="EndDate" type="text" readOnly="readonly" data-val-required="The To field is required." data-val="true" jQuery15106987620498322786="54"/> 
</div> 

$(function() { 
    var dates = $("#StartDate, #EndDate").datepicker({ 
     defaultDate: "+1w", 
     changeMonth: true, 
     changeYear: true, 
     numberOfMonths: 1, 
     minDate:0, 
     dateFormat: 'dd/mm/yy', 
     onSelect: function (selectedDate) { 
      var option = this.id == "StartDate" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
         instance.settings.dateFormat || 
         $.datepicker._defaults.dateFormat, 
         selectedDate, instance.settings); 
      dates.not(this).datepicker("option", option, date); 
     } 

    }); 
}); 
0

3 años después de su pregunta y el campo de calendario en Joomla todavía no puede hacer esto. Sin embargo, puede establecer un año mínimo y un año máximo (pero no un mes mínimo ni un mes máximo) editando el archivo media/system/js/calendar.js y cambiando los valores de this.minYear y this.maxYear a los valores que elija.

Cuestiones relacionadas