diff --git a/modules/splashsync/src/Objects/Product/MainTrait.php b/modules/splashsync/src/Objects/Product/MainTrait.php index bc782203..f67f611c 100644 --- a/modules/splashsync/src/Objects/Product/MainTrait.php +++ b/modules/splashsync/src/Objects/Product/MainTrait.php @@ -112,7 +112,9 @@ protected function buildMainFields() ->Identifier("supplier_reference") ->Name(Translate::getAdminTranslation("Supplier reference", "AdminProducts")) ->addOption("shop", MSM::MODE_ALL) - ->MicroData("http://schema.org/Product", "mpn"); + ->MicroData("http://schema.org/Product", "mpn") + ->isListed() + ; //====================================================================// // UPC $this->fieldsFactory()->create(SPL_T_INT) diff --git a/modules/splashsync/src/Objects/Product/ObjectsListTrait.php b/modules/splashsync/src/Objects/Product/ObjectsListTrait.php index ebd625f4..7a6d4ac7 100644 --- a/modules/splashsync/src/Objects/Product/ObjectsListTrait.php +++ b/modules/splashsync/src/Objects/Product/ObjectsListTrait.php @@ -46,6 +46,8 @@ public function objectsList($filter = null, $params = null) $sql->select("pa.`id_product_attribute` as id_attribute"); $sql->select("p.`reference` as ref"); $sql->select("pa.`reference` as ref_attribute"); + $sql->select("p.`supplier_reference` as supplier_reference"); + $sql->select("pa.`supplier_reference` as supplier_reference_attribute"); $sql->select("pl.`name` as name"); $sql->select("p.`quantity` as stock"); $sql->select("p.`weight` as weight"); @@ -111,7 +113,7 @@ private static function getFilters($filter = null) //====================================================================// // Setup String Filters - // Add filters with names convertions. Added LOWER function to be NON case sensitive + // Add filters with names conversions. Added LOWER function to be NON case sensitive if (!empty($filter)) { //====================================================================// // Search by Product Name @@ -123,6 +125,9 @@ private static function getFilters($filter = null) // Search by Product Ref $stringFilters .= " OR LOWER( p.reference ) LIKE LOWER( '%".pSQL($filter)."%') "; //====================================================================// + // Search by Product Supplier Ref + $stringFilters .= " OR LOWER( p.supplier_reference ) LIKE LOWER( '%".pSQL($filter)."%') "; + //====================================================================// // Search by Product Variant Ref $stringFilters .= " OR LOWER( pa.reference ) LIKE LOWER( '%".pSQL($filter)."%') "; //====================================================================// @@ -186,6 +191,7 @@ private function getTransformedProductArray($product) if (!$product["id_attribute"]) { $dataBuffer["id"] = $product["id"]; $dataBuffer["ref"] = $product["ref"]; + $dataBuffer["supplier_reference"] = $product["supplier_reference"]; $dataBuffer["weight"] = $product["weight"].Configuration::get('PS_WEIGHT_UNIT'); $dataBuffer["stock"] = $productClass->getQuantity($product["id"]); $dataBuffer["price"] = $productClass->getPrice(false, null, 3); @@ -197,6 +203,7 @@ private function getTransformedProductArray($product) $dataBuffer["ref"] = (empty($product["ref_attribute"]) && !empty($product["ref"])) ?$product["ref"]."-".$product["id_attribute"] :$product["ref_attribute"]; + $dataBuffer["supplier_reference"] = $product["supplier_reference_attribute"]; $dataBuffer["weight"] = ($product["weight"] + $product["weight_attribute"]); $dataBuffer["weight"] .= Configuration::get('PS_WEIGHT_UNIT'); $dataBuffer["price"] = $productClass->getPrice(false, $product["id_attribute"], 3); diff --git a/modules/splashsync/src/Objects/Product/PricesTrait.php b/modules/splashsync/src/Objects/Product/PricesTrait.php index 97785b25..a0a69747 100644 --- a/modules/splashsync/src/Objects/Product/PricesTrait.php +++ b/modules/splashsync/src/Objects/Product/PricesTrait.php @@ -39,7 +39,7 @@ trait PricesTrait * * @return void */ - private function buildPricesFields() + protected function buildPricesFields() { //====================================================================// // PRICES INFORMATIONS @@ -56,7 +56,8 @@ private function buildPricesFields() )." (".$this->Currency->sign.")" ) ->MicroData("http://schema.org/Product", "price") - ->isListed(); + ->isListed() + ; //====================================================================// // Product Selling Base Price @@ -69,7 +70,7 @@ private function buildPricesFields() )." Base (".$this->Currency->sign.")" ) ->MicroData("http://schema.org/Product", "basePrice") - ->isListed(); + ; //====================================================================// // WholeSale Price @@ -106,7 +107,7 @@ private function buildPricesFields() * * @return void */ - private function getPricesFields($key, $fieldName) + protected function getPricesFields($key, $fieldName) { //====================================================================// // READ Fields @@ -190,7 +191,7 @@ private function getPricesFields($key, $fieldName) * * @return void */ - private function getReducedPricesFields($key, $fieldName) + protected function getReducedPricesFields($key, $fieldName) { //====================================================================// // READ Fields @@ -232,7 +233,7 @@ private function getReducedPricesFields($key, $fieldName) * * @return void */ - private function setPricesFields($fieldName, $fieldData) + protected function setPricesFields($fieldName, $fieldData) { //====================================================================// // WRITE Field