В категории view.phtml, если я получу категорию, а затем получу коллекцию продуктов, как я могу получить первый продукт из коллекции, присвоенной $ _product для использования в коде? Вот что у меня есть:
$_category = $this->getCurrentCategory();
$_collection = $_category->getProductCollection();
$_product =
$_resource = $_product->getResource();
Я пытался использовать foreach, но продолжал получать ошибки.
$_product = $_collection->getFirstItem()
Ответы:
Чтобы получить первый элемент в коллекции, просто используйте
getFirstItem()
функцию в коллекции.Пример:
Пример 2 (для этого конкретного вопроса):
Некоторые другие области, которые можно использовать:
Клиенты
заказы
Пожалуйста, обратите внимание:
Не стоит загружать ВСЕ продукты / клиентов / заказы, для этого требуется много ресурсов. Предпочтительным способом является ограничение того, что вы хотите загрузить, с помощью функций
addAttributeToFilter()
илиaddFieldToFilter()
, см. Пример ниже:источник
Pzirkind совершенно прав, просто интересно, что никто не заботится о производительности. Если вы хотите ТОЛЬКО первый / последний элемент коллекции, вы всегда должны ограничивать свой запрос
1
:Простое использование по-
getFirstItem()
прежнему загружает всю коллекцию и после этого захватывает первый элемент.Пример : категория с 750 продуктами
Просто
getFirstItem()
:Добавление
getSelect()->limit(1)
:источник
Также как получить последний товар:
источник
@pZirKind прав, вы можете получить первый элемент из коллекции продуктов, используя нативные методы класса Varien Collection, такие как:
источник
источник
Попробуйте это пожалуйста
источник