2008-09-25 11 views
0

J'ai une application CakePHP 1.2.Meilleure pratique pour le placement de la logique d'affichage dans une vue dans CakePHP

Je suis dans le cas où je dois faire un peu de logique pour rendre les choses correctement dans la vue. Par exemple: J'ai une table appelée Types. Il y a des drapeaux pour différents types, donc chaque rangée a un ou plusieurs champs BOOL. Pour un type de type, je stocke le contenu d'un RTF dans un autre champ.

Donc quand j'affiche une liste de toutes les typos dans la vue, je veux créer un lien pour les types qui sont le type où je stocke RTF. Je ne veux pas montrer un lien, sinon.

Où est le meilleur endroit pour cette logique?

Je veux utiliser html-> link pour créer le lien, mais je ne peux pas l'utiliser à l'intérieur de mon modèle. La logique doit-elle figurer dans le modèle, et si oui, devrais-je créer du code HTML dans mon modèle, p. le lien?

Répondre

1

Je suggère de garder cette logique dans la vue, la construction de HTML dans votre modèle rompt toute la séparation vue/modèle. Je ne pense pas qu'il y ait quelque chose qui cloche avec la logique de la vue, personnellement j'ai tendance à la contraindre aux conditions de base.

finalement je pense que l'idée est de savoir où cette logique correspond le mieux. dans ce cas, la logique est la suivante: «si j'ai un certain type, je devrais lui fournir un lien», qui est un problème de vue, pas un problème de modèle.

0

Construisez votre propre AppHtmlHelper qui étend HtmlHelper et fait le contrôle pour vous.

Questions connexes