mrhorse
6/9/2015 - 6:53 AM

Drupal 8 - Examples

Drupal 8 - Examples

<?php
// Programmatically create and translate taxonomy terms.

use Drupal\taxonomy\Entity\Term;

$term = Term::create([
  'vid' => 'sport_activity',
  'langcode' => 'en',
  'name' => 'My tag',
  'description' => [
    'value' => '<p>My description.</p>',
    'format' => 'full_html',
  ],
  'weight' => -1
  'parent' => array (0);
]);
$term->save();
\Drupal::service('path.alias_storage')->save("/taxonomy/term/" . $term->id(), "/tags/my-tag", "en");

$term_es = $term->addTranslation('es');
$term_es->name = 'Mi etiqueta';
$term_es->description->value = '<p>Mi descripción.</p>';
$term_es->description->format = 'full_html';
$term_es->save();
\Drupal::service('path.alias_storage')->save("/taxonomy/term/" . $term->id(), "/etiquetas/mi-etiqueta", "es");
<?php
// Programmatically create node with image fields.
use Drupal\file\Entity\File;
use Drupal\node\Entity\Node;

$file = File::create([
  'uid' => 1,
  'uri' => 'public://page/logo.png',
  'status' => 1,
]);
$file->save();

$node = Node::create([
  'type' => 'article',
  'langcode' => 'en',
  'created' => REQUEST_TIME,
  'changed' => REQUEST_TIME,
  'uid' => 1,
  'title' => 'My title',
  'field_tags' =>[2],
  'body' => [
    'summary' => '',
    'value' => 'My node!',
    'format' => 'full_html',
  ],
  'field_images' => [
    [
      'target_id' => $file->id(),
      'alt' => "My 'alt'",
      'title' => "My 'title'",
    ],
  ],
]);
$node->save();
\Drupal::service('path.alias_storage')->save('/node/' . $node->id(), '/my-path', 'en');
<?php
// Programmatically create and translate nodes.

use Drupal\node\Entity\Node;

$node = Node::create([
  // The node entity bundle.
  'type' => 'article',
  'langcode' => 'en',
  'created' => REQUEST_TIME,
  'changed' => REQUEST_TIME,
  // The user ID.
  'uid' => 1,
  'title' => 'My test!',
  // An array with taxonomy terms.
  'field_tags' =>[2],
  'body' => [
    'summary' => '',
    'value' => '<p>The body of my node.</p>',
    'format' => 'full_html',
  ],
]);
$node->save();
\Drupal::service('path.alias_storage')->save("/node/" . $node->id(), "/my/path", "en");

$node_es = $node->addTranslation('es');
$node_es->title = 'Mi prueba!';
$node_es->body->value = '<p>El cuerpo de mi nodo.</p>';
$node_es->body->format = 'full_html';
$node_es->save();
\Drupal::service('path.alias_storage')->save("/node/" . $node->id(), "/mi/ruta", "es");
<?php
// Programmatically create and translate menu links.
use Drupal\menu_link_content\Entity\MenuLinkContent;

$menu_item = MenuLinkContent::create([
  'bundle' => 'menu_link_content',
  'langcode' => 'en',
  'title' => 'My menu link',
  'description' => 'My description.',
  'menu_name' => 'main',
  'link' => [['uri' => 'internal:/taxonomy/term/15']],
  'parent' => 'menu_link_content:c8859c9c-a550-45a9-a705-5d032dee525c',
  'weight' => 0,
]);
$menu_item->save();

$menu_item_es = $menu_item->addTranslation('es');
$menu_item_es->title = 'Mi enlace del menú';
$menu_item_es->description = 'Mi descripción.';
$menu_item_es->save();
<?php
// Programmatically create files.
use Drupal\file\Entity\File;

$file = File::create([
  'uid' => 1,
  'filename' => 'logo.svg',
  'uri' => 'public://page/logo.svg',
  'status' => 1,
]);
$file->save();
# Taxonomy terms:
 - https://gist.github.com/facine/35bb291811c146b6fc9e#file-create_taxonomy_term-php

# Menu links:
 - https://gist.github.com/facine/35bb291811c146b6fc9e#file-create_menu_link-php

# File items:
 - https://gist.github.com/facine/35bb291811c146b6fc9e#file-create_file-php

# Nodes:
  # Simple node:
   - https://gist.github.com/facine/35bb291811c146b6fc9e#file-create_node-php
  # Node with image field:
   - https://gist.github.com/facine/35bb291811c146b6fc9e#file-create_node_with_image-php