2010-07-31 5 views
1

J'ai un composant simple qui affiche une liste de produits. Je veux séparer les produits par type. Y a-t-il un chemin à travers la tâche = ou quelque chose comme ça où je peux appeler une fonction différente dans le modèle? Ou ... meilleure question: comment utiliser l'URL pour récupérer différentes données, changer un en-tête sur le modèle, mais afficher les données de la même manière pour chaque type?Demander des données différentes du même composant dans Joomla

sql ressemblera à quelque chose comme:

SELECT * FROM stoves WHERE type=1 
SELECT * FROM stoves WHERE type=2 

Répondre

1

Peut-être que je ne vois pas la complexité, mais il semble assez simple. Vous avez juste besoin d'ajouter un autre paramètre à la requête d'url pour votre composant. Appelez-le "type" par exemple.

Ensuite, votre exemple d'URL ressemblera à: "index.php? Option = com_example & task = view & type = 1". Inspectez ensuite la valeur du paramètre "type" dans le contrôleur de votre composant et agissez en fonction de sa valeur ...

+0

Ce n'est pas complexe du tout. Je voulais ajouter une ligne à la question qui dit "c'est stupide facile mais je frappe un mur!". Je l'ai compris pour la plupart, mais je doute que je le fasse correctement. Depuis le contrôleur, comment appeler une vue différente? – hookedonwinter

0

Vous n'avez pas besoin du contrôleur pour appeler une vue différente. Dans le contrôleur, recherchez l'entrée "type" supplémentaire dans la chaîne de requête, puis créez une clause WHERE que vous ajoutez à votre requête SQL lorsque vous extrayez les données de la base de données. Assurez-vous que vous avez une clause where pour chaque type que vous souhaitez utiliser plus un défaut pour le type de temps est manquant ou non défini.