这个问题在我的案例中非常特殊,我在Joomla.org论坛和其他论坛上找不到任何解决方案。
我有一些joomla的文章来展示我的价格表。我需要几篇文章来显示几个价格(对于简单的优惠券系统(。
所以我有我的主要价格文章与优惠券字段形式重定向到价格文章与折扣。
<form class="form-inline" name="myForm" action="/index.php?option=com_content&view=article&id=15&Itemid=229"
onsubmit="return validateForm()" method="post">
<label for="fname">Code Promo:</label>
<input type="text" name="fname" value="PROMO2018">
<input class="btn btn-success" type="submit" value="Valider ce code">
</form>
如果用户没有键入PROMO2018,则会弹出一个错误。否则,用户会通过表单重定向到我的其他价格文章,并应用disount。
<script>
function validateForm() {
var x = document.forms["myForm"]["fname"].value;
if (x != "PROMO2018") {
alert("Le code PROMO n'est pas bon. Désolé. :-( ");
return false;
}
}
</script>
这个小小的javascript破解让我可以用一个简单的1优惠券系统来管理我的产品销售。
我现在想用几张优惠券工作。事实上,我还需要第二个折扣。因此,它将重定向到另一个joomla文章的价格与其他价格。
所以我写了这个javascript:
<script>
function validateForm() {
var x = document.forms["myForm"]["fname"].value;
if (x == "PROMO2018") {
document = "index.php?option=com_rsform&view=rsform&formId=8&Itemid=484";
}
else
{
if (x == "ETUDIANTBDX")
{
location = "index.php?option=com_rsform&view=rsform&formId=4&Itemid=232";
}
else
{
alert("Le code PROMO n'est pas bon! Veuillez essayer un autre svp.");
return false;
}
}
}
</script>
但它不起作用!:-(
有人能告诉我为什么用户在提交优惠券表格时没有被重定向到合适的页面吗?
谢谢你的帮助
我使用RSFORM 听从您的建议
我做了这个代码:
$v_coupon = $_POST['form']['coupon'];
switch ($v_coupon) {
case "PROMO2018":
case "ETUDIANTBDX":
echo "";
break;
default:
echo "<script type='text/javascript'>alert('Le code PROMO n'est pas bon! Veuillez essayer un autre svp.');</script>";
break;
}
它有效,唯一的问题是默认情况。如果我输入了错误的优惠券代码,它不会显示弹出错误消息。
我的问题的解决方案是带有自定义验证规则的RSFORM。
创建RSFORM验证规则的教程在这里
我插入的代码是这样的:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
require_once dirname(__FILE__).'/validation.php';
class RSFormProCustomValidations extends RSFormProValidations
{
public static function validationTest($value, $extra = null, $data = null)
{
// The following makes sure the submitted value is "test"
if ($value == "PROMO2018") {
$app = JFactory::getApplication();
$app->redirect('index.php?option=com_content&view=article&id=165&Itemid=483');
return true;
} elseif ($value == "ETUDIANTBDX") {
$app = JFactory::getApplication();
$app->redirect('index.php?option=com_content&view=article&id=15&Itemid=229');
return true;
} else {
// Return false if the validation didn't pass.
return false;
}
}
}
这个简单的优惠券解决方案让我管理我的产品的销售折扣。
Joomla文章=>RSformCoupon=>Joomla折扣文章=>RsformStripe=>支付