Kann es sein, dass man die Klasse "ReadServiceDatabaseReader" nicht überladen kann? Es kommt die Fehlermeldung: Code: Class 'tndReadServiceDatabaseReader_parent' not found /GXModules/Thrownatur/AdminCombiCollections/Admin/Overloads/ReadServiceDatabaseReader/tndReadServiceDatabaseReader.inc.php:2 Für das Forum gekürzte Datei: Code: <?php class tndReadServiceDatabaseReader extends tndReadServiceDatabaseReader_parent { public function getImageLists(int $listId = null): array { $result = []; return $result; } } GX4.5 Beta 2
@BigRib Die Services sind nicht überladbar, hier wäre es gut zu wissen was du vorhast, eventuell gibt es eine andere Möglichkeit.
@Till (Gambio) Wir haben ca. 10000 Varianten im Schnitt im Shop, das ist sehr unübersichtlich. Deswegen habe ich mir was gebaut, was aus Bildern automatisch Kollektionen erstellt und diese werden auch einem Artikel zugeordnet. Da ich nun nur noch die Kollektionen benötige, die dem jeweiligen Artikel zugeordnet sind, muss ich die Datenbankabfrage dementsprechend abändern. Das klappt auch einwandfrei. Code: class tndReadServiceDatabaseReader extends tndReadServiceDatabaseReader_parent { public function getImageLists(int $listId = null): array { $result = []; $referer_url = $_SESSION['user_info']['referer_url']; $parsing_url = parse_url($_SESSION['user_info']['referer_url'], PHP_URL_QUERY); if(isset($parsing_url)) { parse_str($parsing_url, $parcing_array); } //trigger_error(var_dump($parcing_array["products_id"]) , E_USER_ERROR); $productId = (int) $parcing_array["products_id"]; $builder = $this->queryBuilder ->select('product_image_list.product_image_list_id, product_image_list.product_image_list_name') ->from(self::IMAGE_LIST_TABLE_NAME) ->join('product_image_list_to_products', 'product_image_list_to_products.product_image_list_id = product_image_list.product_image_list_id', 'left'); if (!empty($productId)) { $builder->where(['product_image_list_to_products.' . self::PROPERTY_COMBI_PRODUCTS_ID_COLUMN => $productId]); } if ($listId !== null) { $builder->where(['product_image_list.' . self::LIST_ID_COLUMN => $listId]); } $entries = $builder->get()->result_array(); if (count($entries)) { foreach ($entries as $entry) { [ self::LIST_ID_COLUMN => $listId, self::LIST_NAME_COLUMN => $listName ] = $entry; $result[] = $this->createImageListDto($listId, $listName); } } return $result; } }
@Till (Gambio) Hast Du was gefunden? Ich würde das was ich da baue, gern auch einen Mitbewerber verfügbar machen, dann muss es aber Updatesicher sein.