раньше, когда CKEditor был подключен через одноименный модуль, то проблем с выводом CKEditor в форме не было (рендеринг формы в препоцессе _preprocess_page), однако с модулем Wysiwyg -- CKEditor прежним образом не подключается. в чем может быть проблема?
Комментарии
ау?
есть кто живой?
пичаль
Продолжая монолог, попробую более детально рассказать про ситуацию:
просто подключенный ckeditor через модуль ckeditor, отлично подключался к кастомной форме, если она рендрилась в hook_preprocess_page(как в http://www.drupal.ru/node/56919)
ckeditor, подключенный через модуль wysiwyg, вышеупомянутым способом подключаться отказывается. Есть ли какие-нибудь варианты?
Вопрос даже в том, как подключить любой редактор подключенный к друпалу через wysiwyg при выводе формы в кастомном месте? спс. занавес.
У меня получилось это сделать вот так:
<?php
$form['text']['body'] = array(
'#type' => 'textarea',
'#title' => t('Text of this paragraph'),
'#default_value' => $value,
); $form['text']['format'] = filter_form(FILTER_FORMAT_DEFAULT);
?>
Если у вас установлен модуль Better Formats, то можно дополнить код, как-то так:
<?php
if (isset ( $form ['text'] )) {
// Get default for new entries.
$default = better_formats_get_default_format ( 'node', $form ['type'] ['#value'] );
if (! $мфдгу) {
// Set format to default for new entries.
$format = $default;
} else {
// Get existing format for core body field.
$format = better_formats_get_current_format ( $form ['text'] ['format'] );
}
// Overwrite the filter form with our own.
$form ['text'] ['format'] = better_formats_filter_form ( $format, $default, 'node', 'mark' );
}
?>
спс, однако ничего не заработало.
что с $form['text']['format'] = filter_form(FILTER_FORMAT_DEFAULT); что без него
в исходном коде страницы присутствуют вроде бы скрипты едитора, однако визуально определяется голая textarea.
У вас прописан CKEditor для формата ввода по умолчанию?
нет, он прописан для отдельного формата
на странице node/add/mytype все отлично выводится (для установки отдельного формата по умолчанию использую Better Formats )
Тогда пропишите id этого формата вместо FILTER_FORMAT_DEFAULT
установка CKEditor для всех форматов результата не дала, если вы об этом
не хочет(
Давайте полностью свой код, поизучаю.
ничего особого тут
<?php
//в модуле
function mymodule_preprocess_page(&$vars) {
module_load_include('inc', 'node', 'node.pages');
$type = 'news'
$node = array(
'uid' => $GLOBALS['user']->uid,
'name' => (isset($GLOBALS['user']->name) ? $GLOBALS['user']->name : ''),
'type' => $type,
'language' => ''
);
$vars['x_form'] = drupal_get_form($type . '_node_form', $node);
}
$vars['scripts'] = drupal_get_js();
}
?>
<?php
//на странице page.tpl.php
print $x_form;
?>
Нет, мне нужен код, который генерирует форму или ее изменяет.
это он и есть, используется форма для создания материала типа type