# Produkte in Twig-Funktion laden

**URL:** <https://forum.shopware.com/t/produkte-in-twig-funktion-laden/89413>\
**Category:** Shopware 6 (German)\
**Created:** [26. Juli 2021 um 10:46 UTC](https://forum.shopware.com/t/produkte-in-twig-funktion-laden/89413 "2021-07-26T10:46:16Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![EnesK](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/enesk/32/14019_2.png) [@EnesK](https://forum.shopware.com/u/EnesK)\
**Post date:** [26. Juli 2021 um 10:46 UTC](https://forum.shopware.com/t/produkte-in-twig-funktion-laden/89413/1 "2021-07-26T10:46:16Z")

</div>

Hallo zusammen,

ich habe eine Twig-Funktion erstellt. Wie kann ich hier z.B. die Produkte anzeigen?

```auto

use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;

class CustomExtension extends AbstractExtension {

	public function __construct() {
	}

	public function getFunctions() {
		return [
			new TwigFunction('getProductsByCategory', [$this, 'getProducts']),
		];
	}

	public function getProducts($categoryID) {
		/* WIE kann ich hier die Produkte auflisten? */
	}
}

```

Grüße,  
Enes

---

<div class="post-metadata">

**Author:** ![EnesK](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/enesk/32/14019_2.png) [@EnesK](https://forum.shopware.com/u/EnesK)\
**Post date:** [27. Juli 2021 um 11:22 UTC](https://forum.shopware.com/t/produkte-in-twig-funktion-laden/89413/2 "2021-07-27T11:22:49Z")

</div>

Hat keiner eine Idee? ://

---

<div class="post-metadata">

**Author:** ![EnesK](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/enesk/32/14019_2.png) [@EnesK](https://forum.shopware.com/u/EnesK)\
**Post date:** [27. Juli 2021 um 14:47 UTC](https://forum.shopware.com/t/produkte-in-twig-funktion-laden/89413/3 "2021-07-27T14:47:46Z")

</div>

Habe es so gelöst:

```auto
use Shopware\Core\Framework\Context;
use Shopware\Core\Framework\DataAbstractionLayer\EntityRepositoryInterface;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;

class CustomExtension extends AbstractExtension {
	
	private $productRepository;
	private $categoryRepository;

	public function __construct(EntityRepositoryInterface $productRepository, EntityRepositoryInterface $categoryRepository) {
		$this->productRepository = $productRepository;
		$this->categoryRepository = $categoryRepository;
	}

	public function getFunctions() {
		return [
			new TwigFunction('getProductsByCategory', [$this, 'getProducts']),
		];
	}

	public function getProducts($categoryID) {
		$criteria = new Criteria();
		$criteria->addAssociation('children');
		$criteria->addAssociation('children.products');
		$criteria->addAssociation('children.products.seoUrls');
		$criteria->addFilter(new EqualsFilter('id', $parentCategoryID));

		$categories = $this->categoryRepository->search(
			$criteria,
			Context::createDefaultContext()
		);

	}
}

```
