繁体   English   中英

流体中的日期选择器 typo3

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM