Dobrý den,
neuměl by mi prosím někdo poradit s následujícím problémem?
Přes svůj eshop prodávám virtuální produkty ve formě PDF. V override mám upravené rozšíření controlleru GetFileController.php, které oproti defaultnímu GetFileController.php dělá to, že vezme zdrojové PDF, vloží do jeho záhlaví určité údaje, vytažené z databáze, takto upravenou kopii původního souboru uloží na server do pomocného adresáře a následně by mělo dojít ke stažení toho upraveného souboru přes prohlížeč do počítače zákazníka, nebo by se alespoň mělo otevřít okno prohlížeče pro stažení souboru na lokál.
Celá ta funkcionalita vygenerování upraveného souboru a jeho následného stažení na lokál zákazníka se spouští kliknutím na odkaz, který PrestaShop standardně vkládá do emailu, který automaticky generuje a odesílá po potvrzení uhrazení objednávky virtuálního produktu na základě emailové šablony download_product. A to do místa, kde je v šabloně umístěn tag {virtualProducts}
V příloze přikládám to mé rozšíření GetFileController.php jako texťák.
Můj problém, se kterým si nevím rady, je následující a začal se vyskytovat asi před rokem. Do té doby všechno fungovalo správně.
Nyní ale, když udělám objednávku, tak po té, co mi přijde email s odkazem a já na ten odkaz kliknu, tak se sice na serveru správně vytvoří kopie pdf souboru v pomocném adresáři, ale dál se nestane nic. Soubor se ani sám nestáhne do počítače, ani se nezobrazí pop-up okno prohlížeče pro Uložení souboru jako.
Když na ten hyperlink přímo v tom emailu kliknu pravým tlačítkem myši a z kontextového menu zvolím volbu Uložit odkaz jako, otevře se okno pro stažení souboru na lokál a to PDF se v něm nabídne ke stažení. Když potvrdím, že ho chci stáhnout, prohlížeč zahlásí, že soubor nelze stáhnout a zeptá se mě, jestli má soubor zahodit, nebo zachovat. Když dám že zachovat, tak ho v pohodě stáhne na lokál.
Úplně stejně se to chová, když si z toho hyperlinku vykopíruju URL do schránky, vložím ho ručně do mailu, ten si pošlu a po té co mi přijde v něm na to URL kliknu.
Když si ale vykopíruju URL z toho hyperlinku do schránky, vložím ho do adresního řádku prohlížeče a spustím ho přímo z adresního řádku, tak všechno proběhne tak jak má a soubor se ihned automaticky stáhne na lokál, aniž by se mě prohlížeč na něco ptal, nebo mě na něco upozorňoval.
Zdá se tedy, jako by ta část toho upraveného scriptu, která má na starost vygenerování upraveného souboru a jeho uložení do pomocného adresáře na server, fungovala správně (tedy kód až do řádku 500). Ale pak je nějaký problém s tou částí, která má vyvolat stažení souboru ze serveru na lokál. Což je část od řádku 500 dál.
Bohužel netuším, v čem ten problém vězí.

Neuměl by jste mi s tím prosím někdo poradit?