Как перенаправить форму Joomla (в статье) на разные статьи Joomla? - PullRequest
0 голосов
/ 07 ноября 2018

Этот вопрос очень специфичен для моего случая, и я не смог найти никакого решения на форуме Joomla.org и других.

У меня есть несколько статей на Joomla для отображения моей таблицы цен. Мне нужно несколько статей для отображения нескольких цен (для простой купонной системы).

Итак, у меня есть мой основной товар с формой поля COUPON, который перенаправляет на товар со скидкой.

<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, появляется сообщение об ошибке. В противном случае, пользователь перенаправляется по форме на мою статью о других ценах с примененной скидкой.

<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;
}
Это работает, единственная проблема для случая по умолчанию. Если я введу неправильный код купона, всплывающее сообщение об ошибке не отображается.

1 Ответ

0 голосов
/ 09 ноября 2018

Решением моего вопроса является 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 => Оплата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...