Я создал собственное расширение и модули. Я могу прекрасно просматривать модули, перейдя по их URL-адресу. Тем не менее, теперь я хочу внедрить их на страницу, как класс контента. Как мне это сделать?Как встраивать модули на страницы?
Спасибо!
Я создал собственное расширение и модули. Я могу прекрасно просматривать модули, перейдя по их URL-адресу. Тем не менее, теперь я хочу внедрить их на страницу, как класс контента. Как мне это сделать?Как встраивать модули на страницы?
Спасибо!
Вы должны create template operator или использовать их в шаблоне.
Операторы шаблонов предназначены для форматирования данных (например, в верхнем регистре()). Функции Fetch предназначены для извлечения данных. Модули больше, я думаю. – foobar
Невозможно «внедрить» модуль на странице, за исключением того, что вызываемый модуль выполняет его на уровне 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>
Я надеюсь, что это поможет ...
Не могли бы вы быть более точным на то, что вы хотите сделать и то, что ваш модуль делает? – foobar