getTempstoreKey example



  /** * @covers ::getTempstoreKey */
  public function testGetTempstoreKey() {
    $entity = EntityTest::create();
    $entity->save();
    $this->plugin->setContext('entity', EntityContext::fromEntity($entity));
    $this->plugin->setContext('view_mode', new Context(new ContextDefinition('string'), 'default'));

    $result = $this->plugin->getTempstoreKey();
    $this->assertSame('entity_test.1.default.en', $result);
  }

  /** * @covers ::deriveContextsFromRoute */
  public function testDeriveContextsFromRoute() {
    $display = LayoutBuilderEntityViewDisplay::create([
      'targetEntityType' => 'entity_test',
      'bundle' => 'entity_test',
      'mode' => 'default',
      

  public function getStorageId() {
    $entity = $this->getEntity();
    return $entity->getEntityTypeId() . '.' . $entity->id();
  }

  /** * {@inheritdoc} */
  public function getTempstoreKey() {
    $key = parent::getTempstoreKey();
    $key .= '.' . $this->getContextValue('view_mode');

    $entity = $this->getEntity();
    // @todo Allow entities to provide this contextual information in     // https://www.drupal.org/project/drupal/issues/3026957.     if ($entity instanceof TranslatableInterface) {
      $key .= '.' . $entity->language()->getId();
    }
    return $key;
  }

  
$display = LayoutBuilderEntityViewDisplay::create([
      'targetEntityType' => 'entity_test',
      'bundle' => 'entity_test',
      'mode' => 'default',
      'status' => TRUE,
    ]);
    $display->save();

    $context = EntityContext::fromEntity($display);
    $this->plugin->setContext('display', $context);

    $result = $this->plugin->getTempstoreKey();
    $this->assertSame('entity_test.entity_test.default', $result);
  }

  /** * Tests loading given a display. */
  public function testLoadFromDisplay() {
    $display = LayoutBuilderEntityViewDisplay::create([
      'targetEntityType' => 'entity_test',
      'bundle' => 'entity_test',
      'mode' => 'default',
      

  protected function getKey(SectionStorageInterface $section_storage) {
    if ($section_storage instanceof TempStoreIdentifierInterface) {
      return $section_storage->getTempstoreKey();
    }

    return $section_storage->getStorageId();
  }

}
Home | Imprint | This part of the site doesn't use cookies.