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

Link to comment
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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...