如何防止提到的插件的登录表单使用默认布局?我知道这个问题,但那个答案对我不起作用。对于初学者,模块目录中没有登录模块,可能插件以不同的方式处理它,我不知道。刚学symfony。提前致谢 :)
问问题
1303 次
2 回答
1
如果您只想设置不同的布局,则需要添加一个名为“sfGuardAuth”的模块(只需手动创建)。为此,在 /config/ 目录中,像任何其他模块一样更改 view.yml 中的布局。这在以下内容中进行了解释:
http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin/4_0_0
...在“自定义 sfGuardAuth 模块操作”部分下。
但是,如果您想在另一个现有页面上“嵌入”您的登录表单,您可以将登录转换为一个组件 - 这意味着它使用它所在页面的现有布局。
自定义模块中的组件操作:
public function executeSigninLightbox(sfWebRequest $request)
{
$class = sfConfig::get('app_sf_guard_plugin_signin_form', 'sfGuardFormSignin');
$this->form = new $class();
}
...它像所有组件一样使用部分作为其视图。部分现在可以像标准登录页面一样访问 $form 。这部分将被称为“_signinLightbox”。
希望有帮助。
于 2010-03-02T18:16:42.277 回答
1
目前无法sfGuardAuth
通过 custom 为某些操作设置自定义布局view.yml
。
我就是这样做的。
这是我的apps/backend/modules/sfGuardAuth/actions/actions.class.php
:
<?php
require_once(sfConfig::get('sf_plugins_dir').'/sfDoctrineGuardPlugin/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php');
class sfGuardAuthActions extends BasesfGuardAuthActions
{
public function preExecute()
{
$layout = $this->getActionName() == sfConfig::get('sf_login_action') ? 'sfGuardLayout' : $this->getLayout();
$this->setLayout($layout);
}
}
于 2010-08-17T00:28:29.820 回答