0

Symfony 管理ジェネレーター Yaml で別のモジュールへのリンクを生成するにはどうすればよいですか? sfGuardUser モジュール (ユーザー リスト) から profile/viewProfilesDetails にリンクしようとしていますが、常に sfGuardUser/viewProfilesDetails を指しています。

私の 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
(...)
4

1 に答える 1

1

この構成でモジュールを指定することはできないと思いますが、同じモジュールからのアクションのみを指定できます。

私は個人的にこのようにこれを行います。

generator.yml

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

次に、の同じモジュールでgenerator.yml、アクションを作成します。

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

(ルートである)にリダイレクトするような、アイテムの表示と呼ばれるリンクを生成します。/blog/158/viewItems/items@items

編集:

実際、他のモジュールを指定することはできません。

テンプレート_list_td_actions.php表示list.object_actions。ここに興味深い部分があります:

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

getLinkToActionを使用して、現在のモジュールを使用するを呼び出します$this->getModuleName()

return '[?php echo link_to(
  __(\''.$params['label'].'\', array(), \''.$this->getI18nCatalogue().'\'), 
  \''.$this->getModuleName().'/'.$action.$url_params.', 
  '.$this->asPhp($params['params']).'
) ?]';
于 2012-09-24T09:10:02.853 に答える