Lo que me gustaría hacer es tomar todas las categorías secundarias de una categoría principal específica. Supongo que la mejor manera de hacerlo es mediante el uso de la identificación de los padres y de las categorías secundarias que se devuelven, también me gustaría obtener sus categorías secundarias.
9
$subcats = $subcategory->getChildrenCategories();
Respuestas:
Consulte el siguiente ejemplo para obtener la lista de todas las subcategorías de una categoría primaria específica usando el ID de la categoría primaria usando objectManager.
=====
Consulte el siguiente ejemplo para obtener una lista de todas las subcategorías de una categoría principal específica utilizando el ID de la categoría principal mediante el repositorio.
En primer lugar, agregue CategoryRepository en la construcción:
Ahora puede usar la siguiente manera:
fuente
Necesita agregar una dependencia a su clase
\Magento\Catalog\Model\ResourceModel\Category\CollectionFactory
.Me gusta esto:
ahora solo necesita llamar al método
getDescendants
con el$category
objeto como parámetro y la cantidad de niveles que necesita para las subcategorías (2 en su caso).fuente
$block->getDescendents($category, 2)
dónde$category
está la categoría principal. (No sé de dónde sacas eso).Siempre trate de usar el repositorio. Aquí hay un ejemplo.
Inyectar
CategoryRepository
por construcciónAhora puede usar la siguiente manera:
Para categoría infantil de 2 niveles:
fuente
\Magento\Catalog\Api\CategoryRepositoryInterface
fuente
Use el siguiente código para obtener todas las categorías secundarias activas de una categoría específica.
La función getChildCategories ($ categoryId) proporciona todas las categorías secundarias. Donde $ categoryId - es el id de la categoría padre
$ category-> getChildren () - Esto le dará a todos los identificadores de categorías de chid.
fuente