/**
  * Tests the getViewBuilder() method.
  *
  * @covers ::getViewBuilder
  */
 public function testGetViewBuilder()
 {
     $class = $this->getTestHandlerClass();
     $entity = $this->prophesize(EntityTypeInterface::class);
     $entity->getHandlerClass('view_builder')->willReturn($class);
     $this->setUpEntityTypeDefinitions(['test_entity_type' => $entity]);
     $this->assertInstanceOf($class, $this->entityTypeManager->getViewBuilder('test_entity_type'));
 }
Beispiel #2
0
 private function queryBenzinarii($lat_ne, $lon_ne, $lat_sw, $lon_sw)
 {
     $data = new \stdClass();
     $data->pins = [];
     $data->listing = '';
     $query = $this->entity_query->get('node')->condition('field_coordonate.lat', (double) $lat_ne, '<')->condition('field_coordonate.lon', (double) $lon_ne, '<')->condition('field_coordonate.lat', (double) $lat_sw, '>')->condition('field_coordonate.lon', (double) $lon_sw, '>');
     $ids = $query->execute();
     if (!count($ids)) {
         return $data;
     }
     $entities = $this->entity_type_manager->getStorage('node')->loadMultiple($ids);
     foreach ($entities as $entity) {
         $pin = new \stdClass();
         $pin->lat = $entity->field_coordonate->lat;
         $pin->lon = $entity->field_coordonate->lon;
         $pin->pret = PretCarburant::getPretCarburantCurent($entity);
         $pin->id = $entity->id();
         if ($pin->pret) {
             $entity->pret = $pin->pret;
             $data->pins[$pin->id] = $pin;
             $render_entities[] = $entity;
         }
     }
     if (!count($render_entities)) {
         return $data;
     }
     uasort($render_entities, function ($a, $b) {
         if ($a->pret == $b->pret) {
             return 0;
         } else {
             if ($a->pret < $b->pret) {
                 return -1;
             } else {
                 return 1;
             }
         }
     });
     $render = $this->entity_type_manager->getViewBuilder('node')->viewMultiple($render_entities, 'small_teaser');
     $data->listing = '<div class="listing-benzinarii">' . $this->renderer->render($render) . '</div>';
     return $data;
 }