You are here

NodeProcessor.php in Content Synchronizer 8

File

src/Plugin/content_synchronizer/entity_processor/NodeProcessor.php
View source
<?php

namespace Drupal\content_synchronizer\Plugin\content_synchronizer\entity_processor;

use Drupal\content_synchronizer\Processors\Entity\EntityProcessorBase;
use Drupal\Core\Entity\Entity;
use Drupal\node\Entity\Node;

/**
 * Plugin implementation of the 'accordion' formatter.
 *
 * @EntityProcessor(
 *   id = "content_synchronizer_node_processor",
 *   entityType = "node"
 * )
 */
class NodeProcessor extends EntityProcessorBase {

  /**
   * {@inheritdoc}
   */
  public function getEntityToImport(array $data, Entity $existingEntity = NULL) {
    if (is_null($existingEntity)) {
      $existingEntity = Node::create([
        'type' => $this
          ->getDefaultLanguageData($data)['type'],
      ]);
    }
    return parent::getEntityToImport($data, $existingEntity);
  }

  /**
   * {@inheritdoc}
   */
  public function getDataToExport(Entity $entityToExport) {

    // Init data to export:
    $data = parent::getDataToExport($entityToExport);

    // Add bundle :
    $data['type'] = $entityToExport
      ->bundle();
    return $data;
  }

}

Classes

Namesort descending Description
NodeProcessor Plugin implementation of the 'accordion' formatter.