Symfony 1.4表单不在模板上呈现

时间:2014-06-17 11:17:05

标签: php symfony-1.4 symfony-forms

我的symfony 1.4应用程序的表单没有在模板上呈现。模板正确加载。没有表单属性,它加载得很好。当在控制器中添加新表单并将其加载到模板时我只需要#&# 39;得到一个空白页面。为什么?

更新

以下是我的php错误日志内容。

Fatal error: Class 'LoginForm' not found in C:\wamp\www\symfony_app\apps\symfony_app\modules\user_login\actions\actions.class.php on line 21

PHP Stack trace:

{main}() C:\wamp\www\symfony_app\web\index.php:0

sfContext->dispatch() C:\wamp\www\symfony_app\web\index.php:7

sfFrontWebController->dispatch() C:\wamp\bin\php\php5.5.12\pear\symfony\util\sfContext.class.php:170

sfController->forward() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:2352

sfFilterChain->execute() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:665

sfRenderingFilter->execute() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:1031

sfFilterChain->execute() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:995

sfExecutionFilter->execute() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:1031

sfExecutionFilter->handleAction() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:933

sfExecutionFilter->executeAction() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:947

sfActions->execute() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:952

user_loginActions->executeIndex() C:\wamp\www\symfony_app\cache\symfony_app\prod\config\config_core_compile.yml.php:459

2 个答案:

答案 0 :(得分:0)

这是我想到的解决方案。我首先通过扩展symfony基本形式创建了一个单独的表单类。在那一点上我的表单没有工作。所以我在控制器的action方法中添加了表单的属性而不是在一个单独的文件中定义它。现在它正常工作。

class loginActions extends sfActions
{
/**
* Executes index action
*
* @param sfRequest $request A request object
*/
public function executeIndex(sfWebRequest $request)
  {
  $this->form = new sfForm();
  $this->form->setWidgets(array(
    'name'    => new sfWidgetFormInputText(),
    'password'   => new sfWidgetFormInputPassword(),
   ));
  }


}

更新表单类内容:

class LoginForm extends BaseForm
{
   public function configure()
    {
      $this->setWidgets(array(
      'name'    => new sfWidgetFormInputText(),
      'password'   => new sfWidgetFormInputPassword(),
      ));
    }
}

答案 1 :(得分:0)

现在形式的东西正在运作。以前我用url检查了,

http://localhost/symfony_app/web/login/index.

通过这种方式它没有用。但是在我访问之后,

http://localhost/symfony_app/web/symfony_app_dev.php/login/index.

通过此网址访问时,它正在运行。