3

I am trying to override contact us page from one column to 2-columns-left

what I have did is copy contact_index_index.xml from vendor\magento\module-contact\view\frontend\layout\

to

app\design\frontend\namespace\themename\Magento_Contact\layout\

and change layout to layout="2columns-left" so my xml is like bellow

<?xml version="1.0"?>
<!--
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
 <head>
 <title>Contact Us</title>
 </head>
 <body>
 <referenceContainer name="content">
 <block class="Magento\Contact\Block\ContactForm" name="contactForm" template="Magento_Contact::form.phtml">
 <container name="form.additional.info" label="Form Additional Info"/>
 </block>
 </referenceContainer>
 </body>
</page>

everything working fine and it changes template to 2 columns left but some how captcha is not rendering. Is it bug or I am doing something wrong ?

Qaisar Satti
32.6k18 gold badges88 silver badges138 bronze badges
asked Mar 31, 2016 at 12:38

2 Answers 2

2

Anyway I have solved it myself.The captcha is not rendering due to I haven't override captcha layout xml so overriding it to your theme will solved issue.

answered Apr 6, 2016 at 6:32
2

I had the same problem and just overriding the captcha layout it was solved. Just what you said. For more help, my code is

<referenceContainer name="content">
 <block class="Entrepids\Contact\Block\ContactForm" name="contactForm" template="Entrepids_Contact::form.phtml">
 <container name="form.additional.info" label="Form Additional Info"/>
 </block>
 </referenceContainer>
 <referenceContainer name="form.additional.info">
 <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-" cacheable="false">
 <action method="setFormId">
 <argument name="formId" xsi:type="string">contact_us</argument>
 </action>
 <action method="setImgWidth">
 <argument name="width" xsi:type="string">230</argument>
 </action>
 <action method="setImgHeight">
 <argument name="width" xsi:type="string">50</argument>
 </action>
 </block>
 </referenceContainer>
 <referenceBlock name="head.components">
 <block class="Magento\Framework\View\Element\Js\Components" name="captcha_page_head_components" template="Magento_Captcha::js/components.phtml"/>
 </referenceBlock>
Marius
199k55 gold badges431 silver badges837 bronze badges
answered Jul 19, 2018 at 17:51
1
  • Nice! That solved my problem with the captcha not showing Commented Oct 23, 2018 at 2:06

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.