Magento formulaire de contact dans la page CMS
-
12-12-2019 - |
Question
Je suis nouveau dans magento et je me demande comment créer un formulaire dans une page CMS et recevoir les informations par e-mail.
J'ai fait quelques recherches sur internet mais je n'ai pas trouvé de réponses explicites.
La solution
Tout d'abord, vous vous connectez admin Magento Admin -> CMS -> Pages
Sélectionnez votre page et entrez votre code HTML car vous le feriez normalement sur toutes les autres informations que vous incluez la page, puis sélectionnez Contenu onglet et ajoutez-le.
Les lignes ci-dessous pour ajouter votre
{{block type="core/template" name="contactForm" form_action="{{store direct_url='contacts'}}/index/post" template="contacts/form.phtml"}}
Autres conseils
@mbalparda réponse est juste, mais il répondre partiellement à la question.En bref, il vous donne une parfaite indication sur la façon dont vous pouvez inclure un formulaire de contact bloc à l'intérieur du page cms.Mais ce que sur l'ajout d'un formulaire personnalisé dans la Page CMS?Pour cela, vous pouvez consulter ci-dessous la réponse.
Étape 1 :Créer un formulaire
Tout d'abord, vous devez créer un formulaire que vous devez inclure dans les Pages CMS.Dans sa forme la plus simple, vous devez définir un nouveau modèle de formulaire pour cela.
Fichier : app\design\frontend\[package]\[theme]\template\custom\yourform.phtml
<form action="some/action/" name="form-name" id="form-id" >
<!-- form inputs come here -->
</form>
Étape 2 :Inclure Votre Formulaire Personnalisé dans la Page CMS
Aller à la Page CMS contenu de l'article et ajouter le contenu ci-dessous.
{{block type="core/template" template="custom/yourform.phtml"}}
Nous prenons le parti de bloc-directives ici.Vous pouvez insérer un bloc dans la page CMS comme ça.Cela permettra d'utiliser votre formulaire personnalisé de modèle et de rendre son contenu à l'intérieur de la CMS Page.
La réponse ci-dessus est juste, mais il y a quelques suggestion pour ce cas.
1.Formulaire de modification de l'action post url:
Modifier le formulaire d'action /contacts/index/post
la coutume des url de ce type /contacts/index/custompost
.Parce que d'après le formulaire de soumission.Personnalisées vous rediriger vers contacts/index/index
au lieu de custom cms page
en raison de code à postAction la fonction de Mage_Contacts_IndexController ($this->_redirect('*/*/');)
.
Donc,vous devez remplacer Mage_Contacts Indexcontroller et add a new
action custompostAction
.
Copiez tout le code de postAction
la fonction de custompostAction
et il suffit de changer
$this->_redirect('*/*/'); to $backUrl=Mage::getUrl().'cmsPageInd'; $this->getResponse()->setRedirect($backUrl);
Appelez le bloc de formulaire à partir de l'onglet création:
Au lieu d'appel de la forme et du Contenu,composez le code lors de l'onglet Conception(mise à Jour XML)
<reference name="content">
<block type="core/template" name="CmscontactForm" form_action="/contacts/index/custompost"/ >
</reference>
utiliser
<!– CONTACT FORM –>
{{block type="core/template" name="contactForm" form_action="/contacts/index/post" template="contacts/form.phtml"}}
<!– END OF CONTACT FORM –>
dans n'importe quelle page CMS.Voir Cette page pour d'autres informations.
- Première connexion dans votre administrateur Magento
- Allez à votre CMS> Gérer les pages Interface
- Une fois là-bas, entrez votre HTML comme vous le feriez normalement sur toute autre page
- Une fois que vous êtes satisfait de la partie HTML, ajoutez ces lignes:
{{block Type="noyau / modèle" Nom="Contactform" form_action="{{Store direct_url="Contacts"}} / index / post "Modèle=" Contacts / Form.Phtml "}}
laissez-moi savoir si vous avez une requête
Pour ce que ça vaut la peine - j'utilise Magento 2 et les réponses ici sont pour Magento 1.x.
Ceci est la syntaxe de codes short qui a fonctionné pour moi à Magento 2:
{{block class="Magento\Framework\View\Element\Template" name="contactForm" form_action="/contacts/index/post" template="Magento_Contact::form.phtml"}}