IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Comment tronquer un text de BDD dans le modele ? [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 32
    Par défaut Comment tronquer un text de BDD dans le modele ?
    Bonjour.

    J'aimerais pouvoir tronquer un texte avant son affichage finale dans la vue, donc le traiter directement dans le modele.

    J'ai pour ce faire crée ma fonction dans lib/Blog.class.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    class Blog
    {
    	protected static $MaxCaracteres = 500;
     
    	static public function tronque($text)
    	{
    		// Test si la longueur du texte dépasse la limite
    		if (strlen($text)>self::$MaxCaracteres)
    		{
    			// Séléction du maximum de caractères
    			$text = substr($text, 0, self::$MaxCaracteres);
    			// Récupération de la position du dernier espace (afin déviter de tronquer un mot)
    			$position_espace = strrpos($text, " ");
    			$text = substr($text, 0, $position_espace);
    			// Ajout des "..."
    			$text = $text."...";
     
    			return $text;
    		}
     
    	}
    }
    Maintenant voici le code d'affichage executeIndex de post/actions/action.class.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    		$this->posts = Doctrine::getTable('BlogPost')->getAll();
    Et voici comment je recupere le tout dans BlogPostTable.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	public function getAll()
    	{
    		return Doctrine_Query::create()->
    		  select('p.title, p.category_id, p.slug, p.body, p.author, p.created_at, count(c.id) numcomments')->
    		  from('BlogPost p, p.BlogComment c')->
    		  orderBy('p.created_at DESC')->
    		  groupBy('p.id')->
    		  execute();
    	}
    Si vous avez la solution je suis prenneur.

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Par défaut
    Bonjour

    Pour m

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Par défaut
    Oups...

    Pour ma part, dans une appli similaire, je tronque le champ à l'affichage avec truncate_text(ton_champ, la_taille_voulue), dans templates/indexSuccess.php

    Cdt

  4. #4
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 32
    Par défaut
    Exactement merci beaucoup, Symfony est vraiment surprenant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment mettre du texte formaté dans une frame?
    Par afrikha dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 09/10/2005, 14h55
  2. comment récuperer le texte dans un editview
    Par jrbzh dans le forum MFC
    Réponses: 11
    Dernier message: 02/06/2005, 16h43
  3. comment puis-je créer un BDD en fichier texte
    Par slyder dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/01/2005, 10h05
  4. comment ecrire du texte dans une window application
    Par gaut dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 16/07/2003, 10h23
  5. Comment centrer un Texte dans un rectangle ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 21h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo