2014-02-06 54 views
1

後我編碼自定義聯繫人形式和這種形式是一個標準的POST形式。 形式看起來是這樣的:Joomla3 - 如何顯示成功通知的形式提交(後處理)

<form action="/path/to/my/phpfile.php" method="post" id="form"> 
      <input type="email" id="email" name="email"/> 
      <input type="text" id="name" name="name"/> 
      <input type="submit" value="submit"/> 
</form> 

現在,我的PHP文件看起來是這樣的:

<?php 
$email_from = $_POST['email']; 
$fromname = $_POST['name']; 
$email_to = '[email protected]'; 

$email_subject = 'Subject text....'; 
$email_message = 'Email message.....'; 

//Send the email 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 
$headers .= 'From: '.$email_from."\r\n". 
'Reply-To: '.$email_from."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
@mail($email_to, $email_subject, $email_message, $headers); 

header('location: http://www.mywebsite.com/destination/'); 
?> 

所以,我想要做的是顯示成功通知/消息作爲標準Joomla系統消息。

我注意到的Joomla消息前端都包含在這個容器中的我的模板:

<div id="system-message-container"> 
<div id="system-message"> 
<div class="alert alert-notice"><a class="close" data-dismiss="alert">×</a> 
<h4 class="alert-heading">Header text...</h4> 
<div> 
     <p>Message....</p> 
</div> 
</div> 
</div> 
</div> 

的問題是,如何創建在發送系統消息給目標頁面中的PHP文件中的代碼在Joomla? 我正在使用Joomla v。3.2.1

回答

0

我終於找到了如何挖掘到的Joomla通知消息的系統構建。結果非常簡單。

要顯示你可以簡單地使用這些線路之一的系統消息:

//Standard message 
JFactory::getApplication()->enqueueMessage($mymessage); 

//Notice message 
JError::raiseNotice(100, $mymessage); 

//Warning message 
JError::raiseWarning(100, $mymessage); 

所以,我在我的情況一樣,是如發送URL變量?消息=成功 ,在我的模板文件,我只是做一個if語句是這樣的:

if($_GET["message"] == "success") { 
      $displaymsg = "My message text.."; 
      JFactory::getApplication()->enqueueMessage($displaymsg); 
} 

我希望這可以幫助其他人都在同樣的情況我是在

0

默認情況下,當用戶點擊提交表單後提交表單joomla轉到'/path/to/my/phpfile.php'方向。當你在這個方向上回顯一些文字時,這個文字就會顯示給用戶。

+0

嗨,你能不能詳細一點你是什麼意思? – GeniusDesign

+0

當你想在joomla中提交表單時,將action設置爲form非常重要。如果你想根據mvc創建一個組件,你必須設置action爲「index.php?option = com_componentname&view = viewname」。你使用MVC模型? – adib16

+0

不,這是一個完全自定義的PHP文件,僅用於處理這種特定的聯繫表單。我在想/希望有可能通過URL參數傳輸系統消息,可能是「GET-data」 – GeniusDesign

0

你可以使用一個第三方擴展,以顯示你的PHP代碼上的一篇文章的模塊。這樣你就可以編制自己的成功通知。

這裏,沒有工作給你的擴展名列表:http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/custom-code-in-content

我會嘗試不使用JUMI,它的工作原理,但在我的情況下,它創造了相當一些錯誤。

+0

是的,我已經在使用這樣的插件/模塊自定義HTML,CSS,jQuery和PHP「Flexi自定義代碼」,但我所追求的是使用內置的Joomla消息系統並根據外部後腳本的響應回顯消息。我特別想要的是能夠通過使用URL參數或類似的東西來觸發這個Joomla消息系統。 – GeniusDesign

2

另外,如果你」重新發送用戶到仍然在您的Joomla內的位置!網站,你可以展示一個Joomla!系統消息的情況下仍能做到使用Joomla的內置重定向功能即顯示消息,當用戶到達目的地網頁的重定向。就像這樣:

// give joomla the message to display... 
    $app = JFactory::getApplication(); 
    $app->enqueueMessage('A message for the user'); 

    // ...and still do a redirect 
    $app->redirect('http://www.myJoomlaSite.com/index.php?option=com_whatever'); 

所以你的用戶仍然甚至只要做重定向的頁面後得到你的消息的目標頁面是你的Joomla之內!網站

相關問題