[英]Joomla 2.5 calendar field type in custom form date and time selection
我的admin / componsents / com_xxxxx / models / forms / xxxxx.xml文件中有兩個字段。
這些為Joomla 2.5后端的管理員提供輸入表單
<field name="f_start" type="calendar" class="inputbox"
required="true"
format="%Y-%m-%d %H:%M:%S"
default="0000-00-00 09:30:00"
label="COM_xxxxx_F_START"
description="COM_xxxxx_F_START_DESC"
filter="safehtml" />
<field name="f_end" type="calendar" class="inputbox"
required="true"
format="%Y-%m-%d %H:%M:%S"
default="0000-00-00 19:30:30"
label="COM_xxxxx_F_END"
description="COM_xxxxx_F_END_DESC"
filter="safehtml" />
這些基本上是文章發布時的開始和結束日期。 但是,在選擇日期選擇器/日歷圖標並選擇日期時,該字段將更新為所選日期,但保留09:30:00默認開始時間。 這似乎適用於01:30:00到11:30之間的任何一個下午時間,當選擇日期時,重置到現在。
有誰能解釋為什么? 或者如何在日期選擇器上保留默認時間?
如果結束日期也可以默認為從開始日期起28天?
提前致謝。
單擊日歷圖標時,日歷窗口小部件會嘗試將自己定位在相應文本字段中包含的日期上。 作為0000-00-00
是一個無效的日期, Date.parseDate
在功能上media/system/js/calendar-uncompressed.js
試圖猜測從格式字符串的所有組件的日期。 0000-00-00 09:30:00
被認可為9月30日,因為09 < 12
,所以它看起來像一個月號,因此它返回Sep 30, 9:30
。 另一方面, 0000-00-00 19:30:00
未被識別為任何有效日期,並且該函數today
返回。 因此,時間部分的差異。
例如,如果查看com_content的XML表單文件,您將看到它們不使用日歷字段的默認值。
但是,您可以創建從JFormFieldCalendar派生的自定義字段類型,這將為您提供充分的靈活性。 例如:
表格/ whatever.xml
<field name="f_start" type="PubDateCalendar"
format="%Y-%m-%d %H:%M:%S" default="start" ... />
<field name="f_end" type="PubDateCalendar"
format="%Y-%m-%d %H:%M:%S" default="end" ... />
田/ pubdatecalendar.php
<?php
defined('_JEXEC') or die;
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('calendar');
class JFormFieldPubDateCalendar extends JFormFieldCalendar
{
public $type = 'PubDateCalendar';
protected function getInput()
{
$format = $this->element['format']
? (string) $this->element['format']
: '%Y-%m-%d';
if ($this->element['default'] == 'start') {
$this->value = strftime($format);
} else if ($this->element['default'] == 'end') {
$this->value = strftime($format, time() + 28 * 24 * 60 * 60);
}
return parent::getInput();
}
}
?>
或者更適合您特定應用的任何東西。
也許這會對像我這樣的人有所幫助,他們正在尋找這個問題的答案,但是對當前版本的Joomla 3.3.6:
<field
name="birth_day"
type="calendar"
label="COM_PERSONS_PERSON_FIELD_BIRTHDAY_LABEL"
description="COM_PERSONS_PERSON_FIELD_BIRTHDAY_DESC"
class="inputbox"
size="20"
format="%Y-%m-%d"
filter="user_utc" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.