独自の拡張機能とモジュールを作成しました。モジュールのURLにアクセスすると、モジュールを正常に表示できます。ただし、コンテンツクラスのように、ページに埋め込みたいと思います。どうすればそれを行うことができますか?
ありがとう!
テンプレート演算子または関数を作成し、それらをテンプレートで使用する必要があります。
呼び出されたモジュールが PHP レベルでそれを行う場合を除いて、モジュールをページに「埋め込む」ことはできません。
たとえば、次のように書くことができます。
$module = eZModule::findModule( 'content' );
$result = $module->run( 'history', array( 1 ) );
ただし、モジュールに関連するものを表示したい場合は、拡張機能にいくつかのテンプレートが含まれていることを宣言し、いくつかのテンプレートをオーバーライドする必要があります。
独自のレジスタ モジュールを作成したいとします。
ステップ 1、これを に追加する必要がある場合がありますyour_extension/settings/design.ini.append.php
。
[ExtensionSettings]
DesignExtensions[]=your_extension
これで、独自のものを追加できるようになりましたuser/register.tpl
このテンプレートには、次のようなフォームが含まれています。
<form action={'/user/register'|ezurl}...
したがって、テンプレートをコピーするだけで済みますが、次のようになります。
<form action={'/your_module/register'|ezurl}...
ここで、テンプレートがモジュールに関連するいくつかの情報を表示することになっているとしましょう。次のように記述できるように、いくつかのフェッチ関数を定義する必要がある場合があります。
{def $nb = fetch('your_module','beta_accounts')}
<h2>Hurry up! There are only {$nb|wash} available accounts for free!</h2>
<form action={'/your_module/register'|ezurl} method="POST">
...
</form>
それが役立つことを願っています...