【问题标题】:How to embed modules on pages?如何在页面上嵌入模块?
【发布时间】:2009-11-23 09:03:02
【问题描述】:

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

谢谢!

【问题讨论】:

  • 您能否更准确地说明您想要做什么以及您的模块做什么?

标签: php ezpublish


【解决方案1】:

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

【讨论】:

  • 模板运算符用于格式化数据(例如大写())。 Fetch 函数用于检索数据。我猜模块更多。
【解决方案2】:

不可能在页面中“嵌入”模块,除非被调用的模块是在 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>

希望对你有帮助……

【讨论】:

    猜你喜欢
    • 2010-09-22
    • 2011-12-13
    • 2012-10-18
    • 2018-04-18
    • 1970-01-01
    • 2014-08-08
    • 2015-11-09
    • 1970-01-01
    • 2012-08-02
    相关资源
    最近更新 更多