text_emojis
The multi-line text field with an emoji button attached. Small feature, and the only reason it exists is that social and marketing copy without emoji reads like a memo.
| Technical name | text_emojis |
|---|---|
| Field types | text, char |
| Views | form |
| Module | mail, the Discuss module, present in almost every database |
| Used in core | 1 occurrence, the post suggestion on a marketing card campaign in marketing_card |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0, Odoo 17.0 |
| No-code setup | No. Studio offers a plain text field; this variant is set in view XML |
| Alternatives | char_emojis, text, html, mass_mailing_html |
What the emoji text field does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
placeholder_field | field | Inherited from the text field and declared there. Shows another field's value as a hint when this one is empty. |
dynamic_placeholder | boolean | <strong>Inherited and undeclared on the base widget too.</strong> Enables the dynamic placeholder machinery.(default: false) |
dynamic_placeholder_model_reference_field | field | <strong>Inherited and undeclared in the same way.</strong> Names the field carrying the model reference for the dynamic placeholder. |
The picker is not configurable. There is no option to restrict the emoji set, change the button's position or disable the picker while keeping the widget. If the picker is unwanted, the plain text field is the answer.
Working examples
A mixin, and the one line that wires it up
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. Byte-identical to Odoo 19 on the development branch. |
| Odoo 19.0 | Verified | Verified against the shipped source. Byte-identical to Odoo 18. |
| Odoo 18.0 | Verified | Identical behavior. |
| Odoo 17.0 | Verified | First version, with the older class syntax. |
| Odoo 16.0 | Not available | Widget does not exist under this name. |
Upgrade note. Nothing to do. The widget arrived in Odoo 17 and the Odoo 18 and Odoo 19 files are identical; the only change in between was moving the template and component declarations inside the class, which is a syntax modernization rather than a behavior change.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| No emoji button appears | The field is not using this widget, or the Discuss module is not installed. Check the widget attribute and that messaging is installed in the database. |
| Emoji are inserted at the end instead of the cursor | The editable element reference was not wired up, usually because a custom template replaced the textarea. Keep the textarea reference the widget expects, or extend the widget rather than replacing its template. |
| Emoji do not survive an export | The destination format or system does not handle them. Do not use this widget on fields that feed exports or integrations. |
| The placeholder does not show | The attribute is missing, or the field already has content. Set the placeholder; the widget does not touch the extractor, so it works normally. |
| I want a single line version | This variant renders a textarea. Use the char emoji widget, which shares the same mixin. |
| The picker cannot be restricted | There is no option for that. Use the plain text field if the picker should not be offered. |
Emoji text field vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
text_emojis | Multi-line copy that benefits from emoji, such as social or campaign text | The standard textarea with an emoji picker that inserts at the cursor |
| char_emojis | Single line values such as subjects | Same picker, same mixin, an input instead of a textarea |
| text | Ordinary multi-line text | No picker at all |
| html | Content that needs formatting | A rich editor rather than plain text with emoji |
mass_mailing_html | Designing a mailing body | A full design surface with themes and snippets |
Frequently asked questions
What does text_emojis add to a text field?+
Is there a single line version?+
Can I restrict which emoji are offered?+
Do inherited text field options still work?+
Where should I not use it?+
Marketing copy that does not read like an ERP
Campaigns, social posts and mailings drafted inside Odoo keep the data connected, but only if the editing experience is good enough that people use it. We set up Odoo Marketing and its content tooling on versions 16 through 19.
Book a free consultation