在 drupal 中为自定义文本区域表单字段启用所见即所得

发布于 2024-11-16 06:20:18 字数 607 浏览 1 评论 0原文

我在自定义 drupal6 模块中创建了一个自定义表单,该表单有一个文本区域。 我将表单输出为嵌入 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 编辑器。

现在我想为此表单中的文本区域字段启用所见即所得。 我怎样才能继续这个?

i have created a custom form in my custom drupal6 module and the form has a textarea.
I am outputting the form as html embedded inside the php code, like the following:

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;
}

I have installed and enabled the WYSIWYG module.
My default input format is "Filtered HTML" and i have chosen the FCK editor for this input format.

Now i want to enable the WYSIWYG for the textarea field in this form.
How can i go ahead with this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一影成城 2024-11-23 06:20:18

好吧,你如何创建表单取决于你,这只是取决于它是否会回来咬你的屁股......

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

$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

Well, how ever you create forms is up to you, it just depends if it has ever come back to bite you in the butt...

Look at the comment module. I had noticed that it was possible to choose input format for comments, and when Full/filtered HTML was selected, the WYSIWYG editor kicked in. Here is the related code:

$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']);

So, you define an array with two elements, one of which is the textarea itself, and the other one the format chooser generated by filter_form, and that's all.

This was from http://groups.drupal.org/node/104604

满天都是小星星 2024-11-23 06:20:18

对于D7来说,就更简单了。我们得到了名为 text_format 的新类型。

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

For D7, its even simple. We got new type called text_format.

$form['comment'] = array('#type' => 'text_format', 
                         '#format' => 'full_html', 
                         '#title' => t('Description'), 
                         '#required' => TRUE);
生来就爱笑 2024-11-23 06:20:18

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

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

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

。更多信息请访问此链接

Yes, you can do this. Just add the following javascript to your page.

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

This script automatically converts the text areas in your html code to rich text editors

More info at this link.

北斗星光 2024-11-23 06:20:18

首先,您不应该创建这样的表单。相反,请使用 Drupal 的内置 Forms API。请参阅表单 API 快速入门指南了解更多信息。

Drupal 网站上的此页面将帮助您将所见即所得添加到自定义表单中:http://drupal.org/node/358316< /a>

First, you should not create forms like that. Instead, use Drupal's built-in Forms API. Take a look at the Form API Quickstart Guide for more information.

This page on Drupal's site will help you add WYSIWYG to your custom forms: http://drupal.org/node/358316

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文