Jump to content

Modificar el Módulo CataloguePDF


prestacarlos

Recommended Posts

Hola.

He instalado el módulo "CataloguePDF", con una modificación en castellano por el tema de legibilidad de carácteres, para poder sacar en pdf todos los artículos de la tienda. Hasta aquí todo bien. El módulo funciona bien, lo único que los precios que saca el catálogo en pdf de los productos de la tienda son los precios del "PVP con IVA", y no con la "Cantidad de reducción" aplicada, es decir, el precio final o sea el neto. Alguien sabe que debo modificar del código del módulo para que liste los precios con en "Precio de venta final"?. El archivo implicado en ésto es "CreatePDF.php", pero repito que no se que parámetro he de cambiar.

Muchas gracias de antemano.

Link to comment
Share on other sites

Os envío parte de código por si alguien sabe que hay que modificar para extraer de la base de datos MySQL, el precio final de cada artículo en vez de el pvp, (creo que está en la parte final):

//Récupération des données de connection à la base de données
$host=_DB_SERVER_;
$login=_DB_USER_;
$password=_DB_PASSWD_;
$base=_DB_NAME_;

//Connection à la base de données
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);

//Requète pour récupérer le signe des devises et le taux de conversion
$requetedevise='SELECT sign,conversion_rate from '._DB_PREFIX_.'currency WHERE id_currency='.$monnaie;
$resultdevise=mysql_query($requetedevise);
$rowdevise=mysql_fetch_array($resultdevise);
$signedevise=$rowdevise['sign'];
$signedevise=utf8_decode($signedevise);
If(ord($signedevise)==63) $signedevise=chr(128); // Problème avec le signe euro. Forcage du signe €
$tauxdevise=$rowdevise['conversion_rate'];

//Requète pour récupérer les images taille medium, les catégories, noms de produits, descriptions courtes et prix
//selon la langue et la devise et ordonnées en catégories
$requete='SELECT '._DB_PREFIX_.'product.id_product,'._DB_PREFIX_.'product.price,'._DB_PREFIX_.'product_lang.description_short,'
._DB_PREFIX_.'image_lang.legend,'._DB_PREFIX_.'image.id_image,'._DB_PREFIX_.'category_product.id_category,'
._DB_PREFIX_.'category_lang.name FROM '._DB_PREFIX_.'product,'._DB_PREFIX_.'product_lang,'._DB_PREFIX_.'image,'
._DB_PREFIX_.'image_lang,'
._DB_PREFIX_.'category_product,'
._DB_PREFIX_.'category_lang where ('._DB_PREFIX_.'product.id_product='._DB_PREFIX_.'product_lang.id_product AND '
._DB_PREFIX_.'product_lang.id_lang='.$langue.' AND '._DB_PREFIX_.'image.id_product='._DB_PREFIX_.'product.id_product AND '
._DB_PREFIX_.'image.id_image='._DB_PREFIX_.'image_lang.id_image AND '._DB_PREFIX_.'image_lang.id_lang='.$langue.' AND '
._DB_PREFIX_.'category_product.id_product='._DB_PREFIX_.'product.id_product AND '
._DB_PREFIX_.'category_lang.id_category='._DB_PREFIX_.'category_product.id_category AND '
._DB_PREFIX_.'category_lang.id_lang='.$langue.' AND '
._DB_PREFIX_.'category_product.id_category!=1) ORDER BY '._DB_PREFIX_.'category_product.id_category,'
._DB_PREFIX_.'product.price';
$result=mysql_query($requete);


class PDF extends FPDF
{
//En-tête
function Header()
{
//Logo
$this->Image('../../img/logo.jpg'); // Logo de votre site affichée à la position x=10, y=8, largeur=190, hauteur=25

}

//Pied de page
function Footer()
{
if($this->PageNo()!=1) // Si on est pas sur la première page
{
//Positionnement à 1,5 cm du bas
$this->SetY(-15);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
$page=$this->PageNo();
$nbre='{nb}';

//Numéro de page
$this->Cell(0,10,'Page '.$page.'/'.$nbre,0,0,'C');
}
else // On est sur la première page
{
$this->SetY(-30); // On se positionne à 30 mm du bas d epage
$this->SetFillColor(212,212,212); // On selectionne la couleur grise
$this->Cell(190,20,'',1,2,'C',1); // on met une cellule de largeur=190, hauteur=20. Voir la doc pour les autres champs
}
}
}

$pdf=new PDF(); // On crée une nouvelle instance pour le PDF
$pdf->AddFont('times','','times.php'); // On ajoute la police times

$pdf->AliasNbPages(); // Allias pour le Nbre de page. Par défaut {nb}
$pdf->AddPage(); // On ajoute une page. La première
$pdf->SetFont('times','',24); // On sélectionne la police times de taille 24

$pdf->SetY(100); // On se positionne à Y=100
$pdf->SetX(50); // et X=50
$pdf->Cell(120,40,$titre,1,2,'C',0); // On dessine une cellule avec le titre du catalogue

$pdf->AddPage(); // On ajoute une autre page. La deuxième. Les autres seront crées automatiquement.
$pdf->SetFont('times','',12); // On séléctionne la police times de taille 12

$y_axe=30; // Position en Y par défaut
$x_axe=20; // Position en X par défaut
$interligne=0; // Interligne entre chaque produit. Initialisée à 0 //
$i=0; // Variable pour boucle
$max=5; // Nombre de produits max par page //
$savecategory=''; // Sauvegarde des carégories pour vérification si changement de catégorie


while($row = mysql_fetch_array($result)) // Récupération des produits en boucle
{
if($i==$max) // On vérifie si on a atteint le nombre de produit max par page
{ // Si oui, on ré-initialise les variables
$i = 0;
$y_axe=30;
$interligne=0;
}
$img=$row['id_product'].'-'.$row['id_image'].'-medium.jpg'; // image produits Taille médium
$description = $row['description_short']; // description courte
$description=utf8_decode(strip_tags($description)); // On enlève les tags HTML
$description=html_entity_decode($description); // On décode les codes HTML
$price = $row['price']; // prix
$price=$price*$tauxdevise; // conversion du prix selon devise
$price=number_format($price,2); // 2 digit après la virgule
$price=$price.$signedevise; // ajout du signe de la devise
$nameproduit = utf8_decode($row['legend']); // Nom du produit
//$nameproduit=utf8_encode($nameproduit); // On décode l'UTF8
$namecategory=$row['name']; // Nom de la catégorie
//$namecategory=utf8_encode($namecategory); // On décode l'UTF8

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...