fix: add missing PS shop association fields in product XML

Products created via PS Webservice were missing the ps_product_shop
table entry, causing them to be invisible in PS admin (which queries
products with INNER JOIN ps_product_shop). Adding id_shop_default=1
forces PS to create the shop association on product create/update.

Also add available_for_order, show_price, and visibility=both to
ensure products are fully configured for catalog display.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
luklpz 2026-05-17 17:54:59 +02:00
parent 83bd37efa9
commit 9926f37015
1 changed files with 4 additions and 0 deletions

View File

@ -237,6 +237,10 @@ public class PrestashopClient {
sb.append("<id_category_default>").append(escapeXml(dto.idCategoryDefault())).append("</id_category_default>"); sb.append("<id_category_default>").append(escapeXml(dto.idCategoryDefault())).append("</id_category_default>");
} }
sb.append("<id_tax_rules_group>1</id_tax_rules_group>"); sb.append("<id_tax_rules_group>1</id_tax_rules_group>");
sb.append("<id_shop_default>1</id_shop_default>");
sb.append("<available_for_order>1</available_for_order>");
sb.append("<show_price>1</show_price>");
sb.append("<visibility>both</visibility>");
sb.append("<link_rewrite><language id=\"1\">").append(escapeXml(slug)).append("</language></link_rewrite>"); sb.append("<link_rewrite><language id=\"1\">").append(escapeXml(slug)).append("</language></link_rewrite>");
sb.append("<name><language id=\"1\">").append(escapeXml(name)).append("</language></name>"); sb.append("<name><language id=\"1\">").append(escapeXml(name)).append("</language></name>");
sb.append("<description><language id=\"1\">").append(escapeXml(description)).append("</language></description>"); sb.append("<description><language id=\"1\">").append(escapeXml(description)).append("</language></description>");