Jump to content

[RESOLU] Ajout d’un element dans la fiche produit du BO ?


Recommended Posts

Bonjour,

Voila j'ai un probleme qui me semble insurmontable !

J'aimerai savoir comment rajouter qqchose dans la fiche produit du BO, plus precisement une video :

Pour eviter de faire compliquer un simple bouton radio qui me permetrais de cocher si oui ou non il y a une video, ce qui me permetrai en smarty dans le TPL de dire {if $product->video...}... alors affiche le liens vers cette video, qqchose comme ca...

Je ne sais pas par ou commencer pour ajouter une variable, creer qqchose dans le back office ect... j'ai juste modier les modules et le repertoire theme jusqu'a present, j'ai rarement toucher au core...

Si qq a un debut de piste a me donner ca serait cool :)

Merci

Link to comment
Share on other sites

Bonjour,
Voila j'ai un probleme qui me semble insurmontable !
J'aimerai savoir comment rajouter qqchose dans la fiche produit du BO, plus precisement une video :
Pour eviter de faire compliquer un simple bouton radio qui me permetrais de cocher si oui ou non il y a une video, ce qui me permetrai en smarty dans le TPL de dire {if $product->video...}... alors affiche le liens vers cette video, qqchose comme ca...
Je ne sais pas par ou commencer pour ajouter une variable, creer qqchose dans le back office ect... j'ai juste modier les modules et le repertoire theme jusqu'a present, j'ai rarement toucher au core...
Si qq a un debut de piste a me donner ca serait cool :)
Merci

Salut Ma2x,
j'ai fait un "truc" qui permet de joindre un SWF (video flv) par langue dans la fiche produit ici
http://www.prestashop.com/forums/viewthread/12901/developpement_et_modules/modulev1_dot_1_dot_0_dot_5_swf_pdfpar_produit_et_par_langue

Sinon avant que je tripote le core j'avais fait un truc plus simple qui consistait a ajouter un lien dans product.tpl
Si il y avait le mot "video" dans la description courte, alors il affichait la video, sous reserve quelle est le meme ID que le produit, un truc dans ce genre la:
@+
pdriss
{if $product->description}
<!-- full description -->
{if strpos ($product->description_short, "video")}

id}-{$video.id_video}thickbox.swf?keepThis=true&TB_iframe=true" title="{$image.legend|htmlspecialchars}" class="thickbox {if $smarty.foreach.thumbnails.first}shown{/if}">id}-{$image.id_image}-medium.jpg" alt="{$image.legend|htmlspecialchars}" title="{$image.legend|htmlspecialchars}" />
{l s='Cliquer sur l\'image pour voir la video'}{/if}{$product->description}{/if}

Link to comment
Share on other sites

Le seul soucis que ca me procure c'est "sera t-il compatible avec les prochaines version de pS ? "


Aucune idée, mais comme j'en avais besoin et que j'étais pas le seul...............
après si il faut modifier, je modifierais, a moins que ce soit intégrer a terme.

@+
pdriss
Link to comment
Share on other sites

  • 6 months later...

/*
————————————————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————————————

AUTRE METHODE POUR INSERER UN ELEMENT (VIDEO) EN PAGE PRODUIT
————————————————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————————————
*/

Le but de cette méthode est de permettre l'affichage d'une vidéo diffusée sur Youtube en page produit.
Dans le backOffice, un champ permettra pour chaque produit de définir une vidéo différente. Dans ce champ est attendu, l'URL que propose youtube en copier/coller, dans chacune de ses pages vidéos.

Le principe de base est de se servir d'un champ déjà existant, en l'occurrence ean13, pour enregistrer l'URL 'youtube' de la vidéo.

11418_x5P1tAhMgORQAqgUogT8_t

Link to comment
Share on other sites

/*————————————————————————————————————————————————————————————————————
Changer classes/Products.php
————————————————————————————————————————————————————————————————————*/

Ligne 152, changer

'ean13' => 13


par

'ean13' => 300



/*————————————————————————————————————————————————————————————————————
Changer la Table PS_Products
————————————————————————————————————————————————————————————————————*/

ALTER TABLE `ps_product` CHANGE `ean13` `ean13` VARCHAR( 300 ) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL 

Link to comment
Share on other sites

/*————————————————————————————————————————————————————————————————————
Changer themes/votre theme/products.tpl
————————————————————————————————————————————————————————————————————*/
Aprés la ligne 230 :

{if $HOOK_EXTRA_RIGHT}{$HOOK_EXTRA_RIGHT}{/if}


Ajoutez :

           {if $product->ean13}

           <object width="231" height="231">



           <embed src="{$product->ean13}" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" WMODE="Transparent" width="231" height="231"></embed>
           </object>
           {/if}



Ici le bloc utilise un format de video 231x231 pixels, le bloc est formaté par l'ID 'video_block'

Link to comment
Share on other sites

ci le bloc utilise un format de video 231x231 pixels, le bloc est formaté par l'ID 'video_block'

/*————————————————————————————————————————————————————————————————————
Changer THEME/votre theme/CSS/GLobal.css
————————————————————————————————————————————————————————————————————*/
Personnellement, j'ai fait un copier coller de l'id 'pb-left-column' et l'ai renommé en 'video_block'

Link to comment
Share on other sites

/*————————————————————————————————————————————————————————————————————
Changer admin/tab/AdminProducts.php
————————————————————————————————————————————————————————————————————*/
Ligne 1317 (ci-dessous), Supprimez la !

'.$this->l('Special characters allowed:').' .-_#\ 



Remplacez Ligne 1316 ci-dessous

'.$this->l('EAN13:').'<input size="55" maxlength="13" type="text" name="ean13" value="'.$this->getFieldValue($obj, 'ean13').'" style="width: 110px; margin-left: 10px;" />


remplacez par


'.$this->l('URL VIDEO:').'

<input size="300" maxlength="300" type="text" name="ean13" value="'.$this->getFieldValue($obj, 'ean13').'" style="width: 400px;" />                    



Puis aprés ces modifications seulement poursuivre avec :

Juste aprés Ligne 640 ci-dessous

if (isset($_POST['description_short']))
           $_POST['description_short'] = $saveShort;



Ajouter ce code (normalement sur la ligne 642 donc)

/*transform ean13 youtube URL*/
       $cibles="watch?v=";  $remplacement="v/";
       $_POST['ean13'] =  str_ireplace($cibles, $remplacement, $_POST['ean13'] );
       if (!stripos ($_POST['ean13'] , "hl=fr")) $_POST['ean13'] .="&hl=fr";



Ce code sert à transformer l'URL fournie par youtube en URL lisible par le lecteur intégré.
Dans la dernière ligne du code est indiquée la langue.

Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...

Bjr,

J'ai suivi la méthode à la lettre, j'ai juste un souci (étant débutante) sur le passage suivant :
Je ne sais pas ou changer la Table PS_Products

Merci d'avance pour votre aide

Sandrine


/*———————————————————————————————————————————————————————————————————— Changer la Table PS_Products ————————————————————————————————————————————————————————————————————*/

ALTER TABLE `ps_product` CHANGE `ean13` `ean13` VARCHAR( 300 ) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL

Link to comment
Share on other sites

c est une ligne de code mysql, donc soit à saisir en ligne de commande, soit à faire passer par phpmyadmin. Hélas si t es débutante, tu risque de pas avoir le niveau. Fais toi aider mais il faudra que tu donnes les codes d'accés à ta base de données.

Link to comment
Share on other sites

  • 3 weeks later...

bonjour,
@acmedia : je ne sais pas si tu as trouve. Donc juste au cas où, ou sinon, pour le prochain qui passe par là.
Pour modifier une table dans ta base de donnée, il suffit de te connecter a cette derniere via phpmyadmin.
Une fois connecte, tu selectionnes la base de donnée à modifier ; tu coches ensuite la table à modifier (ici ps_product) ; ensuite tu click sur l'onglet "sql" et colle la ligne de code.

@ademus :
Merci pour ce "pas à pas".
En fait, je cherchais a rajouter un champ "marge" (PVHT - PAHT) dans la fiche produit et n'y connaissant rien en code, je me suis inspiré de ton "pas a pas".
Je vois a peu pres dans quels fichiers effectuer les modifications.
Dans la fiche produit, j'ai tente de dupliquer le champ "prix de vente final" (lecture seule et qui est fonction de PVTTC - Promo)
Mais en vain.
Merci pour tout aide

Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...

T'es sûr que t 'as bien tout modifié ? Notamment l'étape 1 :
/*———————————————————————————————————————————————————————————————————— Changer classes/Products.php ————————————————————————————————————————————————————————————————————*/

Ligne 152, changer
'ean13' => 13
par
'ean13' => 300

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 months later...
ci le bloc utilise un format de video 231x231 pixels, le bloc est formaté par l'ID 'video_block'

/*————————————————————————————————————————————————————————————————————
Changer THEME/votre theme/CSS/GLobal.css
————————————————————————————————————————————————————————————————————*/
Personnellement, j'ai fait un copier coller de l'id 'pb-left-column' et l'ai renommé en 'video_block'


Je n'ai pas compris cette partie là, que faut-il faire exactement?

Merci d'avance.
Link to comment
Share on other sites

Dans le fichier THEME/votre theme/CSS/GLobal.css , il y a un paragraphe correspondant à ‘pb-left-column’, tu fais un copier/coller de ce paragraphe dans le fichier GLobal.css et à la place de ‘pb-left-column', tu lui donnes comme nom ‘video_block’

Link to comment
Share on other sites



/*————————————————————————————————————————————————————————————————————
Changer la Table PS_Products
————————————————————————————————————————————————————————————————————*/

ALTER TABLE `ps_product` CHANGE `ean13` `ean13` VARCHAR( 300 ) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL 



J'ai un autre problème, je n'arrive pas à accédé à ma base de donnée via phpmyadmin.
Comment dois-je faire?

Merci d'avance.
Link to comment
Share on other sites

Ce n'est pas une erreur en soit-même, simplement un manque de connaissance.
Normalement, pour accédé à ma base de données je dois passé par phpmyadmin.
Mais quand je regarde les prestations de mon hébergeur OVH, il n'y a aucune base de données.
Après les avoir appelé, ils m'ont dit que c'était normal, et qu'il fallait que je passe par le fichier config.php pour voir les données relatives à ma base de donnée. Et après elle ma perdue avec ces termes techniques...

Ma question est donc, comment modifier cette base de donnée si elle n'existe pas sur mon serveur OVH et qu'elle est interne à prestashop?

Link to comment
Share on other sites

Bonjour,

J'ai un petit soucis.
J'ai bien suivi les instructions et j'ai bien le champ URL dans la fiche produit mais lorsque j'enregistre, j'ai un message d'erreur indiquant : "le champ EAN 13 est invalide".

Auriez vous une idée à ce sujet...?

Merci d'avance pour votre aide.

Seb

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour

A tous ceux qui ont du adopté cette methode d'insertion du video , si vous avez activé les urls simplifié les fiches qui contients des videos , les urls vers ces fiches depuis la boutique , ça ne marche pas .

Merci

Link to comment
Share on other sites

  • 1 month later...
  • 11 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...