我的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
答案 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.
通过此网址访问时,它正在运行。