THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Salut, ça faisait un moment que je n'étais pas passé ici

je fais un template avec filtrage "avancé" des produits, dans ce style : http://pro.linuxconsole.org/jquery/mixitup/
J'ai activé le plugin parsephp, car je trouve que l'utilisation de boucles devient assez fastidieux quand il a pas mal d'imbrications.

@+

Yann

Offline


pour info, voila comment j'ai fait pour mon filtre php:

include("client/config_thelia.php");
try
{
  $pdo = new PDO("mysql:host=".THELIA_BD_HOST.";dbname=".THELIA_BD_NOM, THELIA_BD_LOGIN, THELIA_BD_PASSWORD);
}
catch(Exception $e)
{
  echo 'Echec de la connexion à la base de données';
  exit();
}
$caracteristiquedesc=array();
$sql="SELECT id,titre FROM caracteristiquedesc";
$resultats=$pdo->query("$sql");
$resultats->setFetchMode(PDO::FETCH_OBJ);
while( $ligne = $resultats->fetch() )
{
  $id=$ligne->id;
  $dimension=getRewriteString($ligne->titre);
  $titre=utf8_encode($ligne->titre);
  if($titre=="MODULABLE") continue;
  if($titre=="Fichier joint à un article v2.0") continue;
  echo '<div class="drop_down wf"><ul class="anim250 titreoption">';
  echo '<p>'.$titre.'</p>';
  $sql="SELECT caracdispdesc.id, caracdispdesc.titre
    FROM caracdisp
    LEFT JOIN caracdispdesc ON caracdispdesc.caracdisp = caracdisp.id
    WHERE caracteristique =".$ligne->id;
  $caracdispdesc=$pdo->query($sql);
  if($caracdispdesc != FALSE)
  {
      echo "\n";
    echo '<li class="active caracteristique" data-filter="all" data-dimension="'.$dimension.'">Tous</li>';
      echo "\n";
    while ($line = $caracdispdesc->fetch())
    {
      $sql="SELECT count(*) FROM produit LEFT join caracval on produit.id=caracval.produit where produit.rubrique=".$rubrique_id." and caracval.caracdisp=".$line['id'];
      $existe=$pdo->prepare($sql);
      $existe->execute();
      if($existe->fetchColumn()>0)
      {
      echo '<li class="caracteristique" data-filter="'.utf8_encode($line['titre']).'" data-dimension="'.$dimension.'">';
      echo "\n";
//      echo $line['id'];
        echo utf8_encode($line['titre']);
      // echo $existe->fetchColumn();
      echo "</li>";
      //echo "$sql";
      }
    }
  }
  echo '</ul></div>';
  $caracdispdesc->closeCursor(); // on ferme le curseur des résultats
}

$resultats->closeCursor(); // on ferme le curseur des résultats

si quelqu'un sait comment on fait un "if(...) continue" avec les boucles, je suis preneur