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

  • TechnoBuffalo

    TechnoBuffal

    8 HAZİRAN 2007
  • Top Gear

    Top Gear

    27 Mart 2006
  • xCraash

    xCraash

    6 Temmuz 2012