2010-12-02 5 views
1

La normalisation de chaîne par défaut (fournie par le "sluggifier" Doctrine_Inflector::urlize()) ne convient pas à mon projet, j'ai donc besoin d'utiliser mon propre algorithme.Chemin prévu vers le générateur Sluggable dans Symfony/Doctrine

Je mis mon schéma comme suit:

MyObject: 
    actAs: 
    Sluggable: 
     fields: [name] 
     builder: array('TextUtility', 'normalize') 
    columns: 
    name: string(255) 

Et j'ai ajouté ma classe utilitaire dans le dossier lib de mon projet (bien que je aussi essayé le dossier lib d'une application) selon certaines instructions que j'ai trouvé dans un autre forum:

<?php 
//lib/TextUtility.class.php 

class TextUtility { 
    public static function normalize($str) { 
     /* ... */ 

     return $str; 
    } 
} 
?> 

Quand je lance symfony doctrine:build --all je suis accueilli par l'erreur suivante:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'array('TextUtility', 'normalize')' not found or invalid function name in /symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Template/Listener/Sluggable.php on line 171 

Je suppose que je ne fais que mettre mon utilitaire au mauvais endroit et qu'il n'est pas chargé en cas de besoin. Est-ce que je le mets au mauvais endroit? Doctrine's documentation ne semble pas mentionner le sujet, sauf si je regarde juste la mauvaise page.

Répondre

2

tableaux dans YAML sont définis autrement:

MyObject: 
    actAs: 
    Sluggable: 
     builder: [TextUtility, normalize] 
+0

Wow, aussi évident que cela est, je ne peux pas croire que je manqué. Merci! – Dolph

Questions connexes