public static function MetatagExport::generateExportCsv in Metatag Import Export CSV 8
Batch Callback to generate csv.
File
- src/
MetatagExport.php, line 18
Class
- MetatagExport
- Class for batch process for metatag export.
Namespace
Drupal\metatag_import_export_csvCode
public static function generateExportCsv($id, $entity_type, $tags, $delimeter, &$context = []) {
$entity = [];
$entity = \Drupal::service('entity_type.manager')
->getStorage($entity_type)
->load($id);
if (!empty($entity)) {
$entityTags = metatag_generate_entity_metatags($entity);
$definitions = $entity
->getFieldDefinitions();
$tagsList = [];
$tagsList['entity_id'] = $id;
$tagsList['entity_title'] = $entity
->label();
$tagsList['entity_bundle'] = $entity
->bundle();
$tagsList['entity_type'] = $entity_type;
foreach ($definitions as $field_name => $definition) {
$field_type = $definition
->getType();
if ($field_type == 'metatag') {
$tagsList['field_machine_name'] = $definition
->getName();
}
}
$tagsList['alias'] = \Drupal::service('path_alias.manager')
->getAliasByPath('/' . $entity_type . '/' . $id);
foreach ($tags as $keys => $values) {
if (!empty($entityTags[$keys])) {
if (isset($entityTags[$keys]['#attributes']['content'])) {
$tagsList[$keys] = $entityTags[$keys]['#attributes']['content'];
}
elseif (isset($entityTags[$keys]['#attributes']['href'])) {
$tagsList[$keys] = $entityTags[$keys]['#attributes']['href'];
}
else {
$tagsList[$keys] = "";
}
}
else {
$tagsList[$keys] = "";
}
}
$context['results']['rows'][] = $tagsList;
$context['results']['delimeter'] = $delimeter;
$context['results']['tags'] = $tags;
$context['results']['entity_type'] = $entity_type;
}
}