87 if (!$this->options) {
88 $this->options = $this->metadataProvider->getOptions();
101 if (!$this->fields) {
102 $component = $this->filter->getComponent();
103 $this->fields = $this->metadataProvider->getFields($component);
117 return $this->metadataProvider->getRowData($document, $this->
getFields(), $this->
getOptions());
126 public function getXmlFile()
128 $component = $this->filter->getComponent();
130 $name = md5(microtime());
131 $file =
'export/'. $component->getName() .
$name .
'.xml';
133 $this->filter->prepareComponent($component);
134 $this->filter->applySelectionOnTargetProvider();
136 $component->getContext()->getDataProvider()->setLimit(0, 0);
139 $searchResult = $component->getContext()->getDataProvider()->getSearchResult();
142 $searchResultItems = $searchResult->getItems();
144 $this->
prepareItems($component->getName(), $searchResultItems);
147 $searchResultIterator = $this->iteratorFactory->create([
'items' => $searchResultItems]);
150 $excel = $this->excelFactory->create(
152 'iterator' => $searchResultIterator,
153 'rowCallback'=> [$this,
'getRowData'],
157 $this->directory->create(
'export');
158 $stream = $this->directory->openFile($file,
'w+');
161 $excel->setDataHeader($this->metadataProvider->getHeaders($component));
162 $excel->write($stream, $component->getName() .
'.xml');
168 'type' =>
'filename',
181 foreach (
$items as $document) {
182 $this->metadataProvider->convertDate($document, $componentName);
getRowData(DocumentInterface $document)
prepareItems($componentName, array $items=[])
__construct(Filesystem $filesystem, Filter $filter, MetadataProvider $metadataProvider, ExcelFactory $excelFactory, SearchResultIteratorFactory $iteratorFactory)
if(!isset($_GET['name'])) $name