は、このような単純なsymfonyのProduct Entity
と仮定する:Symfony3:StatusプロパティをTwigで翻訳するのに最適なPratice?
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="product")
*/
class Product
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=100)
*/
private $name;
/**
* @ORM\Column(type="integer")
*/
private $status;
}
ステータスを整数としてデータベースに保存され、各整数は、人間が読み取り可能な値に対応するであろう:
0 =>削除さ
1 =>アクティブ
2 =>無効
...
私は小枝で製品を表示すると、私はこの人間が読めるSTATUを表示する必要があります私はそれを他の言語に翻訳できるはずです。
この問題の最善の回避策は何ですか? 私はEntityのStatusToString()
メソッドについて考えていましたが、Twigを使用してEntitiesメソッドにアクセスする方法はわかりません。
メソッドgetStatusAsString()を作成し、Twigテンプレートで使用することができます: 'entity.getStatusAsString()'または 'entity.statusAsString' – user3429660
ステータステーブルm-1を追加することで、すべての可能なステータス 'とその名前を含んでいます。次に、product.status.nameを呼び出すだけで済みます(または、__toStringを追加してthis-> nameを追加し、twigだけでproduct.statusで足りる場合は、doctrine/translatableを使用して翻訳を提供できます)。 – Doug