osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Products Extra Fields, Modifier l'affichage des nouveaux champs...
badcape
posté 25 Mar 2015, 18:37
Message #1


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



Et bonsoir!
je teste en local la contribution Products Extra fields qui fonctionne très bien avec la version 2.3.1 mais en fait elle ne correspond pas à ce que je recherche: j'ai besoin d'afficher les caractéristiques techniques des produits, disons sous forme de 2 colonnes avec un maximum de 18/20 données par produits avec l'intitulé en multilingue. Products field group ou Specification ne vont pas non plus alors.... connaitriez-vous une autre contribution qui pourrait me donner un fil conducteur voire une solution à adapter?
A moins qu'il ne me reste plus qu'à tout coder moi-même.... sad.gif

cool.gif


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
chti_poupon
posté 26 Mar 2015, 12:26
Message #2


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
Pour décrire ses produits de façon ordonnée, il me semble que celle ci ici doit faire l'affaire. Cela répond-il à ton besoin?
Bons essais!
Chti poupon
Go to the top of the page
 
badcape
posté 26 Mar 2015, 17:00
Message #3


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



'choir Chti_poupon! happy.gif

tu lis dans mes pensées!!!! Sérieusement, j'ai déjà installé cette contribution pour la partie description et données diverses, telles les différents fabricants et leurs références, que j'affiche dans les tabs.... En fait, je crois que le problème est plus simple que je ne le pensais: simplement rentrer dans l'affichage de Products Extra fields pour séparer les intitulés des données. Exemple:
Longueur 225 mm
Largeur 135 mm
Volt 12
Amp 110
etc etc etc... le tout aligné, dans une div ou une table, à droite ou à gauche des images dans product_info, avec ou sans bordure d'ailleurs, au couleur de mon site.
M'en vais m'y atteler... capture d'écran dans les jours qui viennent.
Merci pour ta reflexion,
cool.gif

Ce message a été modifié par badcape - 26 Mar 2015, 17:05.


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
badcape
posté 1 Apr 2015, 17:42
Message #4


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



impossible de lier mon image angry.gif
Haaaaaa enfin Voilà! c'est les infos dans le cadre en-dessous du prix...


Bon, en fait simple: j'ai créé des class dans mon stylesheet pour la div de Products Extra Fields et pour les deux tables affichant les données.
Des fois j'me prends l'chou pour pas grand'chose biggrin.gif
Toutes les infos de cette page produits sont là "pour exemple" bien sûr....!
cool.gif

Ce message a été modifié par badcape - 7 Apr 2015, 18:48.


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
badcape
posté 26 Apr 2015, 07:42
Message #5


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



Et bonjour! happy.gif

... et là je coince: sélectionner les tabs pour les afficher corectement car avec ce code modifié la seconde est en intégralité dans la première... juste une sélection
pour laquelle il me faut rajouter une requète que je n'arrive pas à "pondre"...
Code
        echo '<div>';
  while ($extra_fields = tep_db_fetch_array($extra_fields_query)) {
        if (! $extra_fields['status'])  // show enabled extra field
           continue;
          
     echo'<ul><li><a href="#tabs">'.$extra_fields['name'].'</a></li></ul><div id="tabs">' . stripslashes($extra_fields['value']).'</div>';
                        
}
     echo'</div>';

Une suggestion?
Bon dimanche à tous,
cool.gif


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
Rusti
posté 26 Apr 2015, 17:23
Message #6


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



Bonjour badcape
Alors en fait le problème viens le l'ID de ta div (pour rappel une ID est unique dans un code, il ne peut y avoir 2 fois la même ID).
En gros tu as 2 tab qui ont la même ID donc quand il vas chercher le texte il dit à ce texte de ce mettre dans la tab qui à l'ID="tabs" c'est pour ça que tout ton texte ce retrouve dans la même tab puisqu'elles ont toutes la même ID.
Il faut donner des ID différentes à tes tab pour que le code sache mettre le texte dans la bonne tab et pour ça on va ajouter un tout petit bout de code très simple dans le wile et sur l'id de la div.

Code
$numberTab = 0;
while ($extra_fields = tep_db_fetch_array($extra_fields_query)) {
  $numberTab++;
        if (! $extra_fields['status'])  // show enabled extra field
           continue;
          
     echo'<ul><li><a href="#tabs">'.$extra_fields['name'].'</a></li></ul><div id="tabs_$numberTab">' . stripslashes($extra_fields['value']).'</div>';
                        
}

Comme tu peux le voir le $numberTab++ va générer un numéro à chaque retour que l'on va ajouter à notre ID (c'est ni plus ni moins qu'un $row++ très largement utilisé dans oscommerce)
Voila maintenant chaque div va avoir une ID unique (<div id="tabs_1"> <div id="tabs_2">) et la plus de problème ton texte va bien se mettre dans la bonne tab et pas d'erreur W3C.
Bon code
Rusti

Ce message a été modifié par Rusti - 26 Apr 2015, 17:53.


--------------------
osCommerce v2.3
Go to the top of the page
 
badcape
posté 26 Apr 2015, 18:21
Message #7


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



Bonsoir Rusti happy.gif
merci pour le coup d'main... mais ça ne fonctionne pas et je reste au même point avec l'onglet correct pour la première tab, son contenu en dessous .....
et l'onglet(l"intitulé)-et-le-contenu de la seconde.
J'ai essayé ta solution, qui me paraissait la plus logique mais, à mon avis, ou je me plante dans ma démarche quelque part.... ou il faut requèter dans la DB,
d'abord les intitulés, les afficher dans les tabs et ensuite les contenus affichés dans des div. Ai essayé diverses solutions à en avoir mal au crâne cet aprèes-midi
sans succès. Mon code au complet:
Code
<div id="tabs">
<?php
          // START: BOF Extra Fields v2
          
                      $extra_fields_query = tep_db_query
("SELECT pef.products_extra_fields_order, pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value
FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef
LEFT JOIN ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf
ON ptf.products_extra_fields_id=pef.products_extra_fields_id
WHERE ptf.products_id=". (int)$HTTP_GET_VARS['products_id'] ." and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".(int)$languages_id."')
ORDER BY pef.products_extra_fields_order");

        echo '<div>';
  while ($extra_fields = tep_db_fetch_array($extra_fields_query)) {
        if (! $extra_fields['status'])  // show enabled extra field
           continue;
          
     echo'<ul><li><a href="#tabs">'.$extra_fields['name'].'</a></li></ul><div id="tabs">' . stripslashes($extra_fields['value']).'</div>';
                        
}
     echo'</div>'
    // EOF Extra fields
?>
            </div>

c'est <a href="#tabs">'.$extra_fields['name'].'</a> qui pose problème, pas le contenu.
Je "sèche" parce que ça fait un moment que j'ai pas mis les mains sous le capot, mais je sais que nous sommes tout pret: le tri du nombre de tabs en se
référant aux tables de la DB....
Merci en tous cas,
cool.gif

Ce message a été modifié par badcape - 26 Apr 2015, 18:26.


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
Rusti
posté 26 Apr 2015, 18:49
Message #8


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



Bon alors déjà dans mon code j'ai oublié de rajouter le _$numberTab au <a href="#tabs_$numberTab"> il faut le mettre. De toute façon quoi qu'il arrive il faudra mettre le code que je tes donné donc met le.
Maintenant pour que je comprène bien le problème.
La première tab, son intitulé et son contenu ne te pose pas de problème.
C'est l'intitulé et le contenu de la deuxième qui bloque quand tu clic dessus rien ne se passe c'est bien sa.

EDIT : ok je pense avoir compris ton problème laisse moi un petit instant je t'écris la solution

En fait c'est le <ul></ul> qui pose problème il ne doit pas être dupliqué, les <li> doivent ce trouver à l'intérieur.
Essaye ce code sa devrais fonctionné, prévient moi si il y a un soucis c'est que le foreach pose problème mais ce sera très simple à régler
Code
<div id="tabs">
<?php
// START: BOF Extra Fields v2
  $extra_fields_query = tep_db_query("SELECT pef.products_extra_fields_order, pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef LEFT JOIN ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf ON ptf.products_extra_fields_id=pef.products_extra_fields_id WHERE ptf.products_id=". (int)$HTTP_GET_VARS['products_id'] ." and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".(int)$languages_id."') ORDER BY pef.products_extra_fields_order");
  echo '<ul>';
  $numberTab = 0;
  $idTab = 0;
  while ($extra_fields = tep_db_fetch_array($extra_fields_query)) {
    $numberTab++;
      if (! $extra_fields['status'])  // show enabled extra field
      continue;
      echo '<li><a href="#tabs_' . $numberTab . '">' . $extra_fields['name'] . '</a></li>';
                        
  }
  echo '</ul>';

  foreach ($extra_fields as $val_extra_fields ) {
    $idTab++;
      echo '<div id="tabs_' . $idTab . '">' . stripslashes($val_extra_fields['value']) . '</div>';
  }
// EOF Extra fields
?>
</div>

re-bon code

Ce message a été modifié par Rusti - 26 Apr 2015, 20:50.


--------------------
osCommerce v2.3
Go to the top of the page
 
badcape
posté 27 Apr 2015, 17:12
Message #9


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



re-bonsoir! happy.gif
tu le veux, tu l'as!
Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP-DevServer-14.1VC11\data\localweb\catalog\product_info.php on line 222
.... je m'en doutais aussi.
cool.gif


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
Rusti
posté 28 Apr 2015, 09:58
Message #10


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



Bon essais le code ci-dessous si ça ne fonctionne pas j'installerai vite fait un oscommerce ça sera plus simple.
Code
<div id="tabs">
<?php
// START: BOF Extra Fields v2
  $extra_fields_query = tep_db_query("SELECT pef.products_extra_fields_order, pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef LEFT JOIN ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf ON ptf.products_extra_fields_id=pef.products_extra_fields_id WHERE ptf.products_id=". (int)$HTTP_GET_VARS['products_id'] ." and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".(int)$languages_id."') ORDER BY pef.products_extra_fields_order");
  $extra_fields_array = tep_db_fetch_array($extra_fields_query);
  echo '<ul>';
  $numberTab = 0;
  $idTab = 0;
  while ($extra_fields = tep_db_fetch_array($extra_fields_query)) {
    $numberTab++;
      if (! $extra_fields['status'])  // show enabled extra field
      continue;
      echo '<li><a href="#tabs_' . $numberTab . '">' . $extra_fields['name'] . '</a></li>';
                        
  }
  echo '</ul>';

  foreach ($extra_fields_array as $val_extra_fields ) {
    $idTab++;
      echo '<div id="tabs_' . $idTab . '">' . stripslashes($val_extra_fields['value']) . '</div>';
  }
// EOF Extra fields
?>
</div>


Ce message a été modifié par Rusti - 28 Apr 2015, 10:05.


--------------------
osCommerce v2.3
Go to the top of the page
 
badcape
posté 28 Apr 2015, 17:49
Message #11


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



'soir Rusti! biggrin.gif
bon, là ça part plein pot ou ça veut: affichage uniquement du deuxième onglet et son contenu .... quelques chiffres et des lettres qui sortent de je ne sais où mais pas du code.....
suis en même temps en local sur la page produit et ben j'me d'mande..... blink.gif


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
Rusti
posté 28 Apr 2015, 17:55
Message #12


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



bonsoir badcape
Tu pourrais m'envoyer une capture d'écran et le code de ta page product_info.php que je regarde.
Sinon je vais installer un oscommerce vite fait, car normalement un système de TAB c'est extrêmement simple à mettre en route.


--------------------
osCommerce v2.3
Go to the top of the page
 
Rusti
posté 28 Apr 2015, 18:27
Message #13


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



Ok badcape je viens d'installer un oscommerce et la contrib Extra... je vois donc ce truc bizarre.
Je regarde et te dit

Ce message a été modifié par Rusti - 28 Apr 2015, 20:44.


--------------------
osCommerce v2.3
Go to the top of the page
 
Rusti
posté 28 Apr 2015, 19:03
Message #14


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



Edit : Message à supprimer

Ce message a été modifié par Rusti - 28 Apr 2015, 19:58.


--------------------
osCommerce v2.3
Go to the top of the page
 
Rusti
posté 28 Apr 2015, 19:43
Message #15


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



Je te met un code plus optimisé et qui vas fonctionné si tu as un article sans tab ou avec une tab désactivé.
J'ai aussi fait un peu de ménage dans l'appel à la base de donnée.

ATTENTION: j'ai intégré le <div id="tabs"> qui ce trouve sur ta page avant le <?php et le </div> après le ?> pense à les supprimer de ton code (en gros c'est le code complet ci-dessous)

Code
<?php
// Start Extra Fields v2
  $extra_field_query = tep_db_query("SELECT pef.products_extra_fields_id, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef LEFT JOIN ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf ON ptf.products_extra_fields_id = pef.products_extra_fields_id WHERE ptf.products_id=". (int)$HTTP_GET_VARS['products_id'] . " and pef.products_extra_fields_status > 0 and (pef.languages_id='0' or pef.languages_id='" . (int)$languages_id . "') ORDER BY pef.products_extra_fields_order");
  if (tep_db_num_rows($extra_field_query) > 0) {
    echo '<div id="tabs"><ul>';
    foreach ($extra_field_query as $extra_field ) {
      echo '<li><a href="#tabs_' . $extra_field['products_extra_fields_id'] . '">' . $extra_field['name'] . '</a></li>';
    }
    echo '</ul>';
    foreach ($extra_field_query as $extra_fiel_val ) {
      echo '<div id="tabs_' . $extra_fiel_val['products_extra_fields_id'] . '">' . $extra_fiel_val['value'] . '</div>';
    }
    echo '</div>';
  }
// End Extra Fields v2
?>


Alors pour expliquer le code (si sa t'intéresse bien sur)
J'ai modifié l'appel à la base de donnée (ajout d'un pef.products_extra_fields_id pour le <a href> et l'id de la div contenu sa évite le $numberTab++ et modifier l'appel du status car avec les tab le code original aurai créer un bug.
J'ai ajouté un if (tep_db_num_rows($extra_field_query) > 0) au cas ou il n'y aurais pas de champ, dans le code précédent tu aurai eu un <div id="tabs"><ul></ul></div> qui serait rester affiché.
Et dernier point ont utilise 2 foreach pour les boucles (pour la première tu peu utilisé un while si tu préfère)

Voilà bon code

Ce message a été modifié par Rusti - 28 Apr 2015, 20:42.


--------------------
osCommerce v2.3
Go to the top of the page
 
badcape
posté 29 Apr 2015, 18:10
Message #16


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



re Rusti!
je reviens ici dès demain.... beaucoup de boulot et avec le décalage (à peine 2 heures, je sais) j'peux pas bosser bien tard par rapport à toi.
Tu veux mon avis? foreach va générer deux erreurs.... mais ton code est la piste à suivre.
attends demain mon code.
et merci,
cool.gif



--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
Rusti
posté 29 Apr 2015, 18:12
Message #17


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



Bonjour badcape
En fait j'ai installer un oscommerce et la contrib et le code donner ci-dessus fonctionne très bien

Le premier code avec foreach posait problème car il appelais la base via le while (grossière erreur de ma part)

Ce message a été modifié par Rusti - 29 Apr 2015, 18:18.


--------------------
osCommerce v2.3
Go to the top of the page
 
badcape
posté 1 May 2015, 08:57
Message #18


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



... et re-bonjour Rusti!
bon, 'y a comme un truc quelque part qui pose problème..... ça fonctionne chez toi et toujours pas chez moi avec ton code optimisé.
Tu peux m'envoyer ton e-mail en MP.... te transmets mon product_info, on bidouille, et on revient ici avec la solution?
T'as installé quel oscommerce et tu es en php 5 combien?
Thierry.
cool.gif


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 
Rusti
posté 1 May 2015, 10:15
Message #19


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 103
Inscrit : 11-October 10
Lieu : Villemomble
Membre no 28103



Bonjour badcape
Pour oscommerce la 2.3.1 et la 2.3.3.4 et sa fonctionne sur les deux version (en même temps c'est normal pas vraiment de grosse différence au niveau product_info sur les 2 versions) et php5.5 et même php5.6 mais le soucis ne peut pas venir de php même si tu as une version inférieur, foreach n'a pas été modifier.
Je t'envois mon email

Ce message a été modifié par Rusti - 1 May 2015, 10:43.


--------------------
osCommerce v2.3
Go to the top of the page
 
badcape
posté 15 Aug 2016, 17:56
Message #20


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 1071
Inscrit : 28-September 07
Lieu : Saint paul - REUNION
Membre no 19202



.... me revoilou! biggrin.gif
avais oublié de mettre en ligne le code final de l'affichage en tabs de Products Extra fields dans product_info.php:
Code
<?php
// START: BOF Extra Fields v2
  $extra_fields_query = tep_db_query("SELECT pef.products_extra_fields_id as id, pef.products_extra_fields_name as name FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef, " . TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS . " ptf WHERE ptf.products_extra_fields_id = pef.products_extra_fields_id and ptf.products_id=". (int)$HTTP_GET_VARS['products_id'] . " and pef.products_extra_fields_status > 0 and (pef.languages_id='0' or pef.languages_id='" . (int)$languages_id . "') ORDER BY pef.products_extra_fields_order");
  if (tep_db_num_rows($extra_fields_query) > 0) {
    echo '<div id="tabsField"><ul>';
    while ($extra_fields = tep_db_fetch_array($extra_fields_query)) {
      echo '<li><a href="#tabs_' . $extra_fields['id'] . '">' . $extra_fields['name'] . '</a></li>';
    }
    echo '</ul>';

    $val_extra_fields_query = tep_db_query("SELECT pef.products_extra_fields_id as id, ptf.products_extra_fields_value as value FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef, " . TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS . " ptf WHERE ptf.products_extra_fields_id = pef.products_extra_fields_id and ptf.products_id=". (int)$HTTP_GET_VARS['products_id'] . " and pef.products_extra_fields_status > 0 and (pef.languages_id='0' or pef.languages_id='" . (int)$languages_id . "') ORDER BY pef.products_extra_fields_order");
    while ($val_extra_fields = tep_db_fetch_array($val_extra_fields_query)) {
      echo '<div id="tabs_' . $val_extra_fields['id'] . '">' . $val_extra_fields['value'] . '</div>';
    }
    echo '</div>';
  }
// End Extra Fields v2
?>
<script type="text/javascript">
$( "#tabsField" ).tabs();
</script>

... c'est fait.
Pour la mise en page.... dans la page, c'est à vous de voir avec votre stylesheet.css.

cool.gif
P.S: suis sur oscom 2.3.4 Bootstrap en local et bosse sur différentes contributions que j'avais installées sur mon oscom précédent et celle-ci en particulier: reviendrai avec le nouveau code...

Ce message a été modifié par badcape - 15 Aug 2016, 18:00.


--------------------
Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL),
PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli
version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café !
Un grand merci à tous !(pour votre aide et votre patience....)
En local:
1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod.
2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 13:41
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)