- New
Reference: WP-VI-CON-V1
Brand: WebPoint
Reference: BOUT-93K2X
Brand: WebPoint
Reference: EXT-CRMAX-MULTILANG
Brand: WebPoint
Reference: EBP-2025-PRO
Brand: WebPoint
Turnkey module to automate your sports equipment and nutrition dropshipping with Training-Distribution, French wholesaler specialised in Cross Training and Fitness: CSV import of 2,300 references (training apparel, shoes, hand accessories, lifting belts, jump ropes, nutrition) from 32 brands ROKFIT, REHBAND, PICSIL, BAREBELLS, NOCCO, TYR, NORTHERN SPIRIT, VELITES…
✅ Single-language native French (CSV ISO-8859-1 comma separator, auto conversion)
✅ 10 sport categories ready at install + 42 sub-categories
✅ Colour + Size appended to title with 128-char truncation (inconsistent CSV refs)
✅ Multi-images N URLs from a single cell · Auto-generated description
✅ Light mode on re-import · CRON 24/7 · Compatible PS 1.7 → 9.x
You configure. The module imports. You sell French sport online. 💪
demos.akimania.com/ps9-training-distribution/PrestaShop dropshipping module TRAINING-DISTRIBUTION
🌐 Source catalog available in:
🇫🇷 100% native French catalog. No automatic translation: texts written directly in FR by the supplier, ideal for 🇫🇷 FR / 🇧🇪 BE / 🇨🇭 CH / 🇨🇦 CA stores.
The module that automates from A to Z your cross-training, fitness and sports nutrition dropshipping on PrestaShop
PrestaShop 1.7 → 9.x · 2,300 products · 32 brands · 10 sport categories · CRON 24/7
Are you launching a strength training equipment shop, a cross-training website, a sports nutrition or sportswear e-commerce? You work with Training-Distribution (French wholesaler specialised in Cross Training and fitness) and you spend your days re-typing 2,300 product sheets, manually uploading multiple photos per product, recreating each size/colour as a separate product (because supplier references change between sizes), mapping each category to the right section of your tree?
With the Training-Distribution dropshipping sport cross-training fitness Module, everything becomes automatic. You enter the Training-Distribution CSV URL, you click "Start import", and the module creates your 2,300 PrestaShop products in French with their size + colour in the title, their N photos from the single CSV cell, their native reference, in a tree of 10 sport categories ready to use (Women's Clothing, Sportswear, Shoes, Socks, Hands & Grips, Body Protection, Ropes & Loads, Nutrition & Supplements, Sport Accessories, Other).
| Task | ❌ Without the module | ✅ With the module |
|---|---|---|
| Import 2,300 sport references | 80h+ manual, copy from Training-Distribution portal | 1 click, ~2h in the background |
| Colour + Size in the title | Manual entry "Knee Sleeves Black Size XL" at the end of the title | Auto-append "— Colour · Size XX" + 128-char truncation |
| Multi-images from a single cell | Manual parsing of comma-concatenated URLs | Auto split + validation, 1st = cover |
| Empty CSV description (none provided) | Ghost sheets, poor SEO, bounce rate | Auto-generation of structured HTML name + brand + cat |
| Single CSV category (1 level) | Manual creation of a coherent sport tree | 10 main cats + 42 sub-cats created at install |
| ISO-8859-1 encoding (not UTF-8) | Broken French characters ("Mapalé", "Genouillères") | Automatic cell-by-cell conversion |
| € symbol mis-encoded (¤ in ISO) | Prices with "¤" or import failures | ¤ stripped automatically, clean prices |
| Original image PrestaShop 9 BO | Broken image PS9 BO (official bug) | PS9 BO fix included: 1:1 copy of original file |
| Refresh prices/stock | Redo everything from scratch every day | Automatic light mode: prices+stock update only |
You sell cross-training equipment (knee sleeves, belts, grips, jump ropes, bumper plates, straps), training apparel, Weightlifting shoes. Training-Distribution is the FR reference in these niches with ROKFIT, REHBAND, PICSIL, VELITES as flagship brands.
You offer strength and bodybuilding accessories: lifting belts, wrist wraps, knee sleeves, weighted vests, weightlifting. ~150 references specifically for strength training in the catalogue.
Proteins, BCAA, pre-workout, protein snacks (BAREBELLS, NOCCO), energy drinks, omega 3 and sport food supplements. ~150 nutrition references for a complete French-speaking offer.
Particularity of the Training-Distribution CSV. Unlike other suppliers, the "Reference" changes for each size (e.g. `R_N_GEN_0535_XS`, `_S`, `_M`, `_L`, `_XL` — all different). Worse: consistency isn't even guaranteed on truncation (line L has `R-N_GEN_0535_L` with a hyphen instead of an underscore). Consequence: impossible to group several lines into 1 product with its PS combinations.
Solution adopted by the module: 1 CSV line = 1 distinct PS product, and the colour + size are automatically appended to the product title with a polished graphic format.
Example: "Pair of Knee Sleeves Black 5 mm | REHBAND" + Colour "Black" + Size "XL" → "Pair of Knee Sleeves Black 5 mm | REHBAND — Black · Size XL"
Product::name limit): if the concatenated title exceeds it, the original title is truncated with "…" to leave room for the colour + size intactmb_substr(), never cut in the middle of a multi-byte characterProduct::reference (native PS field)The Training-Distribution CSV only exposes ONE LEVEL of category per product ("Catégorie"). The module compensates for this by offering at install a sport tree of 10 main categories ready to use, with 42 sub-categories that exactly reproduce the names exposed by the CSV.
| Main category | Grouped CSV sub-categories |
|---|---|
| Women's Clothing | Sports bras · T-shirts - Crop tops · Women's Sport Textile |
| Sportswear | T-shirts - Tank tops · Sweatshirts - Hoodies · Shorts - Leggings · Shorts - Joggers · Swimsuit |
| Shoes | Cross Training · Weightlifting & Powerlifting |
| Socks | Training · Children's sport · Breathable & light training ankle socks |
| Hands & Grips | Grips with/without chalk · Cross Training Grips · Tape & Protection · Chalk · Velcro Patches |
| Body Protection | Lifting belts · Knee sleeves · Wrist wraps · Weighted vest |
| Ropes & Loads | Jump ropes · Replacement cables · Bumper Plates · Pulling strap |
| Nutrition & Supplements | Protein/BCAA/Pre Workout · Snacks · Energy drinks · Vitamins · Omega 3 · Sport Nutrition |
| Sport Accessories | Headbands · Caps/Beanies · Glasses · Bottles · Sport bag · Gift card |
| Other | Misc / To be classified (fallback: Home, empty, "Catalogue Sport…", unknown) |
wp_trainingdist_category_mapping for subsequent importsThe "URL Images" column of the CSV contains N comma-separated URLs in a quoted single cell (e.g. "url1.jpg,url2.jpg,url3.jpg"). The module splits by comma, validates each URL (http(s) prefix), and imports all images.
getimagesize(): JPEG/PNG/GIF/WebP, corrupted files rejected without crashing the import<id>.jpg in addition to variantsTraining-Distribution provides NO description column in the CSV. The module systematically generates a structured HTML description from the label, brand, category and reference — to never have a ghost product sheet on the front-end (anti-bounce + good SEO).
The training-distribution CSV is in ISO-8859-1 with comma separator (unlike other modules that use UTF-8 + ";"). The module handles this:
mb_convert_encoding() with auto-detection if already in UTF-8fgetcsv, splitting done in importMultiImages()The scenario that changes everything:
→ No more lagging page. No more worry. You see everything that's happening.
| Mode | Description |
|---|---|
| RRP ⭐ (default) | CSV sale price as-is — the simplest to start with. |
| Tiers | Different % depending on the net price bracket (5 configurable tiers: 0-15€/15-30€/30-60€/60-120€/120€+ — suited to proteins at 30€ as well as bumper plates at 200€+). |
| Fixed markup | A single % applied (50% by default → net price × 1.5). |
| Wholesale | Net purchase price as-is (B2B sale to gyms, coaches, etc.). |
{name}, {brand}| CRON action | Role | Recommended frequency |
|---|---|---|
full_import | Full import (creations + light updates) | 1×/day |
light_sync | Update price + stock + availability of products already imported (light mode) | every 2-4h |
cleanup_logs | Purge logs > N days (configurable retention) | 1×/week |
Flagship brands in the Training-Distribution catalogue (volume excerpt):
Triple confirmation (dialog box + DELETE input + button). The category tree is not erased — managed by the module, recreated at the next opening if you have manually deleted it.
Download the ZIP, install via the BO. Auto-creation of 5 tables, the Training-Distribution supplier, the CRON key, and the sport tree (10 cats × 42 sub-cats).
Go to Settings, paste the URL provided by Training-Distribution. Configure the root category under which the tree is created (Home by default).
RRP mode by default. You can also choose Tiers (5 brackets) / Fixed markup / Wholesale. Customisable SEO templates with {name}/{brand}.
Click "Start import". Test mode 20 products first to validate, then full import 2,300 products (~2h). You see each product created with its Colour + Size in the title before your eyes.
| PrestaShop | 1.7.x → 9.x (tested on PS 9.0) |
| PHP | 7.4 minimum, 8.1+ recommended |
| MySQL / MariaDB | 5.7+ / 10.3+ |
| cURL | Enabled (CSV + image download) |
| Multi-shop | Compatible (forces CONTEXT_ALL for deletion) |
| Hooks used | None (no pollution of the event chain) |
| Class override | None (preserves your other modules) |
| AdminController | None |
| BO sidebar tab | None (doesn't pollute your menu) |
| Training-Distribution B2B account | Account required for billing and CSV access |
| CSV URL | To be requested from your Training-Distribution sales rep |
A: Yes, fully PS 9.x compatible. The module handles the specific PS9 migration where meta_keywords was removed (auto-fallback to ps_tag) as well as the PS9 bug where the original image doesn't appear on the BO product edit page (fix by 1:1 copy of the file <id>.jpg).
A: Because the training-distribution CSV does not expose a common parent reference between sizes of the same product. Each size has a totally different ref (e.g. `R_N_GEN_0535_XS`, `_S`, `_M`, `_L`, `_XL` — all distinct), and even truncation doesn't work (line L has `R-N_GEN_0535_L` with a hyphen). So impossible to group. Solution: 1 line = 1 product, size appended to title.
A: The module automatically truncates the original title (with "…") if necessary to stay under the PS limit of 128 characters, always keeping the colour + size intact. UTF-8 safe (never cut in the middle of a multi-byte character).
A: At install, the module creates 10 main sport categories + 42 sub-categories under your PS root (Home by default). At each import, the CSV "Catégorie" is mapped to the correct sub-category via an internal table. If it doesn't match, it falls into "Other > Misc / To be classified" (never an error). Mappings tab to merge or rename after import.
A: The module converts each cell from ISO-8859-1 to UTF-8 via mb_convert_encoding() (with auto-detection if the cell is already UTF-8). French characters such as "Genouillères", "Brassières", "Mapalé" are preserved. The "¤" symbol at the end of prices (= € mis-encoded Win-1252) is automatically stripped. Comma decimals converted to dots.
A: The Training-Distribution supplier provides no description column in the CSV. To never have a ghost product sheet on the front-end (and harmful to SEO), the module generates structured HTML text from name + brand + category + reference. You can manually customise the sheets you care about — light mode will no longer overwrite them.
A: Yes. Automatic light mode: existing products are detected via their CSV Reference (= unique sku per line) and only their price + stock are refreshed. Your descriptions, images, categories and tags are not rewritten — you keep your customisations.
A: Import tab → Selective deletion → tick "Imported products" + "Orphan brands" + "Training-Distribution supplier" + "Logs" → DELETE. Triple confirmation to avoid mistakes.
A: "Stop" button available during import (UI) and during CRON (flag file). Clean stop at the end of the current product, state save for resume at the exact stop line.
A: Yes. Categories and products are created on all active shops. Deletion forces CONTEXT_ALL to avoid the PS9 quirk where Product->delete() returns false in multi-shop.
A: Confirmed. The module only uses getContent() + AJAX. No BO PrestaShop menu pollution. No core class override.
The Training-Distribution dropshipping sport cross-training fitness Module is the most complete tool to sell the 2,300 Training-Distribution references (cross-training, fitness, strength training, sports nutrition) on PrestaShop. Once configured, it automatically imports the catalogue with colour + size in the title, its N photos per product, its ready-to-use sport hierarchy.
⚡ 3-MIN INSTALLATION · 📚 REAL-TIME IMPORT · 🛡️ COMPATIBLE PS 1.7 → 9 · 🇫🇷 FRENCH SUPPORT
DB tables created (5): wp_trainingdist_history, wp_trainingdist_import_errors, wp_trainingdist_product_meta (sku unique = CSV Reference), wp_trainingdist_combination_meta (sku unique), wp_trainingdist_category_mapping (csv_path unique)
PS Configurations: WPTD_SETTINGS (JSON), WPTD_SUPPLIER_ID, WPTD_CRON_KEY, WPTD_LAST_IMPORT_AT, WPTD_LAST_IMPORT_COUNT, WPTD_LAST_UPLOADED_CSV, WPTD_CRON_LAST_*
Training-Distribution CSV (10 columns ISO-8859-1, comma separator): Marque, Catégorie, Nom, Taille, Couleur, URL Images, Stock, Poids, Référence, Prix de vente (with ¤ stripped)
Architecture: 5 clean PHP classes (TdCompat, TdCategoryTaxonomy, TdCategoryMapper, TdFeatureMapper [dead code by design — no Features on this CSV], TdCsvImporter) + main module + AJAX router + CRON. No PrestaShop core class override.
Shared engine aliases: sku → Référence, name_fr → Nom, brand → Marque, category → Catégorie, price → Prix de vente, weight → Poids (in native kg, not grams), qty → Stock, size → Taille, color → Couleur, image-url-1 → URL Images (single cell split).
appendVariantToName(): helper that appends "— Colour · Size XX" to the product name with 128-char UTF-8 safe truncation (mb_substr). If the concatenated title exceeds, the original title is truncated with "…" to keep colour+size intact.
importMultiImages(): splits the URL Images cell by comma, validates each URL (preg_match `^https?://`), 1st URL = cover. Download with retry × 3 backoff, getimagesize JPEG/PNG/GIF/WebP validation, auto generation of all PS sizes via ImageManager::resize, PS9 BO fix by 1:1 copy of original file <id>.jpg.
ensureSupplierExists(): direct SQL INSERT (not new Supplier() + ->add() which silently fails in PS9). Dynamic detection of the meta_keywords column in ps_supplier_lang (present in PS7, removed in PS9). Multi-shop via ps_supplier_shop. Safety net: also called before each import (not only at install).
Db::getValue() static cache: the 4 existence queries in processRow() use useCache=false to bypass the PS static cache that persists between PHP-FPM workers (otherwise re-imports do not find already imported products and create duplicates).
Security: pSQL() everywhere, uploads/ folder protected, image format validation, native PS CSRF on AJAX, systematic HTML escaping, hash_equals() on CRON key.
Specific PS9 compatibility: auto migration meta_keywords → ps_tag/ps_product_tag via Tag::addTags(), handling of the Product::delete() quirk that returns false in multi-shop, PS9 BO original image fix.
Encoding: ISO-8859-1 → UTF-8 cell-by-cell conversion via mb_convert_encoding() with prior detection if already valid UTF-8. Stripping of ¤ symbol + non-breaking spaces on prices. Conversion of comma decimal → dot.
📦 Module developed by WebPoint · webpoint.fr · Regular updates · Clean & commented code
play_circle_filled
play_circle_filled
play_circle_filled
play_circle_filled
Aucun avis pour ce produit pour le moment.
Reference: WP-BXP-FRX
Brand: WebPoint
Reference: WP-DBR-EHU
Brand: WebPoint
Reference: WP-ECO-XML
Brand: WebPoint
Reference: wp-watchimport-dropshipping-montres-ila-uhren-csv-prestashop
Brand: WebPoint
Reference: wp-matterhorn-dropshipping-mode-lingerie-prestashop
Brand: WebPoint
Reference: WP-TFC-CSV
Brand: WebPoint
Reference: WP-RSV-CSV
Brand: WebPoint
Maîtriser le State Management en Clojure : Atoms, Refs, Agents et STM 🚀 Dans le monde de la programmation...
Lire la suiteSupervision Tree in Elixir: Achieving Infinite Depth and Immortal Hierarchies 🌳 In the world of concurrent...
Lire la suiteMaîtriser gRPC en Go : Services avec Protocol Buffers et Streaming RPCs 🚀 Dans le monde des microservices, les...
Lire la suite
Turnkey module to automate your sports equipment and nutrition dropshipping with Training-Distribution, French wholesaler specialised in Cross Training and Fitness: CSV import of 2,300 references (training apparel, shoes, hand accessories, lifting belts, jump ropes, nutrition) from 32 brands ROKFIT, REHBAND, PICSIL, BAREBELLS, NOCCO, TYR, NORTHERN SPIRIT, VELITES…
✅ Single-language native French (CSV ISO-8859-1 comma separator, auto conversion)
✅ 10 sport categories ready at install + 42 sub-categories
✅ Colour + Size appended to title with 128-char truncation (inconsistent CSV refs)
✅ Multi-images N URLs from a single cell · Auto-generated description
✅ Light mode on re-import · CRON 24/7 · Compatible PS 1.7 → 9.x
You configure. The module imports. You sell French sport online. 💪