Après avoir intégrer diverses solutions e-commerce comme OScommerce, Prestashop ou encore Magento, mes repaires de développeur se sont ré-initialiser pour faire place neuve à OroCommerce.

Les premiers pas

Les maîtres mots d’un bon développeur sont de sortir de sa zone de confiance pour avoir une vision plus globale. En tant que développeur front (plus orienté design que développement), je me suis dis quand créant un thème sur une nouvelle solution open-source peut être qu’une bonne idée. Attaquer de travailler sur une solution dès la sortie de la version 1 est souvent signe d’un manque de documentation. Sans surprise pour OroCommerce se fut le cas mais pas tant que cela. Depuis 2 ans, Oro a déjà lancé OroCRM qui partage une grande partie de ses bundles avec OroCommerce. Du coup on peut facilement trouver des explications et de l’aide sur le forum et surtout sur la documentation officielle.

Mais dans OroCRM il n’y a pas de partie Front sachant que c’est une solution métier à usage interne. C’est donc la que commence l’exploration de l’application pour comprendre son fonctionnement. Mais après quelques heures ou jours à lire les documentations sur github (à retrouver en bas de l’article) et en posant quelques questions sur le slack de la communauté, mon 1er thème OroCommerce est né.

Technologiquement

La force des solutions Oro consiste en leur modularité selon le besoin. Et pour un dev. front le principe est le même, en fonction des bundles utilisés et du besoin, on peut tout surcharger que ce soit le style, le layout ou bien le wording utilisé.

  • Application Symfony
  • Template TWIG
  • Framework front (CSS, Less ou SASS) au choix

Quelques bons liens

Voici une liste de tutoriel indispensables pour comprendre OroCommerce et surtout pour créer son premier thème :

Création d’un thème
Modification du Layout

Exemple de modification du layout avec la page produit : https://github.com/orocrm/platform/blob/master/src/Oro/Bundle/LayoutBundle/Resources/doc/example.md

Frontend Guidelines

Les bonnes pratiques d’un dev. front : https://github.com/orocommerce/orocommerce/tree/master/src/Oro/Bundle/FrontendBundle/Resources/doc

Personnalisation du menu

https://github.com/orocrm/platform/tree/master/src/Oro/Bundle/NavigationBundle