public function readIntoWidgetRouteParameters(Widget $widget)
 {
     $entity = $widget->getEntity();
     //Creates a new twig environment
     $twig = new \Twig_Environment(new \Twig_Loader_String());
     //add global values for `entity` and `businessEntityId`
     $twig->addGlobal('entity', $entity);
     $twig->addGlobal($widget->getBusinessEntityId(), $entity);
     //Interpret variables in widget route parameters to be able to generate correct
     $params = array();
     foreach ($widget->getLink()->getRouteParameters() as $key => $_routeParameter) {
         $params[$key] = $twig->render($_routeParameter);
     }
     $widget->getLink()->setRouteParameters($params);
 }
 protected function populateParametersWithWidgetFields(Widget $widget, $entity, &$parameters)
 {
     $fields = $widget->getFields();
     //parse the field
     foreach ($fields as $widgetField => $field) {
         //get the value of the field
         if ($entity !== null) {
             $attributeValue = $entity->getEntityAttributeValue($field);
         } else {
             $attributeValue = $widget->getBusinessEntityId() . ' -> ' . $field;
         }
         $parameters[$widgetField] = $attributeValue;
     }
 }