0

admin-generator 用の独自のテンプレートを作成したかったので、チュートリアルに従って、「admin」テンプレートに基づいて独自のテンプレートを作成しています。しかし、ファイル「newAction」で「rubrique」という新しい変数を定義し、テンプレート「newSuccess.php」でそれを呼び出そうとすると、次のエラーが発生しました。

注意: 未定義の変数: C:\wamp\www\PhpProject2\data\generator\sfDoctrineModule\immo\template\templates\newSuccess.php の rubrique 行

  • 新しいアクション:

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

    }

  • NewSuccess.php:

    $rubrique をエコーし​​ます。

ps: コードを簡略化しました

誰かが解決策を持っていますか?? 私の悪い英語でごめんなさい:p

4

2 に答える 2

0

遅れてしまい申し訳ありません。

わかりました...私はあなたの問題を知っているかもしれません。プロジェクトの Admin Generator を変更するのにかなりの時間を費やしましたが、それは 1.5 年以上前のことなので、記憶をリフレッシュする必要がありました。

data\generator\sfDoctrineModule\immo\template\templates\newSuccess.php変数を次のようにエコーしていると言って、知識に基づいた推測をしています:

<?php echo $rubrique; ?>

これらのファイルは、実際には最初にコンパイルされてから実行されます。最初のパスでは、変数$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 に答える
0

ここでエラーが発生していますか?

C:\wamp\www\PhpProject2\data\generator\sfDoctrineModule\immo\template\templates\newSuccess.php オンライン

Doctrine には詳しくありませんが、カスタム アクションとテンプレートを内部で定義する必要があります。

apps/backend/modules/YOURMODULE/actions (アクション用)

apps/backend/modules/YOURMODULE/templates (テンプレート用)

ここに記載されている手順に従いましたか? http://www.symfony-project.org/jobeet/1_4/Doctrine/es/12

よろしく

于 2011-07-12T21:08:27.390 に答える