2010-12-22 10 views
1

Wie ich die Methode einer Aktion (ähnlich _DELETE) angeben:Symfony generator.yml Link Methode

generator: 
    config: 
    list: 
     object_actions: 
     myaction: {label: Label, action: myaction, method: post} 

Diese Einstellung meiner Methode ignoriert und macht eine get link:

<a href="/backend/myaction/1">Label</a> 

Während Ich möchte es zu einem "Post" -Link, ähnlich wie _delete (mit Onclick-Attribut)

Antwort

2

Ich schätze, Sie verwenden Propel.

Wenn Sie den Generator Code überprüfen, und zwar auf:

<?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; ?> 

, dass der Code ist ausgeführt thats, wobei: Generator> theme_name> template> template> _list_td_actions.php, gibt es eine pice Code wie finden wenn Sie eine benutzerdefinierte Objektaktion wie die von Ihnen beschriebene definieren. Überprüfen Sie $ params und Sie finden vielleicht eine Lösung für Ihre Bedürfnisse (ich denke, dass Sie wahrscheinlich etwas wie den onclick Attributwert definieren könnten).

2

Wenn Sie nur eine Bestätigungsmeldung haben, als wahrscheinlich der beste Weg ist:

generator: 
    config: 
    list: 
     object_actions: 
     myaction: {label: Label, action: myaction, confirm: "Are your sure?", params: {onclick: 'alert("Bu!");'} } 

Zusätzliche Parameter link_to können mit ‚params‘ Option (notice ‚Onclick‘ im Beispiel oben) übergeben werden.

+0

Thank you! Aber ich kann es immer noch nicht zur Arbeit bringen. Ich habe eine linkToMyaction-Methode erstellt, die jedoch ignoriert wird. Es gibt keinen Verweis auf list_td_action partial (im Vergleich zu Standardaktionen). Es funktioniert, wenn ich list_td_action teilweise manuell überschreibe und linkToMyaction ...?> Von dort aufrufe. Fehle ich etwas? – Dziamid

+0

linkToMyaction() kann nur mit Objektaktionen im Formular und nicht in der Liste verwendet werden. Entschuldige, dass ich dich irreführe. Ich habe meine Antwort korrigiert. –

+0

Nun, ich denke, ich muss dann list_td_action teilweise außer Kraft setzen. – Dziamid

0

vielleicht wird dies nützlich sein

generator: 
    config: 
    list: 
     object_actions: 
     myaction:{ params: { onclick : "if(confirm('Are you sure?')){return true;}else{return false;}" } } 
+0

Du meintest 'onclick:" gib zurück ('Bist du sicher?') "' – sglessard

Verwandte Themen