В моем cronjob есть функция, которая экспортирует PDF-файлы, чтобы сохранить их в архиве. Все работает отлично, за исключением того, что язык PDF всегда по умолчанию английский. Вот моя функция:
public function writePdf($document_id){
$invoice = $this->invoiceRepository->get($document_id);
$pdf = $this->invoicePdfGeneratorService->execute($invoice);
return $this->fileFactory->create(
'_' . $document_id . '.pdf',
$pdf->render(),
DirectoryList::VAR_DIR ,
'application/pdf'
);
}
Я изучил invoiceGeneratorService
, ведущий к методу getPdf
в Magento\Sales\Model\Order\Pdf\Invoice.php
, где я затем нашел следующее:
if ($invoice->getStoreId()) {
$this->_localeResolver->emulate($invoice->getStoreId());
$this->_storeManager->setCurrentStore($invoice->getStoreId());
}
Поскольку я запускаю Magento 2 в режиме одного магазина, и мой бэкэнд, а также мои электронные письма о продажах отображают PDF-файлы на немецком языке (de_DE), я предполагаю, что что-то пропустил. Я предполагал передать Store Id с функцией writePdf, но я не нашел никакой документации о том, как это сделать. У кого-нибудь есть идея?