diff --git a/public/typo3conf/ext/ep_products/Classes/Domain/Repository/ProductRepository.php b/public/typo3conf/ext/ep_products/Classes/Domain/Repository/ProductRepository.php index f2604017..8cca4e5d 100644 --- a/public/typo3conf/ext/ep_products/Classes/Domain/Repository/ProductRepository.php +++ b/public/typo3conf/ext/ep_products/Classes/Domain/Repository/ProductRepository.php @@ -17,7 +17,8 @@ class ProductRepository extends AbstractRepository $qb ->select( 'date.concept as conceptUid', 'date.concept_name as conceptName', - 'date.concept_code as conceptCode', 'date.product as productUid', 'date.product_name as productName', + 'date.concept_code as conceptCode', 'con.popup_text as conceptPopupText', + 'date.product as productUid', 'date.product_name as productName', 'date.product_detail_page as productDetailPage', 'date.product_feature as productFeature', 'date.country as countryUid','date.country_name as countryName', 'date.country_code as countryCode', 'date.region as regionUid', 'date.region_name as regionName', 'date.region_feature as regionFeature', @@ -30,6 +31,7 @@ class ProductRepository extends AbstractRepository 'date.available as available', 'date.pseudo_price as pseudoPrice' ) ->from('tx_epproducts_domain_model_date', 'date') + ->leftJoin('date', 'tx_epproducts_domain_model_concept', 'con', 'date.concept = con.uid') ->where($qb->expr()->in( 'date.product', $qb->createNamedParameter($productUids, Connection::PARAM_INT_ARRAY)) @@ -60,7 +62,7 @@ class ProductRepository extends AbstractRepository ->select( 'date.concept as conceptUid', 'date.concept_name as conceptName', 'date.concept_code as conceptCode', 'date.concept_sorting as conceptSorting', - 'date.concept_popup_text as conceptPopupText', + 'con.popup_text as conceptPopupText', 'date.product as productUid', 'date.product_name as productName', 'date.product_detail_page as productDetailPage', 'date.product_feature as productFeature', 'date.daytrip as daytrip', 'date.country as countryUid','date.country_name as countryName', @@ -78,6 +80,7 @@ class ProductRepository extends AbstractRepository 'room.type as roomType' ) ->from('tx_epproducts_domain_model_date', 'date') + ->leftJoin('date', 'tx_epproducts_domain_model_concept', 'con', 'date.concept = con.uid') ->leftJoin('date', 'tx_epproducts_domain_model_room', 'room', 'room.date = date.uid') ->where($qb->expr()->andX( $qb->expr()->eq('date.product_searchable', 1), @@ -125,31 +128,35 @@ class ProductRepository extends AbstractRepository $qb ->select( - 'product as productUid', 'product_name as productName', 'product_detail_page as productDetailPage', - 'product_feature as productFeature', 'product_teaser as productTeaser', 'product_fact as productFact', - 'product_slug as productSlug', - 'hotel as hotelUid', 'hotel_fact as hotelFact', 'hotel_name as hotelName', - 'hotel_category as hotelCategory', 'region_fact as regionFact', 'region_name as regionName', - 'region_feature as regionFeature', - 'country_name as countryName', 'country_code as countryCode', - 'date_start as dateStart', 'date_end as dateEnd', 'uid as dateUid', 'min_price as minPrice', - 'pseudo_price as pseudoPrice', 'nights as nights', 'available as available', 'season as season', - 'skipass_included as skiPassIncluded', 'bus_included as busIncluded', - 'earlybird', 'new', 'daytrip', 'hide_booking_button as hideBookingButton', - 'low_contingent as lowContingent', 'concept as conceptUid', 'concept_code as conceptCode', - 'concept_name as conceptName', 'concept_popup_text as conceptPopupText', 'board', 'new' + 'date.product as productUid', 'date.product_name as productName', + 'date.product_detail_page as productDetailPage', 'date.product_feature as productFeature', + 'date.product_teaser as productTeaser', 'date.product_fact as productFact', + 'date.product_slug as productSlug', + 'date.hotel as hotelUid', 'date.hotel_fact as hotelFact', 'date.hotel_name as hotelName', + 'date.hotel_category as hotelCategory', 'date.region_fact as regionFact', + 'date.region_name as regionName', 'date.region_feature as regionFeature', + 'date.country_name as countryName', 'date.country_code as countryCode', + 'date.date_start as dateStart', 'date.date_end as dateEnd', 'date.uid as dateUid', + 'date.min_price as minPrice', 'date.pseudo_price as pseudoPrice', + 'date.nights as nights', 'date.available as available', 'date.season as season', + 'date.skipass_included as skiPassIncluded', 'date.bus_included as busIncluded', + 'date.earlybird', 'date.new', 'date.daytrip', 'date.hide_booking_button as hideBookingButton', + 'date.low_contingent as lowContingent', 'date.concept as conceptUid', + 'date.concept_code as conceptCode', 'date.concept_name as conceptName', + 'con.popup_text as conceptPopupText', 'date.board' ) ->from('tx_epproducts_domain_model_date', 'date') - ->where('date_start >= NOW()') - ->groupBy('product') + ->leftJoin('date', 'tx_epproducts_domain_model_concept', 'con', 'date.concept = con.uid') + ->where('date.date_start >= NOW()') + ->groupBy('date.product') ->addGroupBy('date.hotel') ->addGroupBy('date.date_start') ->addGroupBy('date.nights') - ->having('available > 0') - ->orderBy('important', 'DESC') - ->addOrderBy('new', 'DESC') - ->addOrderBy('concept_sorting') - ->addOrderBy('date_start') + ->having('date.available > 0') + ->orderBy('date.important', 'DESC') + ->addOrderBy('date.new', 'DESC') + ->addOrderBy('date.concept_sorting') + ->addOrderBy('date.date_start') ; if ($filterSettings['productsPid']) { @@ -165,10 +172,10 @@ class ProductRepository extends AbstractRepository } if (empty($filterSettings['productUid'])) { - $qb->andWhere($qb->expr()->eq('product_searchable', 1)); + $qb->andWhere($qb->expr()->eq('date.product_searchable', 1)); } else { $qb->andWhere($qb->expr()->eq( - 'product', + 'date.product', $qb->createNamedParameter($filterSettings['productUid'], Connection::PARAM_INT)) ); }