2. Taxons¶
Danger
We’re sorry but this documentation section is outdated. Please have that in mind when trying to use it. You can help us making documentation up to date via Sylius Github. Thank you!
2.1. Taxons¶
Retrieving taxons from database should always happen via repository, which implements Sylius\Bundle\ResourceBundle\Model\RepositoryInterface
.
If you are using Doctrine, you’re already familiar with this concept, as it extends the native Doctrine ObjectRepository
interface.
Your taxon repository is always accessible via sylius.repository.taxon
service.
Taxon contains methods which allow you to retrieve the child taxons. Let’s look at our example tree.
| Categories
|-- T-Shirts
| |-- Men
| `-- Women
|-- Stickers
|-- Mugs
`-- Books
To get a collection of child taxons under taxon, use the findChildren
method.
<?php
class MyActionController
{
public function myAction(Request $request)
{
// Find the parent taxon
$taxonRepository = $this->container->get('sylius.repository.taxon');
$taxon = $taxonRepository->findOneByName('Categories');
$taxonRepository = $this->container->get('sylius.repository.taxon');
$taxons = $taxonRepository->findChildren($taxon);
}
}
$taxons
variable will now contain a list (ArrayCollection) of taxons in following order: T-Shirts, Men, Women, Stickers, Mugs, Books.