O que eu gostaria de fazer é pegar todas as categorias filho de uma categoria pai específica. Estou assumindo que a melhor maneira de fazer isso é usando o ID dos pais e das categorias filho retornadas, eu gostaria de pegar as categorias filho também.
9
$subcats = $subcategory->getChildrenCategories();
Respostas:
Confira o exemplo abaixo para obter a lista de todas as subcategorias de categoria pai específica usando o ID da categoria pai usando objectManager.
=====
Verifique o exemplo abaixo para listar todas as subcategorias de categoria pai específica usando o ID da categoria pai usando o repositório.
Primeiro, adicione CategoryRepository na construção:
Agora você pode usar da seguinte maneira:
fonte
Você precisa adicionar uma dependência à sua classe
\Magento\Catalog\Model\ResourceModel\Category\CollectionFactory
.Como isso:
agora você só precisa chamar o método
getDescendants
com o$category
objeto como parâmetro e o número de níveis necessários para as subcategorias (2 no seu caso).fonte
$block->getDescendents($category, 2)
onde$category
está a categoria principal. (Eu não sei de onde você tirou isso).Sempre tente usar o repositório. Aqui está um exemplo.
Injetar
CategoryRepository
por construçãoAgora você pode usar a seguinte maneira:
Para a categoria filho de 2 níveis:
fonte
\Magento\Catalog\Api\CategoryRepositoryInterface
fonte
Use o código abaixo para obter todas as categorias filho ativas de uma categoria específica.
A função getChildCategories ($ categoryId) fornece todas as categorias filho. Onde $ categoryId - é o ID da categoria pai
$ category-> getChildren () - Isso fornece todos os IDs de categorias de crianças.
fonte