Hi,

I'm trying to use display suite to manage the display of a contact form. I have added a custom field and can see this in "manage form display". When I make changes on this form it updates and I can see the changes on the form. But there is not option to use display suite on the "manage form display" tab.

When I use the "manage display" tab I can see the display suite options, but changing these options do nothing to change how the form renders.

For example, I am trying to use display suite to show the contact form in the "two column layout". In the "manage display" tab I have "two column layout" selected and saved, when I reload the page my changes have been saved. But when I view the form there is no change. There is no display suite container in the DOM either.

The other weird thing is in "manage form display" I can see all the fields of the form, name, email address, message. When in the "manage display" tab only the message field is listed.

I'm not sure if this is a feature request or a bug, any help would be helpful. The D8 contact forms are pretty good, but would be even better if used together with display suite.

Comments

lauraxequals created an issue. See original summary.

hongpong’s picture

Also having this issue, wish I could layout using this layout plugin framework with ds.

pranay agarwal’s picture

Having the same issue. Applied various layouts from display suite to contact form.
Seems like Contact forms doesn't work with display suite yet.
I can neither add classes or tags using the field level template.

hongpong’s picture

Hm @pranay.agarwal18@gmail.com , more recently I have trouble with ajax and contact forms and display suite (plus twig tweak as well): #2946970: Can't embed ajax contact form inside display suite node layouts using twig_tweak . I wonder if the issue is more with ds than with twig tweak.

swentel’s picture

Status: Active » Closed (outdated)

contact is a weird beast, it's a hard one to control with DS.

tonytheferg’s picture

Not sure this should be closed. I have a site where the contact message section under /admin/structure/ds doesn not show up, and I am seeing the same behavior mentioned in this issue:

The other weird thing is in "manage form display" I can see all the fields of the form, name, email address, message. When in the "manage display" tab only the message field is listed.

The only base field showing up under "Manage Display" is the message field.

The Sender's name, The Sender's email, and the Subject fields are NOT visible in the display, but are visible in the manage form display.

tonytheferg’s picture

Update for anyone who ends up here, installing the Contact Storage module helps get both of the issues I mentioned in #6 working.

Maybe the maintainers should put a known issue, and reference this so people can find it.
Here also is the stack exchange answer that helped me figure it out.

swentel’s picture

Status: Closed (outdated) » Active

Documenting it makes sense, will add it to the readme which in the dev version at the moment contains a 'known issues' section!

swentel’s picture

Version: 8.x-2.6 » 8.x-3.x-dev

  • swentel committed d6a69eb8 on 8.x-3.x
    Issue #2832259: document contact (storage) module
    
swentel’s picture

Status: Active » Fixed

Added to the README!

swentel’s picture

Status: Fixed » Closed (fixed)
tonytheferg’s picture

Awesome!

On a side note, I am wondering what needs to happen to get the inline and above label positions to work on display?
Right now the output is:

<div class="field field--name-name field--type-string field--label-inline clearfix">
<div class="field__label">The sender's name</div>
<div class="field__item">NAME</div>
</div>
<div class="field field--name-mail field--type-email field--label-inline clearfix">
<div class="field__label">The sender's email</div>
<div class="field__item"><a href="mailto:email.com">temail.com</a></div>
</div>
<div class="field field--name-subject field--type-string field--label-inline clearfix">
<div class="field__label">Subject</div>
<div class="field__item">SUBJECT</div>
</div>