我想在组件adsmanger的搜索模块中自定义Joomla的日历字段,基本上我想:
以下是组件中日历字段生成的一部分:
<?php
case 'date':
$options = array();
$options['size'] = 16;
$options['maxlength'] = 16;
if ($field->required == 1) {
$options['class'] = 'adsmanager_required';
$options['mosReq'] = '1';
$options['mosLabel'] = "$strtitle";
}
else
{
$options['class'] = 'adsmanager';
}
$return .= JHTML::_('behavior.calendar');
if ($value != "") {
if (function_exists("strptime")) {
$a = strptime($value, JText::_('ADSMANAGER_DATE_FORMAT_LC'));
$timestamp = mktime(0, 0, 0, $a['tm_mon']+1, $a['tm_mday'], $a['tm_year']+1900);
} else {
$timestamp = strtotime($value);
}
if ($timestamp != null)
$value = date("Y-m-d",$timestamp);
else
$value = "";
}
$return .= JHTML::_('calendar', $value, "$field->name", "$field->name", JText::_('ADSMANAGER_DATE_FORMAT_LC'), $options); ?>
答案 0 :(得分:0)
日历实际上没有办法完全按照您指定的方式执行操作。有一些方法可以让你更接近。
所包含的方法是设置可用年份,至少可以在今年保留它们。
Calendar.setRange(2013, 2020);
javascript函数中还有一个方法可以添加onUpdate
处理程序,您可以使用该处理程序编写自己的比较函数,以将日期限制为今天和转发。但是,在Joomla中将函数传递到此位置似乎并不是一个好方法,因为它应该是Calendar.setup()
调用的一部分。生成javascript的代码位于libraries/joomla/html/html.php
第880行。