SORU
29 Kasım 2011, Salı


Nasıl Twig şablonu DateTime nesnesi oluşturmak için

Benim alan benim tarafın birinde bir "" değişken. datetime.

Nasıl bir tarayıcıda işlemek için bir dize içine bu alana dönüştürebilir miyim?

Burada kod parçacığı:

{% for game in games %}
    ...
        <td> {{game.gameTeamIdOne.teamName}} </td>
        <td> {{game.gameTeamIdTwo.teamName}} </td>
        <td> {{game.gameDate}}</td>
    </tr>
{% endfor %}

Burada varlık benim sınıf değişkeni:

/**
 * @var date $gameDate
 *
 * @ORM\Column(name="GAME_DATE", type="datetime", nullable=true)
 */
private $gameDate;

Ve burada alıyorum hata iletisi:

Bir istisna atılmış oldu sırasında oluşturma bir şablon ("Catchable Fatal Error: Object of class DateTime değil, dönüştürülmüş dize ...\app\cache\dev\twig\9b\ad\58fd3bb1517632badf1fdc7fa4a8.php hat 33") "BeerBundle:Oyunlar:gameTable.html.dal" at line 10.

CEVAP
17 NİSAN 2012, Salı


Kullanabilirsiniz rağmen

{{ game.gameDate|date('Y-m-d') }}

yaklaşım, bu sürüm bir site bir Milliyet sadece kullanıcılar tarafından kullanılan bir sorun olmamalı kullanıcı yerel ayarı, dikkate almaz unutmayın. Uluslararası kullanıcılar oyun tarih tamamen farklı, \DateTime sınıfının genişletilmesi ve yerel kontrol eder ve buna göre davranan __toString() bir yöntem ekleme gibi göstermek gerekir.

Edit:

@Bir yorum Nic tarafından belirttiği gibi, Eğer Intl extension of Twig kullanırsanız, kullanıcının yerel tarih gösterir localizeddate filtre kullanılabilir olacaktır. Bu şekilde \DateTime uzanan önceki benim fikrim bırakın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • hotstrikegently

    hotstrikegen

    26 AĞUSTOS 2011
  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006