123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- namespace Drupal\materio_decoupled\Controller;
- use Drupal\Core\Controller\ControllerBase;
- use Symfony\Component\HttpFoundation\Request;
- use Drupal\block\Entity\Block;
- use Symfony\Component\HttpFoundation\JsonResponse;
- // use Drupal\Core\Cache\CacheableJsonResponse;
- // use Drupal\Core\Cache\CacheableMetadata;
- // use Drupal\core\render\RenderContext;
- /**
- * Defines a route controller.
- */
- class AjaxHeaderMenuBlock extends ControllerBase {
- private function getBlockDefinition(){
- // $language = \Drupal::languageManager()->getCurrentLanguage()->getId();
- // \Drupal::logger('materio_user')->notice($language);
- $this->bid = "header";
- $this->block = Block::load($this->bid);
- $this->block_builded = \Drupal::entityTypeManager()->getViewBuilder('block')->view($this->block);
- }
- /**
- * Handler for getBlock request.
- */
- public function getBlock(Request $request) {
- $this->getBlockDefinition();
- $rendered = \Drupal::service('renderer')->renderRoot($this->block_builded);
- $data = [
- 'rendered' => $rendered,
- // '#cache' => [
- // 'max-age' => \Drupal\Core\Cache\Cache::PERMANENT,
- // 'tags' => [
- // 'materio_sapi-search_form-cache',
- // ]
- // ]
- ];
- $response = new JsonResponse();
- $response->setData($data);
- // $response = new CacheableJsonResponse($data);
- // $response->addCacheableDependency(CacheableMetadata::createFromRenderArray($data));
- return $response;
- }
- }
|