presto-8.x-2.2/src/Plugin/Presto/DemoContent/CreateProductListingPage.php

src/Plugin/Presto/DemoContent/CreateProductListingPage.php
<?php

namespace Drupal\presto\Plugin\Presto\DemoContent;

use Drupal\Core\Language\LanguageInterface;
use Drupal\menu_link_content\Entity\MenuLinkContent;
use Drupal\node\Entity\Node;

/**
 * Creates the product listing page.
 *
 * @PrestoDemoContent(
 *     id = "create_product_listing",
 *     type = \Drupal\presto\Installer\DemoContentTypes::ECOMMERCE,
 *     label = @Translation("Create product listing page"),
 *     weight = 10
 * )
 *
 * @package Drupal\presto\Plugin\Presto\DemoContent
 */
class CreateProductListingPage extends AbstractDemoContent {

  /**
   * {@inheritdoc}
   *
   * @throws \Drupal\Core\Entity\EntityStorageException
   */
  public function createContent() {
    // Create node.
    $node = Node::create([
      'type' => 'page',
      'title' => 'Products',
      'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED,
      'uid' => 1,
      'status' => 1,
      'promote' => 0,
      'field_fields' => [],
      'path' => [
        'alias' => '/products',
      ],
    ]);
    $node->save();

    // Create menu link.
    $menuLink = MenuLinkContent::create([
      'title' => 'Products',
      'link' => [
        'uri' => "internal:/node/{$node->id()}",
      ],
      'menu_name' => 'main',
      'weight' => 30,
      'expanded' => TRUE,
    ]);
    $menuLink->save();
  }

}

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

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