2016-12-22 1 views
4

j'ai un petit problème avec admin sonate sur symfony je changerais l'étiquette admin par défaut sur le fil d'arianesonate label admin on Fil d'Ariane

enter image description here

, mais je ne trouve pas de solution, quelqu'un peut me aider ?

je trouve cette fonction mais ne fonctionne, ressemble que cette fonction ne soit pas appelée

public function buildBreadcrumbs($action, MenuItemInterface $menu = null) { 
    $breadCrumb = parent::buildBreadcrumbs($action, $menu); 

    return $breadCrumb; 
} 

ps. j'utilise symfony 2.8 merci

+0

Si vous voulez juste modifier les traductions d'étiquettes, pas leur structure, vous pouvez remplacer le bloc 'de sonata_breadcrumb' dans le' SonataAdminBundle :: standard_layout.html gabarit .twig'. Mettez le domaine de traduction correct pour la variable 'label', et traduisez vos étiquettes dedans. –

+0

mmm je suis un débutant de la sonate, avez-vous un exemple? –

+0

ps. Je ne veux pas traduire la "Liste" mais "Test produit" le tableau de bord correct est Tableau de bord/Produit/Liste de produit OU Tableau de bord/Liste de produits/produits –

Répondre

8

Essayez de passer outre la propriété classNameLabel dans votre classe admin

// in your ProductAdmin class 
public function configure() 
{ 
    parent::configure(); 
    $this->classnameLabel = "Products"; 
} 
+0

cela fonctionne, merci! –

+1

Vous n'avez pas besoin de cela dans la méthode configure, il suffit d'ajouter la variable protégée en haut de votre classe ProductAdmin: 'protected $ classnameLabel = 'Products';' – lopsided

+0

@ AndreaG.Pigliafreddo Vous devez marquer cette réponse si elle est correct pour toi. –

0

Le moyen le plus simple pour réaliser ce que vous voulez est de changer les messages de traduction.

Si vous voulez vraiment changer les étiquettes, vous pouvez implémenter votre propre stratégie de génération d'étiquettes.

namespace Blast\CoreBundle\Translator; 

use Sonata\AdminBundle\Translator\LabelTranslatorStrategyInterface; 

/** 
* Class LibrinfoLabelTranslatorStrategy. 
* 
* Provides a specific label translation strategy for Librinfo. 
* It is based on UnderscoreLabelTranslatorStrategy, but without the context, 
* and labels are prefixed by "librinfo.label." 
* 
* i.e. isValid => librinfo.label.is_valid 
*/ 
class LibrinfoLabelTranslatorStrategy implements LabelTranslatorStrategyInterface 
{ 
    /** 
    * {@inheritdoc} 
    */ 
    public function getLabel($label, $context = '', $type = '') 
    { 
     $label = str_replace('.', '_', $label); 

     return sprintf('%s.%s.%s', "librinfo", $type, strtolower(preg_replace('~(?<=\\w)([A-Z])~', '_$1', $label))); 
    } 
} 

définissent comme un service

blast_core.label.strategy.librinfo: 
     class: Blast\CoreBundle\Translator\LibrinfoLabelTranslatorStrategy 

puis le transmettre à la définition de votre service admin comme ceci:

Vous aurez le contrôle total de votre admin étiquettes

Voir aussi: SonataAdmin: replace ID in breadcrumbs