2014-02-06 121 views
0

我写了一个自定义的登录页面,我想将其合并到我的网站。 该网站使用Joomla作为CMS。 所以当我输入一个UTL www.mysite.com/myLandingPahe.php我得到一个404因为Joomla ruting引擎撞击并搜索文章在DB中。Joomla路由引擎

这是登陆页面的骨架基本的联系方式):

<?php 
$to = "[email protected], [email protected]"; 
$subject = "HTML email"; 

$message = " 
<html> 
<head> 
<title>HTML email</title> 
</head> 
<body> 
<p>This email contains HTML Tags!</p> 
<table> 
<tr> 
<th>Firstname</th> 
<th>Lastname</th> 
</tr> 
<tr> 
<td>John</td> 
<td>Doe</td> 
</tr> 
</table> 
</body> 
</html> 
"; 

// Always set content-type when sending HTML email 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

// More headers 
$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 

mail($to,$subject,$message,$headers); 
?> 

我可以保留一个地址来指向我的自定义PHP文件吗?

有没有另一种方法可以实现这一点?

+0

的Joomla有默认com_contact compoent为什么使用自定义文件形式接触这个? http://docs.joomla.org/Help32:Components_Contacts_Contacts –

+0

使用自定义文件,因为我需要自定义样式的网页.. – Mortalus

+0

您是否需要自定义页眉和页脚,或者只是在自定义样式中使用joomla com_contact可以完成的任何方式。如果你需要自定义样式只是覆盖Joomla com_contact http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core –

回答

0

你有选择,

使用com_contact与覆盖

复制整个的components/com_contact/view/templates/your_templates/html/com_contact/

然后用以下方法将视图页面中添加自定义样式

$doc = JFactory::getDocument(); 
$doc->addScript('js file full path'); 
$doc->addStyleSheet('css path'); 

那么将加载自定义样式然后,你必须避免的页眉和页脚感觉它作为一个不同的页面。这可以通过使用URL追加tmpl=component来实现。 喜欢你的联系方式是www.yourdomain.com/contact&tmpl=component

自定义页面第二十

创建任何名称的文章页面,并设定所需的网址别名。然后在文章内容中添加表单及其必需的CSS。在这里,您需要一些插件来在您的文章内容中包含样式和脚本,例如this。 然后在你的表单中,动作如下。

<form action = "index.php?option=com_contact&task=contact.contactinfo">...</form> 

这代表你里面有components/com_contact/controllers/contact.phpcontactinfo()一种功能,当表单提交,你会得到这个函数内部的所有POST数据。

检索表单数据使用Joomla default library

$jinput = JFactory::getApplication()->input; 
$name = $jinput->get('name', 'default_value', 'filter'); 

还用于发送电子邮件即可使用。

  $mail = JFactory::getMailer(); 
      $mail->addRecipient($contact->email_to); 
      $mail->addReplyTo(array($email, $name)); 
      $mail->setSender(array($mailfrom, $fromname)); 
      $mail->setSubject($sitename.': '.$subject); 
      $mail->setBody($body); 
      $sent = $mail->Send(); 

发送后可以重定向回页面。

$this->setRedirect('url','message success/failed','type of message eg: error,info'); 

设置此之后,你可以追加&tmpl=component像上面为避免页眉和页脚

希望它是有意义..