Hallo,
möchte gerne programmatisch alle einem Produkt zugeordneten Domains auslesen. Habe das bisher über die Methode getSeoUrls() gemacht, aber das Product liefert als Ergebnis in diesem Fall null. Deswegen suche ich nach einer Alternative. Weiß jemand Rat?
$temp_file = tempnam(sys_get_temp_dir(), 'Error');
$productCriteria->addAssociation('visibilities');
$productCriteria->addAssociation('seoUrls.salesChannel.domains');
//context wird als Parameter übergeben
$salesChannelId = $context->getSalesChannelId(); //existiert
$varientProduct = $this->productRepository->search($productCriteria, $context)->first()->getSeoUrls(); // varientProduct->getSeoUrls() is null!
$varientProduct = $this->productRepository->search($productCriteria, $context)->first(); //Objekt existiert
ob_start();
//productId wird der Methode als Parameter übergeben
var_dump($productId); //existiert
var_dump( $salesChannelId); //existiert
var_dump($varientProduct->getSalesChannel());//geht so nicht, da getSeoUrls() null
var_dump($varientProduct->getDomains()); //geht so nicht, da getSeoUrls() null
if (file_put_contents(__DIR__ . '/errorPlugin.log',PHP_EOL . ob_get_contents(), FILE_APPEND) === false){
file_put_contents($temp_file, ob_get_contents(), FILE_APPEND);
}
ob_end_clean();
$languageId='2fbb5fe2e29a4d70aa5854ce7ce3e20b';
//benötige eine Alternative zu $domains, da es so natürlich eine Exception wirft
$domains = $varientProduct->getSalesChannel()->getDomains();
Das Problem: Dadurch, dass(siehe Kommentare) im Code einiges null ist, stecke ich metertief im Morast
Zusatzfrage:
Über welches Query würde ich denn die einem Produkt zugehörigen Domains bekommen? Das Ergebnis könnte ich dann in ein Array packen und entsprechend weiter verarbeiten. Kenne die involvierten Tabellen nicht, ansonsten würde ich das Query selber formulieren.