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}...

现在假设您的模板应该显示一些与您的模块相关的信息。您可能必须定义一些 fetch 函数,以便能够编写如下内容:

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