2012-09-24 3 views
0

Comment puis-je générer un lien vers un autre module dans le générateur d'administration Symfony Yaml? Je suis en train de créer un lien à partir du module sfGuardUser (liste des utilisateurs) au profil/viewProfilesDetails mais il pointe toujours à sfGuardUser/viewProfilesDetailsadmin yaml: lien vers un autre module

Mon generator.yml:

(...) 
    list: 
    title: Użytkownicy 
    display: [=username, _name, created_at, last_login] 
    actions: {} 
    batch_actions: {} 
    object_actions: 
     _edit: ~ 
     signIn: 
     label: Zaloguj jako 
     action: signIn 
     viewProfiles: 
     label: Profile 
     module: profiles 
     action: viewProfilesDetails 
(...) 

Répondre

1

Je ne pense pas que vous pouvez spécifier un module dans cette configuration, mais seulement une action du même module.

Personnellement, je le fais de cette façon.

generator.yml:

object_actions: 
    _edit: ~ 
    _delete: ~ 
    viewItems: { label: View items, action: viewItems } 

Ensuite, dans le même module pour le generator.yml, je crée une action:

public function executeViewItems($request) 
{ 
    $this->redirect($this->generateUrl('items')); 
} 

Il génère un lien appelé Voir articles, comme /blog/158/viewItems qui redirigent la /items (qui est la route @items).

Edit:

En fait, vous ne pouvez pas spécifier un autre module. Le modèle _list_td_actions.php affiche list.object_actions. Voici la partie intéressante:

<?php else: ?> 
    <li class="sf_admin_action_<?php echo $params['class_suffix'] ?>"> 
     <?php echo $this->addCredentialCondition($this->getLinkToAction($name, $params, true), $params) ?> 
    </li> 
<?php endif; ?> 

Il appelle la getLinkToAction qui utilisent le module en cours en utilisant $this->getModuleName():

return '[?php echo link_to(
    __(\''.$params['label'].'\', array(), \''.$this->getI18nCatalogue().'\'), 
    \''.$this->getModuleName().'/'.$action.$url_params.', 
    '.$this->asPhp($params['params']).' 
) ?]'; 
+0

Il ressemble au travail autour acceptable, mais je trouve très étrange que vous pouvez » t lien directement vers un autre module ... –

+0

Question mise à jour: vous ne pouvez pas :) – j0k

Questions connexes