소스 검색

add view action and fix action template name

Thomas 14 년 전
부모
커밋
278c0ee762

+ 8 - 5
Builder/ORM/ListBuilder.php

@@ -23,20 +23,19 @@ class ListBuilder implements ListBuilderInterface
 
     public function getBaseList(array $options = array())
     {
-
         return new ListCollection;
     }
 
+
     public function addField(ListCollection $list, FieldDescription $fieldDescription)
     {
-
         return $list->add($fieldDescription);
     }
 
     /**
      * The method define the correct default settings for the provided FieldDescription
      *
-     * @param FieldDescription $fieldDescription
+     * @param \Sonata\AdminBundle\Admin\FieldDescription $fieldDescription
      * @return void
      */
     public function fixFieldDescription(Admin $admin, FieldDescription $fieldDescription, array $options = array())
@@ -103,7 +102,11 @@ class ListBuilder implements ListBuilderInterface
             $admin->attachAdminClass($fieldDescription);
         }
     }
-    
+
+    /**
+     * @param \Sonata\AdminBundle\Admin\FieldDescription $fieldDescription
+     * @return \Sonata\AdminBundle\Admin\FieldDescription
+     */
     public function buildActionFieldDescription(FieldDescription $fieldDescription)
     {
         if (null === $fieldDescription->getTemplate()) {
@@ -126,7 +129,7 @@ class ListBuilder implements ListBuilderInterface
             $actions = $fieldDescription->getOption('actions');
             foreach ($actions as $k => $action) {
                 if (!isset($action['template'])) {
-                    $actions[$k]['template'] = sprintf('SonataAdminBundle:CRUD:list__action%s.html.twig', $k);
+                    $actions[$k]['template'] = sprintf('SonataAdminBundle:CRUD:list__action_%s.html.twig', $k);
                 }
             }
             

+ 1 - 1
Resources/doc/reference/list_field_definition.rst

@@ -67,7 +67,7 @@ You can set actions for each items in list by adding in $list, the '_action' fie
     )
 
 Edit and delete actions are available in default configuration. You can add your own! Default template file is :
-    SonataAdminBundle:CRUD:list__action[ACTION_NAME].html.twig
+    SonataAdminBundle:CRUD:list__action_[ACTION_NAME].html.twig
   
 But you can specify yours by setup 'template' option like :
 .. code-block:: php

+ 4 - 0
Resources/translations/AdminBundle.en.xliff

@@ -98,6 +98,10 @@
                 <source>action_edit</source>
                 <target>Edit</target>
             </trans-unit>
+            <trans-unit id="action_view">
+                <source>action_view</source>
+                <target>View</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>

+ 4 - 0
Resources/translations/AdminBundle.fr.xliff

@@ -82,6 +82,10 @@
                 <source>action_edit</source>
                 <target>Editer</target>
             </trans-unit>
+            <trans-unit id="action_view">
+                <source>action_view</source>
+                <target>Afficher</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>

+ 3 - 0
Resources/views/CRUD/list__action_view.html.twig

@@ -0,0 +1,3 @@
+<a href="{{ admin.generateUrl('view', {'id': object.id}) }}" class="view_link" title="{% trans 'action_view' from 'AdminBundle' %}">
+    <img src="{{ asset('bundles/sonataadmin/famfamfam/magnifier.png') }}" alt="{% trans 'action_view' from 'AdminBundle' %}" />
+</a>