我知道如何在PHP中将数据添加到URL,但现在这是带有Fluid的TYPO3。 我现在需要将日期添加到像
这样的网址http://domain.dk/form.html?tx_powermail_pi1[field][30]=DATENOW
但我怎么能在TYPO3 + FLUID中做到这一点?
ADD / EDIT 19/05/2014 ..
我试图将时间用作预订ID。
好的,我有文件夹/ www / typo3conf / ext / powermail / Classes / ViewHelpers
在该文件夹中,我有一个名为BookIdViewHelper.php的文件,其代码为
<?php
#Booking ID
class BookIdViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
/**
* Renders time()
*
* @return int The current timestamp
*/
public function render() {
return time();
}
}
然后我有
的链接<a href="http://www.domain.dk/?id=47&tx_powermail_pi1[field][30]={urs:time()}">
然后我在模板/ www / typo3conf / ext / powermail / Resources / Private / Templates / Forms中 在form.html文件中,我添加了这样的命名空间。
{namespace vh=Tx_Powermail_ViewHelpers}
{namespace urs=Tx_Powermail_ViewHelpers}
<f:layout name="Default" />
Render Powermail Form
{forms} All Forms with their Pages and their Fields
<f:section name="main">
<f:flashMessages class="powermail_message powermail_message_error" />
<f:if condition="{forms}">
<f:then>
<f:for each="{forms}" as="form">
<f:form
action="{action}"
controller="Forms"
enctype="multipart/form-data"
class="powermail_form powermail_form_{form.uid} {form.css} {vh:Misc.MorestepClass(activate: '{settings.main.moresteps}', class: 'powermail_morestep')}">
<h3>{form.title} - {urs.time()}</h3>
<f:render partial="FormError" arguments="{error}" />
<f:for each="{form.pages}" as="page">
<fieldset class="powermail_fieldset powermail_fieldset_{page.uid} {page.css}">
<legend class="powermail_legend">{page.title}</legend>
<f:for each="{page.fields}" as="field">
<f:render partial="Forms/{vh:String.Upper(string: '{field.type}')}" arguments="{field: field}" />
</f:for>
</fieldset>
</f:for>
<f:form.hidden name="form" value="{form.uid}" />
<f:render partial="HoneyPod" arguments="{form: form}" />
</f:form>
</f:for>
</f:then>
<f:else>
<f:translate key="error_no_form" />
</f:else>
</f:if>
</f:section>
但它不起作用..我只得到文本{urs:time()}
答案 0 :(得分:4)
您可以使用f:format.date viewhelper以给定格式输出日期,如下所示:
<a href="http://domain.dk/form.html?tx_powermail_pi1[field][30]={f:format.date(date: '', format: 'd.m.Y')}">Link</a>
如果参数日期为空(非空),则f:format.date viewhelper输出当前日期。
如果您的字段(在本例中为powermail字段)需要时间戳,我建议您创建一个自己的viewhelper,它输出当前时间戳,如下所示。
class TimeViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper { /** * Renders time() * * @return int The current timestamp */ public function render() { return time(); } }
用法就像:
<a href="http://domain.dk/form.html?tx_powermail_pi1[field][30]={yournamespace:time()}">Link</a>