То, что я хотел бы сделать, это захватить все дочерние категории определенной родительской категории. Я предполагаю, что лучший способ сделать это, используя идентификатор родителя и тех дочерних категорий, которые возвращаются, я хотел бы также захватить их дочерние категории.
9
$subcats = $subcategory->getChildrenCategories();
Ответы:
Проверьте приведенный ниже пример, чтобы получить список всех подкатегорий определенной родительской категории, используя идентификатор родительской категории, используя objectManager.
=====
В приведенном ниже примере приведен список всех подкатегорий конкретной родительской категории с использованием идентификатора родительской категории с использованием репозитория.
Прежде всего добавьте CategoryRepository в конструкцию:
Теперь вы можете использовать следующий способ:
источник
Вам нужно добавить зависимость к вашему классу
\Magento\Catalog\Model\ResourceModel\Category\CollectionFactory
.Нравится:
теперь вам просто нужно вызвать метод
getDescendants
с$category
объектом в качестве параметра и количеством уровней, необходимых для подкатегорий (2 в вашем случае).источник
$block->getDescendents($category, 2)
где$category
основная категория. (Я не знаю, откуда ты это взял).Всегда старайтесь использовать репозиторий. Вот пример.
Внедрить
CategoryRepository
по конструкцииТеперь вы можете использовать следующий способ:
Для 2 уровня детской категории:
источник
\Magento\Catalog\Api\CategoryRepositoryInterface
источник
Используйте код ниже, чтобы получить все активные дочерние категории определенной категории.
Функция getChildCategories ($ categoryId) выдает все дочерние категории. Где $ categoryId - идентификатор родительской категории
$ category-> getChildren () - Это даст все идентификаторы категорий chid.
источник