Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/02/2011, 14h30   #1
Invité régulier
 
Jérôme Becquet
Inscription : décembre 2009
Messages : 15
Détails du profil
Informations personnelles :
Nom : Jérôme Becquet

Informations forums :
Inscription : décembre 2009
Messages : 15
Points : 5
Points : 5
Par défaut slot, component, je comprend pas

Bonjour,

Je pense que mon problème est assez simple mais beaucoup de débutant doivent se poser cette question.

Sur ma page d'accueil de mon site je souhaite faire apparaître plusieurs partie (Dernière news, liste d'annonces, liste de documents) dont chacun aura son propre module.

Mon problème je n'arrive pas à mettre ces trois modules sur ma page d'accueil. Je pense que c'est avec les slots qu'il faut faire ca mais je ne vois vraiment pas comment m'y prendre ?

Est-ce qu'un expérimenté peux me donner un coup de pouce avec des exmplications facilement compréhensible

Merci beaucoup
oasiscreation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 10h49   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Perdu !

C'est avec des componements qu'il faut procéder.

Les trois trucs à insérer sur une page :
  • le partiel : bout de code de template inséré dans un template
  • le componement : un peu comme un partiel, mais il embarque une couche corps (représenté par une action) dans la bagarre. Plus lourd en temps d'exécution, il permet beaucoup plus d'autonomie et notamment de retrouver seul ses données.
  • slot : différent dans l'esprit, il permet de remplir plus bas dans la page un espace laissé libre pour lui plus haut. Exemple, un menu défini en début de page et tu veux avoir la possibilité que le module en cour y ajoute quelques options, dans la liste qui défini le module tu laisses une réserve potentiel d'espace (slot) pour que le module puisse y rajouter quelque chose.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 12h49   #3
Invité régulier
 
Jérôme Becquet
Inscription : décembre 2009
Messages : 15
Détails du profil
Informations personnelles :
Nom : Jérôme Becquet

Informations forums :
Inscription : décembre 2009
Messages : 15
Points : 5
Points : 5
Par défaut Re

Bonjour,

Merci pour votre réponse. Je suis donc aller me documenter sur les components mais j'ai un message d'erreur après plusieurs tentatives. J'ai le même problème que sur ce lien mais la solution du même nom fonctionne pas

Voici mon code
Dans frontend/templates/layouts.php
Code :
1
2
 
<?php include_component('page', 'page') ?>
Dans frontend/modules/page/actions/page.class.php
Code :
1
2
3
4
5
6
7
8
9
 
<?php
class pageComponents extends sfComponents
{
  public function executePage()
  {
	echo "bonjour";
  }
}
Dans frontend/modules/page/templates/_page.php
Code :
1
2
3
4
 
<div>
  <h1>Document divers</h1>
</div>
Il me dit tout le temps la même chose
The component does not exist: "page", "page". même après un symfony cc

Merci
oasiscreation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 16h43   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Pour les composants que j'ai créé, l'action se trouvait dans :
Code :
1
2
3
4
5
6
 
// apps/frontend/modules/page/actions/components.class.php
class pageComponents extends sfComponents
{
  public function executePage()
   ...
Je pense que l'erreur vient de là.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 17h48   #5
Invité régulier
 
Jérôme Becquet
Inscription : décembre 2009
Messages : 15
Détails du profil
Informations personnelles :
Nom : Jérôme Becquet

Informations forums :
Inscription : décembre 2009
Messages : 15
Points : 5
Points : 5
Bonjour

Oui cela venais bien de la il faut absolument que le component s'appelle componenet.class.php.

Merci à toi je vais pouvoir continuer l'apprentissage de symfony
oasiscreation est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h21.


 
 
 
 
Partenaires

Hébergement Web