Aller au menu - Aller au contenu
Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !

[Symfony2] Slug() ?

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Offre d'emploi : Développeur Web PHP/Drupal (H/F)

Page Précédente  1  2 
Auteur Message
2 visiteurs sur ce sujet (2 anonymes)
Page Précédente  1  2 
Hors ligne Zaireau # Posté le 06/02/2012 à 00:08:21
Avatar

Reprise du dernier message de la page précédente :
Lis mon post précédent (EDIT) :p
Publicité # Posté le 06/02/2012 à 00:08:21

Hors ligne Zer0 Abs0lu # Posté le 06/02/2012 à 00:08:58
-273,15 °C
Avatar

Études : ENSICAEN

Apparemment t'as trouvé tout seul, bravo.
Pour ton problème, tu peux le régler ultra facilement et élégamment grâce à ça : http://symfony.com/doc/2.0/bundles/Sen [...] nverters.html
Édité le 06/02/2012 à 00:16:14 par Zer0 Abs0lu
 
Hors ligne Zaireau # Posté le 06/02/2012 à 00:15:41
Avatar

Je n'arrive pas à lire ton lien, ça ne fait rien j'ai trouvé la solution :
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php
    
    // ...

    public function voirAction($slug)
    {
        $em = $this->getDoctrine()->getEntityManager();
        if ( ! $article = $em->getRepository('Monsite\BlogBundle\Entity\Article')->findOneBySlug($slug) )
        {
            throw new NotFoundHttpException('Article [slug='.$slug.'] inexistant');
        }
        return $this->render('MonsiteBlogBundle:Blog:voir.html.twig', array('article' => $article));
    }

    // ...


Un grand merci à toi pour m'avoir aidé tout au long de ce sujet :D
Hors ligne Zer0 Abs0lu # Posté le 06/02/2012 à 00:17:21
-273,15 °C
Avatar

Études : ENSICAEN

C'est parce que je l'ai recopié de mon EDIT d'avant :p C'est corrigé.
Va jeter un coup d'oeil, tu vas voir c'est encore plus court que ce que tu as fait.
Heureux d'avoir pu t'aider en tout cas!
Édité le 06/02/2012 à 00:17:46 par Zer0 Abs0lu
 
Hors ligne Zaireau # Posté le 06/02/2012 à 00:21:04
Avatar

En effet, pas mal non plus ;)
Merci encore, et bonne soirée ! Matinée ! :lol:
Hors ligne Zer0 Abs0lu # Posté le 06/02/2012 à 00:23:10
-273,15 °C
Avatar

Études : ENSICAEN

De même! À+!
 
Hors ligne Aurorion # Posté le 08/02/2012 à 16:59:39
Avatar

Je suis désolé, je n'avais pas vu les réponses !
Comme demandé, voilà de quoi je me sert ( sans aucun fail et personnalisable ) :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?php
function toSlug($Accent_A_Supprimer)
{
	$Accent_A_Supprimer = iconv ( "UTF-8", "ASCII//TRANSLIT", $Accent_A_Supprimer );
	$Accent_A_Supprimer = str_replace ( "'", "", $Accent_A_Supprimer );
	$Accent_A_Supprimer = str_replace ( '"', '', $Accent_A_Supprimer );
	$Accent_A_Supprimer = str_replace ( ":", "", $Accent_A_Supprimer );
	$Accent_A_Supprimer = str_replace ( "-", "", $Accent_A_Supprimer );
	$Accent_A_Supprimer = preg_replace ( "#[-]{2,}#", "", $Accent_A_Supprimer );
	$Accent_A_Supprimer = preg_replace ( '`\s+`', '-', trim ( $Accent_A_Supprimer ) );
	$Accent_A_Supprimer = preg_replace ( '#[^a-zA-Z0-9\/. -]#', '', $Accent_A_Supprimer );
	$Accent_A_Supprimer = preg_replace ( '# #', '-', $Accent_A_Supprimer );
	$Accent_A_Supprimer = str_replace ( "'", "-", $Accent_A_Supprimer );
	$Accent_A_Supprimer = preg_replace ( '`_+`', '-', trim ( $Accent_A_Supprimer ) );
	$Accent_A_Supprimer = strtolower ( $Accent_A_Supprimer );
	
	return ($Accent_A_Supprimer);
}


Mais ne fonctionne sans doute pas partout dû au iconv().
Hors ligne Zer0 Abs0lu # Posté le 08/02/2012 à 18:33:22
-273,15 °C
Avatar

Études : ENSICAEN

@Zaireau : j'ai eu le problème du changement de nom Translatable / Translation aujourd'hui, je ne sais pas comment tu l'as résolu, mais en utilisant cette version de DoctrineExtensions ça marche :

Code : Autre
1
2
3
4
[DoctrineExtensionsBundle]                                               
    git=https://github.com/stof/StofDoctrineExtensionsBundle.git                     
    target=/bundles/Stof/DoctrineExtensionsBundle                            
    version=1.0.0


cf les commentaires sur cette PR : https://github.com/stof/StofDoctrineEx [...] mment-3871300

@Aurorion: ton code est sans doute très bon, mais celui de DoctrineExtensions est éprouvé et utilisé par plus de gens je pense...
 
Hors ligne Aurorion # Posté le 08/02/2012 à 19:27:08
Avatar

Certe, mais moi qui n'utilise pas Symfony 2, ça m'arrange.
Hors ligne Zer0 Abs0lu # Posté le 08/02/2012 à 22:37:14
-273,15 °C
Avatar

Études : ENSICAEN

Citation : Aurorion
Certe, mais moi qui n'utilise pas Symfony 2, ça m'arrange.

Ah je comprends mieux ^^
 

Retour au forum "PHP" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx