je me répond a moi même , cela peux toujours servir a des débutants comme moi...
ma requete SQL
Code:
SELECT DISTINCT j1730vm2_virtuemart_products_fr_fr.virtuemart_product_id, j1730vm2_virtuemart_products_fr_fr.product_name, j1730vm2_virtuemart_product_medias.virtuemart_media_id, j1730vm2_virtuemart_medias.file_url_thumb FROM j1730vm2_virtuemart_products_fr_fr, j1730vm2_virtuemart_product_categories, j1730vm2_virtuemart_product_medias, j1730vm2_virtuemart_medias WHERE j1730vm2_virtuemart_product_categories.virtuemart_category_id=24 AND j1730vm2_virtuemart_product_categories.virtuemart_product_id=j1730vm2_virtuemart_products_fr_fr.virtuemart_product_id AND j1730vm2_virtuemart_product_medias.virtuemart_product_id=j1730vm2_virtuemart_products_fr_fr.virtuemart_product_id AND j1730vm2_virtuemart_medias.virtuemart_media_id=j1730vm2_virtuemart_product_medias.virtuemart_media_id
Dans le model du front
Code PHP:
public function getProduits()
{
if (!isset($this->produits))
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('DISTINCT
#__virtuemart_products_fr_fr.virtuemart_product_id,
#__virtuemart_products_fr_fr.product_name,
#__virtuemart_product_medias.virtuemart_media_id,
#__virtuemart_medias.file_url_thumb,
#__virtuemart_product_prices.product_price
');
$query->from('
#__virtuemart_products_fr_fr,
#__virtuemart_product_categories,
#__virtuemart_product_medias,
#__virtuemart_medias,
#__virtuemart_product_prices
');
$query->where('
#__virtuemart_product_categories.virtuemart_category_id=24
AND
#__virtuemart_product_categories.virtuemart_product_id=j1730vm2_virtuemart_products_fr_fr.virtuemart_product_id
AND
#__virtuemart_product_medias.virtuemart_product_id=j1730vm2_virtuemart_products_fr_fr.virtuemart_product_id
AND
#__virtuemart_medias.virtuemart_media_id=j1730vm2_virtuemart_product_medias.virtuemart_media_id
AND
#__virtuemart_product_prices.virtuemart_product_id=j1730vm2_virtuemart_products_fr_fr.virtuemart_product_id
');
$query->orderby('virtuemart_product_id ASC');
$db->setQuery((string)$query);
$produits = $db->loadObjectList();
echo "les produits existent.";
}
else
{
echo "les produits n'existent pas.";
// Load the JSON string
$params = new JRegistry;
$params->loadJSON($this->produits->params);
$this->produits->params = $params;
// Merge global params with item params
$params = clone $this->getState('params');
$params->merge($this->produits->params);
$this->produits->params = $params;
}
return $produits;
}
Code PHP:
<?php
// Pas d'acces direct a ce fichier
defined('_JEXEC') or die('Restricted access');
?>
<h1><?php echo $this->item->texte.(($this->item->category and $this->item->params->get('show_category')) ? (' ('.$this->item->category.')') : ''); ?></h1>
<?php
$produits =array();
foreach ($this->produits as $produit)
{
echo "<h3>nom :".$produit->product_name."</h3><br>";
echo "<pre>";
print_r($produit);
echo "</pre>";
echo "<img src='/joomla_1730_vm2/"
.$produit->file_url_thumb.
"' alt="
.$produit->product_name.
"class='browseProductImage' border='0' title='"
.$produit->product_name.
"'><br><p>"
.$produit->product_price.
"</p>";
}
?>
cela fonctionne
Mais ...
si une gentille "Brute de la programmation" pouvais me donnez son avis sur le code ,
parce que j'ai peu être
- - coder un gros bousin.
- - fais une grosse erreur.
- - on peux simplifier lecode.
..enfin donnez moi des conseil SVP...
merci.
Laisser un commentaire: