如何在页面上嵌入模块?

时间:2009-11-23 09:03:03

标签: php ezpublish

我已经创建了自己的扩展和模块。我可以通过访问他们的URL来查看模块。但是,现在我想将它们嵌入到页面中,就像内容类一样。我该怎么做呢?

谢谢!

2 个答案:

答案 0 :(得分:0)

您必须create template operator或在模板中运行并使用它们。

答案 1 :(得分: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}...

现在假设您的模板应显示与您的模块相关的一些信息。你可能需要define some fetch functions所以你可以这样写:

{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>

我希望它会有所帮助......