Symfony, ramita – filtro predeterminado para todas las variables en la plantilla

Digamos que quiero mostrar un conjunto de datos más grande y es posible que haya muchos valores nulos / vacíos. No quiero definir el filtro predeterminado para cada variable. ¿Hay alguna manera de mostrar un valor predeterminado para todas las variables (vacías, nulas) en una plantilla (como: “no especificado”).

EDITAR:

ramita:

{# src/KuMiV/EmployeeBundle/Resources/views/Other/detailItem.html.twig #} {% extends "base.html.twig" %} ... {% block content %} 

Personenbezogene Angaben

{{ employee.id }}

{{ employee.title|default('keine Angabe') }}

{{ employee.firstName }}

{{ employee.lastName }}

{{ employee.gender }}

{{ employee.email|default('keine Angabe') }}

{{ employee.phone1|default('keine Angabe') }}

{{ employee.phone2|default('keine Angabe') }}

... {% endblock content %}

Controlador:

 class DefaultController extends Controller { public function detailAction($id) { $employee = $this->getDoctrine("Employee") ->getRepository("EmployeeBundle:Employee") ->find($id); return $this->render('EmployeeBundle:Other:detail.html.twig', array( 'employee' => $employee, )); } } 

Es posible que deba crear una extensión twig personalizada para esto.

 namespace Employee\EmployeeBundle\Twig; class EmployeeExtension extends \Twig_Extension { public function getFilters() { return array( new \Twig_SimpleFilter('setDefaults', array($this, 'setDefaultFilter')), ); } public function setDefaultFilter($employee) { $employee.title = !empty($employee.title) ? $employee.title : 'keine Angabe'; $employee.email = !empty($employee.email) ? $employee.email : 'keine Angabe'; //... So on; continue for others return $employee; } public function getName() { return 'employee_extension'; } } 

Tenga en cuenta que debe registrar la extensión como un servicio:

 services: employee.twig.employee_extension: class: Employee\EmployeeBundle\Twig\EmployeeExtension tags: - { name: twig.extension } 

Ahora puedes usarlo en tu archivo twig como:

 {% set employee = employee|setDefaults %} 

Aún así, creo que el filtro default en twig es mejor.