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

  • Andytokkallos

    Andytokkallo

    27 Kasım 2007
  • PlugResearch

    PlugResearch

    22 Mart 2006
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006