0

我想为管理员生成器创建自己的模板,所以我按照教程进行操作,现在我正在根据“管理员”模板制作自己的模板。但是我在文件“newAction”中定义了一个名为“rubrique”的新变量,当我试图在模板“newSuccess.php”中调用它时,我得到了这个错误:

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

  • 新动作:

    公共函数 executeNew(sfWebRequest $request) { $this->rubrique =12;

    }

  • 新成功.php:

    回声$rubrique;

ps:我已经简化了代码

有人有解决办法吗??对不起我的英语不好:p

4

2 回答 2

0

你在这里得到错误吗?

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

我不熟悉 Doctrine 但你应该在里面定义你的自定义动作和模板

应用程序/后端/模块/YOURMODULE/actions(用于操作

应用程序/后端/模块/YOURMODULE/模板(用于模板)

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

问候

于 2011-07-12T21:08:27.390 回答
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

这会覆盖缓存的版本。将其复制到模块的模板目录中,然后编辑到您想要的内容。

于 2011-07-12T21:24:20.377 回答