0

独自の拡張機能とモジュールを作成しました。モジュールのURLにアクセスすると、モジュールを正常に表示できます。ただし、コンテンツクラスのように、ページに埋め込みたいと思います。どうすればそれを行うことができますか?

ありがとう!

4

2 に答える 2

0

テンプレート演算子または関数を作成し、それらをテンプレートで使用する必要があります。

于 2010-02-18T22:13:39.413 に答える
0

呼び出されたモジュールが 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>

それが役立つことを願っています...

于 2012-12-10T12:30:10.363 に答える