Symfony jobeet

Rechercher

Symfony jobeet

Par saturn1  -  14 reponses  -  Le 23/01/2009 20:50  -  Editer  - 

Salut, je lis le tutoriel Jobeet mais je me disais en même temps en paralèlle je voudrais développer un petit blog avec des articles + commentaires + catégories.

C'est assez simple mais j'ai un peu du mal avec le tutoriel Jobeet.

Je voulais savoir si c'est une bonne idée ! Et genre si je fais mon fichier schema.yml tu pourrais me le valider.

Merci :)

 

Réponses apportées à cette discussion

Par Emacs  -  Le 23/01/2009 21:25  -  Haut de page  - 

Oui c'est très facile de monter son propre blog en symfony.

 
Par saturn1  -  Le 23/01/2009 21:40  -  Haut de page  - 

Ok, je le fais pour poser des questions car tu répond bien mieux que sur le chan :p !!

Premièrement j'ai creer mon projet blog.(c'est ok).

Deuxièment je ne sais pas trop quoi creer comme application...

En faite j'ai chercher la traduction de "frontend" qui est la première application sur jobeet mais je n'ai pas eu de traduction.

J'ai cru comprendre qu'il faut creer une application pour l'utilisateur et une pour l'administration.

Pourrais tu me dire par quoi commencer !??

Merci :)

 
Par saturn1  -  Le 24/01/2009 01:23  -  Haut de page  - 

Ok donc voici mon schema.yml ultra simpliste

BlogCategory:  actAs:    Timestampable: ~  columns:    name:      type: string(255)      notnull: true BlogArticle:  actAs:    Timestampable: ~  columns:    category_id:      type: integer      notnull: true    title:      type: string(255)    content:      type: string(200000)  relations:    BlogCategory:      local: category_id      foreign: id

Je dois rajouter un espace membre?Pour que seul moi(=admin) puisse poster les articles.

Merci de ton aide ;)

 
Par Emacs  -  Le 24/01/2009 11:23  -  Haut de page  - 

Ton schema.yml semble correct. Par contre tu ne gères pas les commentaires ?

Pour l'espace membre tu as deux solutions :

  • Installer le sfDoctrineGuardPlugin qui permet de faire du "user management" mais pour un seul admin, c'est dommage d'installer tout ça.
  • Tu stockes les identifiants (pass et login) dans le fichier app.yml de ton application backend, et tu crées le formulaire de login. Il suffit ensuite de faire un validateur qui teste le couple d'identifiants et si le formulaire est valide ($form->isValid()), tu set l'authentification à true ($this->getUser()->setAuthenticated(true)) de ton objet myUser (apps/backend/lib/myUser.class.php) et bien sûr tu n'oublies pas de sécuriser ton backend dans le fichier apps/backend/config/security.yml

++

 
Par saturn1  -  Le 24/01/2009 17:06  -  Haut de page  - 

Ok j'ai rajouté une table commentaire. J'ai généré mon application + module...

Donc sa fonctionne bien mais sur la page d'accueil je souhaiterai afficher que, par exemple, 100 caratères de chaque article. Ou dois-je mettre cette fonction substr? Je la met simplement dans le template ou je créer une méthode?

 

Sinon sur chaque article je souhaite afficher le nom de la catégorie auquel il appartient.

Par défaut il affiche l'id ->

J'ai essayer avec mais nan.

Je me dis donc qu'il faut que je fasse une jointure pour récuperer le nom de la cat?(CF mon schema.yml).

Merci

 
Par Emacs  -  Le 24/01/2009 18:06  -  Haut de page  - 

Pour la troncature, utilise le helper "truncate_text()" en prenant soin de bien l'appeler avant de l'utiliser avec "user_helper('Text');" dans ton template.

Pour la catégorie, il faut que tu fasses soit :

<?php echo $article->getCategory()->getName(); ?>

Ou bien simplement ceci si ta class Category dispose d'une méthode __toString() qui retourne le name :

<?php echo $article->getCategory(); ?>

++

 
Par saturn1  -  Le 24/01/2009 18:29  -  Haut de page  - 

Pour la catégorie cela ne marche pas j'ai essayé les deux.

Avec l'erreur est

Notice: Undefined variable: getCategory in C:\development\sfprojects\blog\apps\frontend\modules\article\templates\indexSuccess.php on line 7 Fatal error: Method name must be a string in C:\development\sfprojects\blog\apps\frontend\modules\article\templates\indexSuccess.php on line 7

Tu peux me filé le lien pour la doc qui explique comment utiliser truncate_text^^ car je cherche mais je trouve pas :p

Merci

 
Par Emacs  -  Le 24/01/2009 18:40  -  Haut de page  - 

Normal que ça ne marche pas, pourquoi mets-tu un dollar $ devant le nom de la méthode ???

 
Par saturn1  -  Le 24/01/2009 18:48  -  Haut de page  - 

Lool new error Unknown method BlogArticle::getCategory

Sinon j'ai une question sur ce bout de code du controleur

public function executeIndex(sfWebRequest $request)
  {
    $this->blog_article_list = Doctrine::getTable('BlogArticle')
      ->createQuery('a')
      ->execute();
  }

En faite (dit moi si c'est faux) ce bout de code est appelé quand on va sur l'index.

Comme c'est le controleur c'est normal qu'il n'y ai pas de requête dans ce code.

La si je lis sa rempli la list des articles dans blog article mais cela les rempli avec quoi?? Car il n'y a pas de requête qui sélectionne tout les articles :S

Et ou je peux trouver ce que fait exactement

Doctrine::getTable('BlogArticle')

->createQuery('a')

->execute();

Je suppose sur la doc mais j'ai du mal à trouver ce que sa fait concrétement!

Merci

 

 

 
Par Emacs  -  Le 24/01/2009 19:48  -  Haut de page  - 

Lis la doc de doctrine sur le site officiel de Doctrine :)

 
Par saturn1  -  Le 24/01/2009 19:55  -  Haut de page  - 

Loooool le truc qui fait 100 pages et qui est en anglais^^ tu es marrant.

Ce que je ne comprend pas c'est pourqu'oi dans createQuery il met 'a' .

Je vais continuer de chercher dans la doc, mais ta réponse pourrait me faire gagner de nombreuses heures.

merci

 
Par saturn1  -  Le 24/01/2009 20:15  -  Haut de page  - 

Sa veut pas dire "all" pour * ?

Merci sérieux je feuillete la doc mais toujours pas trouvé !

 
Par Emacs  -  Le 25/01/2009 10:40  -  Haut de page  - 

Regarde ça pour le createQuery() : http://www.symfony-project.org/book/doctrine/1_2/en/06-Working-With-Data

 
Par saturn1  -  Le 25/01/2009 12:55  -  Haut de page  - 

ok merci, je l'ai mis dans mes favoris !

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |