带有symfony的未定义变量(admin-generator)

时间:2011-07-12 14:00:35

标签: templates symfony1 admin-generator

我想为admin-generator创建自己的模板, 所以我遵循了一个教程,我现在正在基于“管理”模板制作自己的模板。 但是我在文件“newAction”中定义了一个名为“rubrique”的新变量,当我试图在模板“newSuccess.php”中调用它时,我得到了这个错误:

注意:未定义的变量:位于C:\ wamp \ www \ PhpProject2 \ data \ generator \ sfDoctrineModule \ immo \ template \ templates \ newSuccess.php中的rubrique

  • newAction:

    public function executeNew(sfWebRequest $ request) { $ this-> rubrique = 12;

    }

  • NewSuccess.php:

    echo $ rubrique;

ps:我简化了代码

有人有解决方案吗?抱歉我的英语不好:p

2 个答案:

答案 0 :(得分:0)

你在这里收到错误吗?

C:\ wamp \ www \ PhpProject2 \ data \ generator \ sfDoctrineModule \ immo \ template \ templates \ newSuccess.php在线

我不熟悉Doctrine,但您应该在

中定义自定义操作和模板

apps / backend / modules / YOURMODULE / actions(for actions

apps / backend / modules / YOURMODULE / templates(模板)

您是否按照here所述的步骤进行操作? http://www.symfony-project.org/jobeet/1_4/Doctrine/es/12

此致

答案 1 :(得分:0)

抱歉延迟。

好的......我想我可能知道你的问题。我花了一大块时间修改项目的管理生成器,但这是在1。5年前,所以我不得不刷新我的记忆。

我正在采取一种有根据的猜测,说你在data\generator\sfDoctrineModule\immo\template\templates\newSuccess.php中回应你的变量,如此:

<?php echo $rubrique; ?>

这些文件实际上先编译然后执行。在第一遍中,var $rubrique不可用。试试这个:

[?php echo $rubrique; ?]

注意方括号。我认为文件是通过正则表达式或str_replace或其他东西运行的;我记不起来了。

尝试此操作,然后清除重要的缓存./symfony cc。它现在应该工作。

或者,覆盖模板并将其放在模块的目录中,并将其与普通的php标签一起使用。

希望这会有所帮助:)

修改

您可能已经知道这一点,但是如果您想要如上所述覆盖该文件,它将在缓存中提供:cache\frontend\dev\modules\{$MODULE_NAME}\templates\newAction.php,其中{$MODULE_NAME}将是您的模块的名称。单词auto;例如:autoUser

这会覆盖缓存版本。将其复制到模块的模板目录中,然后根据心脏内容进行编辑。