Skip to content

Instantly share code, notes, and snippets.

@dsasser
Forked from facine/__INDEX.txt
Last active June 15, 2016 19:12
Show Gist options
  • Save dsasser/98e1c356aaef620c26a181ef0b90f818 to your computer and use it in GitHub Desktop.
Save dsasser/98e1c356aaef620c26a181ef0b90f818 to your computer and use it in GitHub Desktop.
Drupal 8 - Examples
<?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();
<?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 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 node with paragraph field.
use Drupal\paragraph\Entity\Paragraph;
use Drupal\node\Entity\Node;
$paragraph = Paragraph::create([
'title' => 'Gallery',
'type' => 'views_display',
'view_content' => array(
'vname' => 'gallery|block_1',
),
]);
$paragraph->save();
// Instantiate the Gallery landing page node.
$node = Node::create([
'type' => 'landing_page',
'langcode' => 'en',
'created' => REQUEST_TIME,
'changed' => REQUEST_TIME,
'uid' => 1,
'title' => 'Gallery',
'path' => [
'pathauto' => FALSE,
],
'field_landing_page_content' => [
[
'target_id' => $paragraph->id(),
'target_revision_id' => $paragraph->getRevisionId(),
],
],
]);
$node->save();
\Drupal::service('path.alias_storage')->save('/node/' . $node->id(), '/my-path', 'en');
<?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");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment