Smarty {if} hedef olarak Yöntemi

1 Cevap php

Smarty şablonunda bir koşullu hedef olarak bir nesnenin bir yöntem çağrısı kullanmak için bir yolu var mı?

Somut bir örnek olarak, ben bir yöntem ile $user bir nesne var loggedIn(). Ben kullanıcı oturum ise ekstra bilgi göstermek için bu yöntemi kullanmak istiyorum

Ben geçici bir değişkene bu yöntemin dönüş değeri atamak ve hedef olarak kullanmak {if} yapabilirsiniz:

{user->loggedIn assign="loggedIn"}
{if $loggedIn}
  // show extra info
{/if}

Bu ara adımı atlamak için bir yolu var mı? Ben böyle bir şey (çalışmıyor) İstediklerim:

{if user->loggedIn}
  // show extra info
{/if}

Ben Smarty belgelerinde bu gibi nesneleri kullanarak herhangi bir örnek bulamıyorum.

1 Cevap

Kullan assign_by_ref instead of register_object:

$smarty->assign_by_ref('user', $user);

Sonra yöntemleri erişebilirsiniz:

{if $user->loggedIn()}
    // show extra info
{/if}