[英]Datepicker in fluid typo3
我正在使用 typo3 extbase 扩展,我被这个特殊点卡住了。 我们可以用 typo3 流体当量吗
<input type="date" />
我的扩展程序中需要有一个日期选择器。 typo3 流体可以吗?
Typo3 8.7 允许您使用 jquery 日期选择器。
首先,将 datepicker 模块添加到您的扩展 (ext_localconf.php):
//If you want to use it in the BE, include the If line
if(TYPO3_MODE === 'BE'){
$pageRenderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);
$pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/DateTimePicker','function() { initScript(); }');
}
...然后您可以使用此流体文本字段来启动日期选择器:
<f:form.textfield type="datetime" property="dateexample" id="dateexample" class="form-control t3js-datetimepicker t3js-clearable" data="{date-type:'datetime',date-offset:'0'}" value="{dateexample->f:format.date(format: 'd/m/Y')}" /><span class="input-group-btn"><label class="btn btn-default" for="dateexample"><span class="fa fa-calendar"></span></label></span>
我建议您为此包含一个外部库。 例如,我使用过 jquery.datetimepicker,你能在这里找到它吗?
修改您的 Typoscript setup.ts 并添加下一行
page {
includeCSS {
datetimepicker = EXT:your_extension/Resources/Public/Css/jquery.datetimepicker.min.css
}
includeJS {
JqueryUITimepicker = EXT:your_extension/Resources/Public/Js/jquery.datetimepicker.full.min.js
}
}
在您的流体模板中使用下一个代码:
<f:form.textfield type="text" id="datetimepicker" name="PublishDate" />
并且在 JS 文件中包含
$('#datetimepicker').datetimepicker();
Controller 中的参数将是PublishDate
但将其作为字符串接收,您必须在 DateTime 或您使用的数据类型中使用 PHP 进行转换。
10.4 更新:
将日期选择器模块添加到您的扩展 (ext_localconf.php):
if(TYPO3_MODE === 'BE'){
$pageRenderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);
$pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/DateTimePicker');
}
然后你可以在 TYPO3 后端模块中使用这个流体:
<div class="input-group">
<input type="text" id="my-unique-identifier"
class="t3js-datetimepicker form-control t3js-clearable hasDefaultValue" data-date-type="date"
data-formengine-input-name="my-input-field-name"
data-formengine-input-initialized="true">
<span class="input-group-btn">
<label class="btn btn-default" for="my-unique-identifier">
<core:icon identifier="actions-calendar-alternative" size="small" />
</label>
</span>
</div>
值data-date-type
可以设置为“date”或“datetime”。
不要忘记将核心命名空间添加到图标 API 的流体模板中:
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true">
流体不随日期选择器一起提供或需要特定的选择器。
事实上,您可以使用任何 HTML 日期选择器。
<f:form.textfield type="date" additionalAttributes="{min:'{f:format.date(date:\'now\',format:\'Y-m-d\')}'}"
name="{name}" value="{value}"
/>
您需要使用现代浏览器。 它应该从 TYPO3 6.2 开始工作。 ( 文件)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.