Accueil Forums Support communautaire WooCommerce Création de page produit personnalisée

Ce sujet a 9 réponses, 2 participants et a été mis à jour par  Mathieu, il y a 2 semaines et 5 jours.

10 sujets de 1 à 10 (sur un total de 10)
  • Auteur
    Messages
  • #45851

    Ninjarock
    Participant

    Bonjour à tous !

     

    Premier post sur le forum ! Je suis en stage actuellement dans une boite parisienne qui me demande de refaire leur site woo commerce, j’ai une formation php classique de quelques mois :).

    J’ai cherché un page builder pas trop mal pour gérer le responsif et tout, j’ai choisi oxygenate qui se révèle extrêmement puissant.

    Le plugin tue le thème donc tout doit se faire dans oxygen.

    Sur la page boutique, je peux atteindre le titre et le prix du produit 1 comme ça

    <?php
    $product = wc_get_product(idproduit1);
    echo $product->get_title()

    Je pense pouvoir faire le lien vers la page produit sans trop de problèmes.

    On arrive donc ensuite sur la page produit. Qui doit être unique et ne peut suivre le canvas woo commerce pour cause de sliders uniques, css uniques pour chaque produit.

    Et c’est là que je coince.

    Avec le même bout de code, je peux bien entendu afficher le prix le titre la description, mais à la limite je peux les écrire en dur puisque ce ne serait pas dynamique.

    Le problème se corse pour l’affichage du choix de la taille (l’attribut) et de l’ajout au panier…

    Quand je fais un var_dump de $product, attributes renvoie un array vide :

    ["attributes"]=> array(0) { }
    ["default_attributes"]=> array(0)

    alors que j’ai bien mis la taille.

    Qu’est ce qui ne se fait pas ? Dans oxygen, si j’utilise le component product de base, la taille s’affiche en texte dans le tab d’info complémentaires. Plusieurs posts à ce sujet sur google mais ils remontent à des années… Je ne sais quoi en penser, quelqu’un aurait-il la réponse ?

    Je cherche tout simplement à faire apparaitre mon select et mes options, et bien sûr un add to cart que je ne sais pas encore afficher non plus sur mes pages produits. Ca ne me parait pas compliqué mais là, je sèche complètement…

     

    Merci d’avance à ceux qui me répondront !

     

    • Ce sujet a été modifié le il y a 3 semaines par  Ninjarock.
    • Ce sujet a été modifié le il y a 3 semaines par  Mathieu.
    #45858

    Mathieu
    Modérateur

    Dans quel fichier êtes vous en train de travailler ?

    Développeur PHP et WordPress
    Création d'extensions pour WordPress et Woocommerce
    Personnalisation d'extensions existantes
    En Alsace dans l'annuaire des prestataires WordPress et WooCommerce

    #45860

    Ninjarock
    Participant

    Bonjour 🙂

     

    Je travaille actuellement dans le builder d’oxygen qui permet de créer des blocs de code.

    Je n’ai toujours pas touché aux fichiers .php de WooCommerce.

    #45915

    Mathieu
    Modérateur

    Ces fichiers qui construisent la page d’affichage d’un produit on déjà accès aux différents données du produits. Donc si vous voulez personnaliser l’affichage de ces produits, il vaut mieux passer par ces fichiers.

    D’après ce que je viens de chercher sur oxygen, vous êtes en train de préparer le remplaçant de single-product.php et donc vous devez tout reconstruire à partir de ce point. Est ce que vous pouvez utiliser les actions, filtres et les classes de WooCommerce dans oxygen ?

    Développeur PHP et WordPress
    Création d'extensions pour WordPress et Woocommerce
    Personnalisation d'extensions existantes
    En Alsace dans l'annuaire des prestataires WordPress et WooCommerce

    #45919

    Ninjarock
    Participant

    Je n’en ai aucune idée.

    Je viens de me renseigner sur ce que seraient les hooks dans WordPress. Si je comprends bien, ce sont des actions que l’on indique dans le functions.php du theme enfant pour transformer les actions ou le rendu.

    Puisque je n’ai pas de theme à proprement parler, il faudrait que je modifie directement les fichiers woocommerce concernés ou que je puisse faire appel aux classes depuis la page elle-même.

    Je cherche  une première action anodine de test à réaliser pour voir quels fichiers peuvent être touchés : auriez-vous une idée ? un snippet ?

     

    Merci d’avance Mathieu 🙂

    #45928

    Mathieu
    Modérateur

    comme code à tester, il y a par exemple “$attributes = $product->get_variation_attributes();” pour récupérer les variations d’un produit.

    Développeur PHP et WordPress
    Création d'extensions pour WordPress et Woocommerce
    Personnalisation d'extensions existantes
    En Alsace dans l'annuaire des prestataires WordPress et WooCommerce

    1 Utilisateur a dit : Merci à l'auteur pour ce message.
    #46023

    Ninjarock
    Participant

    Merci Mathieu, mais il m’a semblé qu’Oxygen ne serait pas assez permissif, j’ai donc basculé vers un thème plus classique j’ai pris the7.

    Plusieurs questions à tous :

    je crée un attribut “taille” pour mon produit, comment se fait-il qu’il apparaisse dans l’onglet des infos additionnelles et pas en selection ? Etrange, sur la demo du site le select est pourtant bien placé… et utile 🙂 !  La réponse était “variable product”…

    – à l’affichage de mes produits, si je veux customiser l’affichage, ajouter mes fonts, il me faut bien ajouter le css dans la feuille du thème enfant, dites moi si je me trompe.

    Comment faire si je veux par exemple mettre un slider à la place de l’image ? en utilisant un shortcode je suppose, mais alors où le placer ?

    Comment faire si je veux importer du code html à la place ?

    Comment faire si je veux afficher une variable de la base de données ? Peut-on imaginer entrer des <?= $products[14][‘price’] par exemple sur les pages ?

     

    Merci d’avance à tous ceux qui m’éclaireront !

    • Cette réponse a été modifiée le il y a 2 semaines et 6 jours par  Ninjarock.
    #46049

    Mathieu
    Modérateur
    à l’affichage de mes produits, si je veux customiser l’affichage, ajouter mes fonts, il me faut bien ajouter le css dans la feuille du thème enfant

    oui c’est ça

    c’est aussi dans le thème enfant que vous allez créer un répertoire “woocommerce” pour y placer vos modifications à partir des fichiers qui se trouvent dans le répertoire de l’extension : “wp-content/plugins/woocommerce/templates/”
    par exemple, pour modifier l’image, c’est dans le fichier “single-product/product-image.php”

    Développeur PHP et WordPress
    Création d'extensions pour WordPress et Woocommerce
    Personnalisation d'extensions existantes
    En Alsace dans l'annuaire des prestataires WordPress et WooCommerce

    #46051

    Ninjarock
    Participant

    Merci Mathieu pour ces conseils. J’avoue que cette solution a l’air meilleure, bien que n’offrant pas de flexibilité pour les produits.

    Mon dilemme actuel : placer un slider révolution différente à la place de la gallerie image de chaque produit.

    Je comptais charger le slider dans la description puis le déplacer à l’aide de jQuery. Qu’en pensez-vous ? Est-ce optimisé ?

    Comme toujours, merci d’avance 🙂

     

    #46113

    Mathieu
    Modérateur

    il vaut mieux modifier le fichier “single-product/product-image.php” pour cela.

    dans le code PHP les shortcodes peuvent être lancés comme cela : <?php echo do_shortcode("[rev_slider produit_258]");?>

    pour faire le lien avec ce code, vous pouvez appelez le slider “produit_258” pour le produit avec l’identifiant 258
    et pour générer le shortcode, le code sera donc
    <?php echo do_shortcode("[rev_slider produit_{$post->ID}]");?>

    Développeur PHP et WordPress
    Création d'extensions pour WordPress et Woocommerce
    Personnalisation d'extensions existantes
    En Alsace dans l'annuaire des prestataires WordPress et WooCommerce

10 sujets de 1 à 10 (sur un total de 10)

Vous devez être connecté pour répondre à ce sujet.