在国际扩展是枝条的延伸,增加了的localizeddate,localizednumber和localizedcurrency过滤器.如何安装和设置扩展程序,以便在Twig模板中使用这些过滤器?
要在树枝上格式化日期,通常使用以下内容:
{{ meeting.date|date("m/d/Y") }}
Run Code Online (Sandbox Code Playgroud)
现在,我必须本地化这个日期(美国m/d/y,NL d/m/y).在树枝上做这件事的最佳做法是什么?我确实使用Symfony 2,解决方法是在控制器中进行翻译,但我想在树枝上做这个.
我只是想根据当前的语言环境显示月份的名称.
{{ event.date|date('F') }}
Run Code Online (Sandbox Code Playgroud)
但这几个月总是以英文显示......
class Helper_Twig extends Twig_Extension
{
public function getFilters()
{
return array(
'datetime' => new Twig_Filter_Method($this, 'datetime')
);
}
public function datetime($d, $format = "%B %e")
{
if ($d instanceof \DateTime) {
$d = $d->getTimestamp();
}
return strftime($format, $d);
}
public function getName()
{
return 'Helper';
}
}
Run Code Online (Sandbox Code Playgroud)
注意:在控制器中我正在检查当前的语言环境$request->getLocale,它对应于我在parameters.yml中切换的语言环境参数.
问题是什么?
我从MS SQL数据库中检索一个时间段,例如'10:30:00'(hh:mm:ss).我尝试在树枝模板中渲染它,但我只想显示'10:30'部分(hh:mm).
我已经尝试使用number_format和date_format来完成这项工作,但我似乎无法完成它.例如,失败的尝试将是:
<td class="PODTIME">{{ record.PODTIME|number_format(2, ':') }}</td>
Run Code Online (Sandbox Code Playgroud)
是的,没有意义.但我找不到任何东西,甚至远远接近我想要的东西 - 我想我忽略了一些东西.
谢谢
有人能告诉我如何在Symfony2中切换语言环境日期格式吗?
无论我在config(framework.session.default_locale)中设置什么,这总是以英语返回工作日(我需要工作日用德语):
$start->format("D d.m.Y");
Run Code Online (Sandbox Code Playgroud)
当我输出默认语言环境时,它总是返回"de"BTW,无论我在config.yml中设置什么
echo \Locale::getDefault()
Run Code Online (Sandbox Code Playgroud)
附加信息:
我希望能够在我的本地系统和实时服务器上正确输出日期(意味着正确的德语工作日)格式化日期.尝试使用strftime,它使用系统安装的语言环境并且遇到了麻烦,因为语言环境包在live和dev机器上有不同的命名方案.这里还有另外一个问题: PHP:为什么我在服务器上的日期格式不同?
大家好,我在创建和修改某些数据时尝试渲染日期时遇到问题.
我有专辑包,当我创建新的专辑项时,我插入数据库日期时,该专辑是创建的,何时被修改.我成功将数据插入数据库但我只有在尝试渲染时才有问题.
我得到的错误是:
在渲染模板期间抛出异常("Catchable Fatal Error:类DateTime的对象无法转换为/ home/ikac/public_html/Symfony/app/cache/dev/twig/6f/eb/a068a5eed37d5c1eca1228cc7bb9中的字符串DevAlbumBundle中的.php第56行":默认值:第19行的index.html.twig.500内部服务器错误 - Twig_Error_Runtime 1链接异常:
Run Code Online (Sandbox Code Playgroud)ContextErrorException »
检查我的实体和控制器是否有此操作:
<?php
namespace Dev\AlbumBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Albums
*
* @ORM\Table(name="albums")
* @ORM\HasLifecycleCallbacks()
* @ORM\Entity(repositoryClass="Dev\AlbumBundle\Entity\AlbumsRepository")
*/
class Albums
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* @var string
*
* @ORM\Column(name="description", type="text")
*/
private $description;
/**
* @var string
*
* @ORM\Column(name="background", type="string", …Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用工艺cms构建的项目,它使用twig模板,我想将日期格式化为这种格式:
13. June 2017
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做,我尝试过使用php日期函数:
{{ entry.dateUpdated.date('j. F Y') }}
Run Code Online (Sandbox Code Playgroud)
还有:
{{ entry.dateUpdated.localeDate('j. F Y') }}
Run Code Online (Sandbox Code Playgroud)
但是,它们都没有奏效.我怎样才能做到这一点?
我有一个人(员工)搜索应该按姓名,姓氏,出生日期和一些其他参数返回人员列表.搜索适用于每个参数免除日期参数,如出生日期.我的控制器代码是这样的:
$aWorker = new Worker();
$searchWorkerForm = $this->createFormBuilder($aWorker)
->add('omang', 'text', array('required' => false))
->add('workerName', 'text', array('required' => false))
->add('workerSurname', 'text', array('required' => false))
->add('birthDay', 'date',
array('required' => false, 'years' => range(1950, 2020)))
->add('dateOfEmployment', 'date', array('required' => false))
->add('search', 'submit')
->getForm();
//Handle Request
if ($request->getMethod() == 'POST')
$searchWorkerForm->handleRequest($request);
$aWorkerList = $this->getDoctrine()
->getRepository('OsdRetireBundle:Worker')
->findByPersonDetails($aWorker->getOmang(),
$aWorker->getWorkerName(),
$aWorker->getWorkerSurname(),
$aWorker->getBirthDay(),
$aWorker->getDateOfEmployment());
//...
Run Code Online (Sandbox Code Playgroud)
findByPersonDetails函数是这样的:
public function findByPersonDetails($omang, $WorkerName,
$workerSurname, $birthDay, $dateOfEmployment){
$qqq = $this->getEntityManager()
->createQuery('SELECT w FROM OsdRetireBundle:Worker w
WHERE w.omang LIKE :omang
AND w.workerName LIKE …Run Code Online (Sandbox Code Playgroud)