Dans la catégorie view.phtml, si j'obtiens la catégorie, puis une collection de produits, comment puis-je obtenir le premier formulaire de produit de la collection affecté à $ _product à utiliser dans le code? Voici ce que j'ai:
$_category = $this->getCurrentCategory();
$_collection = $_category->getProductCollection();
$_product =
$_resource = $_product->getResource();
J'ai essayé d'utiliser foreach mais j'obtenais toujours des erreurs.
$_product = $_collection->getFirstItem()
Réponses:
Pour obtenir le premier élément d'une collection, utilisez simplement la
getFirstItem()
fonction de la collection.Exemple:
Exemple 2 (pour cette question particulière):
Certains autres domaines peuvent être utilisés:
Les clients
Ordres
Notez s'il vous plaît:
Ce n'est pas une bonne idée de charger TOUS les produits / clients / commandes car cela prend beaucoup de ressources. La manière préférée est de limiter ce que vous voulez charger en utilisant les fonctions
addAttributeToFilter()
ouaddFieldToFilter()
, voir l'exemple ci-dessous:la source
pzirkind est totalement correct, se demandant simplement que personne ne se soucie des performances. Si vous souhaitez UNIQUEMENT le premier / dernier élément d'une collection, vous devez toujours limiter votre requête à
1
:Le simple fait d'utiliser
getFirstItem()
chargera toujours toute la collection et après cela, il agrandira le premier élément.Exemple : catégorie avec 750 produits
Juste
getFirstItem()
:Ajout
getSelect()->limit(1)
:la source
Aussi comment obtenir le dernier élément:
la source
@pZirKind a raison, vous pouvez obtenir le premier article de la collection de produits en utilisant les méthodes natives de la classe Varien Collection comme:
la source
la source
Essayez ceci s'il vous plaît
la source