フォーム内に1時間の選択を入れる必要があるので、5分の倍数に丸めるカスタムビューヘルパーを作成しました。 setup.tsの 私は時刻をデカールします。typo3流体テンプレート:ビューアーで多すぎる条件の中のcObject
lib.time = TEXT
lib.time {
data = date:H:i
}
テンプレートでは、私はcObjectを呼び出します。
<nr:time value="{f:cObject(typoscriptObjectPath: 'lib.time')}" />
私はそれも(ランダムにViewHelperでラップされます)インラインで試しました。
<f:link.action action="form">{nr:time(value: '{f:cObject(typoscriptObjectPath: \'lib.time\')}')}</f:link.action>
ここで私は条件があり、ここで私は働いた構文を見つけることができませんでした...それが必要な場所になる。
<f:form.textfield property="date" class="date"
value="{f:if(condition: ticket.time, then: '{ticket.time}', else: '{f:cObject(typoscriptObjectPath: \'lib.time\')}')}" />
良い解決策を知っている誰もが、多分私は、完全に間違っているの開始多分何なViewHelperは必要ありませんが、私はlibに直接時間をフォーマットして操作することができます。
PS:
class TimeViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
/**
* @param string $value
* @return
*/
public function render($value) {
$time = strtotime($value);
$m = date('i', $time);
$f = 5*60; // 5 minutes
$r = $time % $f;
$t = $time + ($f-$r);
$new_time = ($m == 0 || $m % 5 === 0) ? $value : date('H:i', $t);
return $new_time;
}
}
を ' '{ticket.timeを避けてください。 } ''(TextNodesでオブジェクトアクセサーをラップする)。詳細については、https://vimeo.com/167666466を参照してください。 –