繁体   English   中英

为drupal中的自定义textarea表单字段启用WYSIWYG

[英]Enable WYSIWYG for a custom textarea form field in drupal

我在自定义drupal6模块中创建了一个自定义表单,表单有一个textarea。 我输出的表单是嵌入在php代码中的html,如下所示:

function custom_my_form() 
{
$f = '<form name="add_user" action="" method="post">
<label>  Name </label>
<p><input type="text" name="name" value="" /></p>
<label>About Yourself</label>
<p><textarea name="desc"></textarea></p>
<input type="submit" name="submit" value="Add">
</form>';

return $f;
}

我已经安装并启用了WYSIWYG模块。 我的默认输入格式是“Filtered HTML”,我为此输入格式选择了FCK编辑器。

现在我想在此表单中为textarea字段启用WYSIWYG。 我怎么能继续这个呢?

对于D7来说,它甚至简单。 我们得到了一个名为text_format的新类型。

$form['comment'] = array('#type' => 'text_format', 
                         '#format' => 'full_html', 
                         '#title' => t('Description'), 
                         '#required' => TRUE);

好吧,你怎么创造表格取决于你,这取决于它是否曾经回来咬你的屁股......

看一下评论模块。 我注意到可以为注释选择输入格式,当选择完整/过滤HTML时,WYSIWYG编辑器就会启动。以下是相关代码:

$form['comment_filter']['comment'] = array(
  '#type' => 'textarea',
  '#title' => t('Comment'),
  '#rows' => 15,
  '#default_value' => $default,
  '#required' => TRUE,    

);
if (!isset($edit['format'])) {
  $edit['format'] = FILTER_FORMAT_DEFAULT;
}
$form['comment_filter']['format'] = filter_form($edit['format']);

因此,您定义了一个包含两个元素的数组,其中一个是textarea本身,另一个是filter_form生成的格式选择器,这就是全部。

这是来自http://groups.drupal.org/node/104604

是的,你可以这样做。 只需将以下javascript添加到您的页面即可。

<script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script>
        tinymce.init({selector:'textarea'});
</script>

此脚本自动将html代码中的文本区域转换为富文本编辑器

更多信息,请点此链接

首先,您不应该创建这样的表单。 相反,使用Drupal的内置Forms API。 有关详细信息,请参阅Form API快速入门指南

Drupal网站上的这个页面将帮助您将WYSIWYG添加到您的自定义表单: http//drupal.org/node/358316

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM