admin_ui-8.x-1.x-dev/src/Normalizer/MenuLinkNormalizer.php

src/Normalizer/MenuLinkNormalizer.php
<?php

namespace Drupal\admin_ui_support\Normalizer;

use Drupal\Core\Menu\MenuLinkInterface;
use Drupal\serialization\Normalizer\NormalizerBase;

class MenuLinkNormalizer extends NormalizerBase {

  /**
   * {@inheritdoc}
   */
  protected $supportedInterfaceOrClass = '\Drupal\Core\Menu\MenuLinkInterface';

  public function normalize($object, $format = NULL, array $context = array()) {
    if ($object instanceof MenuLinkInterface) {
      $menu_link = [
        'weight' => $object->getWeight(),
        'title' => (string) $object->getTitle(),
        'description' => (string) $object->getDescription(),
        'menuName' => (string) $object->getMenuName(),
        'url' => (string) $object->getUrlObject()->setOption('absolute', FALSE)->toString(TRUE)->getGeneratedUrl(),
      ];
      return $menu_link;
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc