Добрый!
Вопрос таки остался открытым...(
Я вот тоже сижу и думаю откуда движок выводит поле этого "Пользовательского текста"?
Лично мне это нужно для того, чтоб я мог вывести его в своём самописном модуле. Конечно я спокойно его могу вывести через SQL-запрос и также сохранять его в БД, но ведь Joomla в mod_custom это как-то делает стандартными средствами (выводит и сохраняет в таблицу '#__modules' -> 'content')!?
Сам же задал вопрос, сам же и отвечу!
Вообщем немного покопавшись в
Joomla 3.0 и разобравшись я пришёл к такому вот выводу...
Во первых, непосредственно код, который отвечает за вывод этого поля находится в файле - administrator\components\com_modules\views\module\tmpl\edit.php (стр. 180):
<?php if ($hasContent) : ?>
<div class="tab-pane" id="custom">
<?php echo $this->form->getInput('content'); ?>
</div>
<?php endif; ?>
где,
$hasContent = empty($this->item->module) || $this->item->module == 'custom' || $this->item->module == 'mod_custom';
говорит нам о том, для того чтобы отображалось поле "
Пользовательский текст" наш модуль должен быть вообще безымянный либо же иметь название:
custom или же
mod_custom!
Т.е. без вмешательства в движок Joomla здесь ни как. Напрмер:
$hasContent = empty($this->item->module) || $this->item->module == 'custom' || $this->item->module == 'mod_custom' || $this->item->module == 'mod_my_module';
Но это будет совсем Неправильно думаю по понятным причинам.
Во вторых, данные этого поля хранятся в БД табице:
#__modules ->
content. И если ушш прямо совсем надо вывести данные из
content, то можно прямо в самой БД сделать соответствующую запись. Но это тоже будет Неправильно, т.к. в админке ни чего не будет видно и не будет возможности также редактировать через админ-панель. Но будет работать!
В третьих, решением данного вопроса будет добавить в XML-файл своего самописного модуля вот такой записи, сразу после <fieldset name="advanced">:
<fieldset name="custom" label="MOD_MY_MODULE_CUSTOM_FIELDSET_LABEL">
<field name="content" type="editor"
buttons="true"
class="inputbox"
description="MOD_MY_MODULE_FIELD_CONTENT_DESC"
filter="JComponentHelper::filterText"
label="MOD_MY_MODULE_FIELD_CONTENT_LABEL"
hide="readmore,pagebreak" />
</fieldset>
А НЕ type="editorS", уважаемый Fedor Vlasenko!
И в четвёртых, выводим данные в файле default.php нашего модуля используя код:
<?php echo trim( $params->get( 'content' ) ); ?>
В итоге мы добились желаемого результата! Конечно теперь сие данные будут хранится не в ячейке
content, а в
params. Но думаю это уже не принципиально.
P.S. И не забываем присвоить языковые значения константам - MOD_MY_MODULE_CUSTOM_FIELDSET_LABEL, MOD_MY_MODULE_FIELD_CONTENT_DESC и MOD_MY_MODULE_FIELD_CONTENT_LABEL.