If you were wondering how to get the default contact form in Joomla 1.5 to redirect you to another page after you submit it, or if you wanted to change the default text that is displayed "Thank you for your e-mail" to something else I will explain how in this guide. I cannot be 100% sure this guide will work for people who have certain extensions installed or who have SEO turned on as i have not tried it.
Step One:
First if you don't already have a page that you want to redirect to, you will create one within the Joomla 1.5 admin interface and make sure it is published. I have tried the method below with both an article and a contact page, but it should work for most other page redirects as well.
Step Two:
Next if you don't already know the URL of the page you want to redirect to, you will create a menu item in the Joomla 1.5 admin interface that points specifically to the redirect page you created in step one and make sure it is published. Now when you visit your page in the frontend you will see the menu item for the page you created. Click on that link to view your page. We are doing this because you need to find out the exact URL of the page you created. Make sure to copy the URL as we will need some of it in step 3. After you copy the URL you may un-publish your menu item that links to the redirect page in the admin interface, but make sure you leave the redirect page published.
Step Three:
To finish and make it all work requires editing of a single file in the Joomla installation. If you update or reinstall Joomla you will possibly lose this modification and have to apply it again.
The file that you will be editing is /components/com_contact/controller.php
You can open it in Dreamweaver or other good editors.
(Joomla 1.5.2)
Near lines 193-195 locate:
Code: Select all
$msg = JText::_( 'Thank you for your e-mail');
$link = JRoute::_('index.php?option=com_contact&view=contact&id='.$contact->slug.'&catid='.$contact->catslug, false);
$this->setRedirect($link, $msg);
Code: Select all
$msg = JText::_( 'Thank you for your emaill');
Code: Select all
$msg = JText::_( 'Thank you for emailing us we will get back to you shortly');
Code: Select all
$msg = JText::_( 'Thank you for your e-mail');
$link = JRoute::_('index.php?option=com_contact&view=contact&id='.$contact->slug.'&catid='.$contact->catslug, false);
$this->setRedirect($link, $msg);
Code: Select all
$link = JRoute::_('paste the URL you copied in Step Two here and keep the single quotes before and after');
$this->setRedirect($link);
Code: Select all
$link = JRoute::_('index.php?option=com_content&view=article&id=53&Itemid=64');
$this->setRedirect($link);
I hope this helps some of you who were searching for this information like I was. Please feel free to follow up with confirmations on if this works with SEO or if you can use a full URL including http:// .