Jump to content

Recommended Posts

Bonjour,

 

Sur mon site je cherche à créer une nouvelle page ou je ne présenterai que les produits allant de 0 à 100 euros

J'ai crée un controller qui étend Front controller

 

 public function initContent()
    {
        parent::initContent();
		 $products = Product::getProductsThirty($this->context->language->id, 0, null, 'name', 'asc');
		 $products_all = Product::getProductsProperties($this->context->language->id, $products);
		 
		
 
	$listing['label'] ='A moins de 100 €';
   $listing['products'] = json_decode(json_encode($products_all), true); // convert object to array
$this->context->smarty->assign("listing", $listing);
        $this->setTemplate('littleprice.tpl');
    }

Seulement il m'affiche bien les produits allant de 0 à 100 euros mais il manque les images des produits ainsi que les liens et les filtres et la pagination

J'ai essayer également de créer un "Adapter"  en me basant sur les pages  "nouveau produits " et "Meilleurs ventes" mais cela ne fonctionne pas.

Comment puis-je faire pour résoudre ce problème

 

Merci

Share this post


Link to post
Share on other sites

J'ai finalement réussi à afficher les images et les liens

 

 public function initContent()
    {
        parent::initContent();
	
		 $products = $this->getProductsPrice();
         $listing['products'] = json_decode(json_encode($products), true); 
         $this->context->smarty->assign("listing", $listing);
		 $this->setTemplate('littleprice.tpl');
    }
	public function getProductsPrice()
    {
		
		$products = Product::getProductsThirty($this->context->language->id, 0, null, 'price', 'asc');
		

        $assembler = new ProductAssembler($this->context);

        $presenterFactory = new ProductPresenterFactory($this->context);
        $presentationSettings = $presenterFactory->getPresentationSettings();
        $presenter = new ProductListingPresenter(
            new ImageRetriever(
                $this->context->link
            ),
            $this->context->link,
            new PriceFormatter(),
            new ProductColorsRetriever(),
            $this->context->getTranslator()
        );

        $products_for_template = [];

        foreach ($products as $rawProduct) {
            $products_for_template[] = $presenter->present(
                $presentationSettings,
                $assembler->assembleProduct($rawProduct),
                $this->context->language
            );
        }

        return $products_for_template;
    }

Par contre je n'ai sais pas comnent afficher le filtre et la pagination, su quelqu'un a une idée ?

 

Aussi comment on peut récupérer les prix TTC dans la base de données, car avec ma requete il affiche les produits compris entre 0 et 100€ HT

 

WHERE p.`price` >= 0.000000 AND p.`price` <= 10.000000

Merci

Share this post


Link to post
Share on other sites
Le 11/02/2020 à 5:05 PM, recdev a dit :

Sur mon site je cherche à créer une nouvelle page ou je ne présenterai que les produits allant de 0 à 100 euros

bonjour

pourquoi ne pas creer une categorie n'affichant que ses produits ?

Edited by solsol69 (see edit history)

Share this post


Link to post
Share on other sites

Car j'ai environ 2000 produits et je voudrais que cela soit fait automatiquement , comme les catégories "promotions" ou "meilleurs ventes"

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More