Zitat von
zonky
BE oder FE?
Frontend. Ich habe es nun als Notbehelf so gelöst das ich mir die Seite per Cronjob aller 2 Stunden auf einer versteckten URL hole und in eine produktliste.php schreibe. Diese implementiere ich dann via {{file:roduktliste.php}} Insert-Tag.
Nun habe ich statt 12 Sek. > 2 Sek. Ladezeit.
Sobald mit nachfolgenden Updates die Perfomance wieder annehmbar ist löse ich diese Sonderform auf.
Code:
<?php
declare(strict_types=1);
$sourceUrls = [
'de_DE' => 'https://www.url.com/seite.html',
'en_GB' => 'https://www.url.com/seite.html',
'zh_CN' => 'https://www.url.com/seite.html',
];
if (isset($_GET['stage']) || $argv[1] === 'stage') {
$sourceUrls = [
'de_DE' => 'https://staging.url.de/seite.html',
'en_GB' => 'https://staging.url.de/seite.html',
'zh_CN' => 'https://staging.url.de/seite.html',
];
}
$classname = 'ce_metamodel_content';
foreach( $sourceUrls as $locale => $sourceUrl) {
$targetFilename = sprintf('%s/%s_produktliste.php', __DIR__, $locale);
$domDocument = new DOMDocument();
$finder = new DomXPath($domDocument);
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
file_put_contents($targetFilename, $domDocument->saveHTML($nodes->item(0)));
}
Lesezeichen