rikazarai / sylius-product-duplication-plugin
Sylius plugin to duplicate products in admin panel with bulk actions support
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:sylius-plugin
Requires
- php: ^8.3 || ^8.4
- sylius/sylius: ^2.1
- symfony/framework-bundle: ^7.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^11.0
- sylius/test-application: ^2.0@alpha
- symfony/browser-kit: ^7.3
- symfony/phpunit-bridge: ^7.3
- symfony/test-pack: ^1.0
README
Plugin Sylius qui permet de dupliquer des produits individuellement ou en lot depuis le panel d'administration.
✨ Fonctionnalités
- 🔄 Duplication individuelle avec bouton dédié sur chaque produit
- 📦 Duplication en lot avec sélection multiple
- 🔒 Sécurité CSRF et vérification des permissions
- 🌐 Multi-langue (Français/Anglais)
- ⚡ Performance optimisée pour gros catalogues
- ✅ Codes uniques générés automatiquement
- 🎯 Interface native intégrée à l'admin Sylius
🚀 Installation
Avec Composer
composer require rikazarai/sylius-product-duplication-plugin
Configuration manuelle (si Flex non utilisé)
- Activer le bundle dans
config/bundles.php
:
RiKaZarai\SyliusProductDuplicationPlugin\RiKaZaraiSyliusProductDuplicationPlugin::class => ['all' => true],
- Importer les routes dans
config/routes/rikazarai_product_duplication.yaml
:
rikazarai_admin: resource: "@RiKaZaraiSyliusProductDuplicationPlugin/Resources/config/routing/admin.yaml" prefix: /%sylius_admin.path_name%
- Importer la configuration dans
config/packages/rikazarai_sylius_product_duplication.yaml
:
# config/packages/rikazarai_sylius_product_duplication.yaml imports: - { resource: "@RiKaZaraiSyliusProductDuplicationPlugin/config/config.yaml" } - { resource: "@RiKaZaraiSyliusProductDuplicationPlugin/config/sylius_twig_hooks.yaml"
- Vider le cache :
php bin/console cache:clear
🎯 Utilisation
Duplication individuelle
- Allez dans Catalogue > Produits
- Cliquez sur le bouton bleu "Dupliquer"
- Le produit dupliqué s'ouvre pour édition
Duplication en lot
- Sélectionnez les produits à dupliquer (cases à cocher)
- Cliquez sur "Dupliquer les produits sélectionnés"
- Confirmez l'action
⚙️ Configuration
# config/packages/rikazarai_sylius_product_duplication.yaml rikazarai_sylius_product_duplication: enabled: true # Activer/désactiver copy_images: true # Copier les images copy_associations: true # Copier les associations duplicate_suffix: ' (Copie)' # Suffixe des noms
🔧 Données dupliquées
✅ Complètement copiées
- Informations de base (statut, catégories)
- Traductions (noms, descriptions, SEO)
- Variantes avec prix et options
- Relations (canaux, taxons, attributs)
- Associations et images
🔄 Générées automatiquement
- Codes :
PRODUIT-copy-1
,PRODUIT-copy-2
... - Slugs :
slug-copy-1
,slug-copy-2
... - Noms :
Nom original (Copie)
📋 Prérequis
- PHP 8.3+
- Symfony 7.3+
- Sylius 2.1+
🧪 Tests
./vendor/bin/phpunit # Tous les tests ./vendor/bin/phpunit tests/Unit # Tests unitaires
👨💻 Auteur
RiKaZarai - @RiKaZarai
🤝 Contribution
- Fork le projet
- Créez votre branche (
git checkout -b feature/ma-fonctionnalite
) - Commit (
git commit -m 'Ajoute ma fonctionnalité'
) - Push (
git push origin feature/ma-fonctionnalite
) - Ouvrez une Pull Request
📄 Licence
MIT License - voir le fichier LICENSE
🙏 Support
- Issues : GitHub Issues
- Documentation : Wiki
Développé par RiKaZarai pour la communauté Sylius
⭐ Si ce plugin vous aide, donnez-lui une étoile ! ⭐