public function Xml::export in TMGMT Translator Smartling 8.2
Same name and namespace in other branches
- 8.4 src/Plugin/tmgmt_file/Format/Xml.php \Drupal\tmgmt_smartling\Plugin\tmgmt_file\Format\Xml::export()
- 8 src/Plugin/tmgmt_file/Format/Xml.php \Drupal\tmgmt_smartling\Plugin\tmgmt_file\Format\Xml::export()
- 8.3 src/Plugin/tmgmt_file/Format/Xml.php \Drupal\tmgmt_smartling\Plugin\tmgmt_file\Format\Xml::export()
.
Overrides Html::export
File
- src/
Plugin/ tmgmt_file/ Format/ Xml.php, line 22
Class
- Xml
- Export into HTML.
Namespace
Drupal\tmgmt_smartling\Plugin\tmgmt_file\FormatCode
public function export(JobInterface $job, $conditions = []) {
// Export job items data without relation to their ids.
$items = [];
foreach ($job
->getItems($conditions) as $item) {
$data = \Drupal::service('tmgmt.data')
->filterTranslatable($item
->getData());
foreach ($data as $key => $value) {
// TODO: identical filename task.
// $items[$item->id()][$this->encodeIdSafeBase64($item->getItemType() . ':' . $item->getItemId() . '][' . $key)] = $value;
$items[$item
->id()][$this
->encodeIdSafeBase64($item
->id() . '][' . $key)] = $value;
}
}
// Avoid rendering with "renderer" service in order to avoid theme debug
// mode - if it's enabled we shouldn't print debug messages into XML file.
// Use "twig" service instead.
$variables = [
'items' => $items,
];
$theme_registry = theme_get_registry();
$info = $theme_registry['tmgmt_smartling_xml_template'];
$template_file = $info['template'] . '.html.twig';
if (isset($info['path'])) {
$template_file = $info['path'] . '/' . $template_file;
}
return \Drupal::service('twig')
->loadTemplate($template_file)
->render($variables);
}