Jump to content

lien vers page html dans prestashop, possible?


Recommended Posts

Bonjour j'ai crée un module "customfooter".

 

Dans le tpl j'envoi un lien "href="calcul.html" " calcul.html est dans la racine de mon ftp.

 

ce calcul.htm est un formulaire qui renvoi vers verif.php.

 

Je test ça en local. l'url donctionne: localhost/backup/calcul.html puis localhost/backup/verif.php Tout marche nikel

 

Je met dit "cool ça marche je vais le mettre sur le site ne ligne"

 

je transfère mes fichiers, met a jour mon module. clique sur le lien dans le footer:

Et la ça me dit : [Debug] This page has moved

Please use the following URL instead: http://www.desineo.fr/fr/erreur-404

 

Comment ça se fait? Pourquoi en local ça marche et la non? Dois mettre le calcul.html en calcul.tpl??

 

merci de votre réponse

Link to comment
Share on other sites

Bonjour,

 

Il aurait été plus propre de créer un petit module Prestashop pour faire ça, vous auriez ainsi pu passer par le système de routage de Prestashop et éviter bien des ennuis.

Si vos fichiers sont au bon endroit sur votre FTP, le soucis peut venir du système de routage de Prestashop car il trouve bien verif.php mais la page html doit etre prise pour une route produit.

 

Cordialement,

Link to comment
Share on other sites

ok

 

Le lien que vous donnez ci-dessus conduit vers http://localhost/backupdesineo/calcul.html donc sur votre machine locale

Le lien de votre site renvoie sur http://www.desineo.fr/calcul.html

 

Votre site est bien à la racine de votre hébergement ? Pas de sous-répertoire ?

 

Le fichier calcul.html doit être exactement dans le même répertoire que votre Prestashop et s'appeler calcul.html

Link to comment
Share on other sites

Pas faux Matt75^^ j'avais zappé ce détail du .html

 

Le plus simple est de tout mettre dans verif.php en commençant le script par

 

<?php

 

require_once (dirname(__file__) . '/config/config.inc.php');
 
if(Tools::getValue('mon_submit')) {
 
     // le traitement php
}
else {
 
    echo'
        <!-- le contenu html -->
}
Link to comment
Share on other sites

voici mon html calcul

<html>
<link rel="stylesheet" href="formulaire.css">
<body>
<div id="conteneur1">
<div class="titre">Calculez le nombre de panneaux nécéssaires à votre Hammam !</div>
<form method="post" action="verif.php">
<span class="lol">Longueur (en centimètre):</span> </br></br><input type="text" class="text"  placeholder='Longueur' name="longueur" size="12"></br></br>
<span class="lol">Largeur   <span style="color:white;" >...</span>(en centimètre):</span> </br></br><input type="text"  class="text" placeholder='Largeur' name="largeur" size="12"></br></br>
<span class="lol">Hauteur <span style="color:white;">..</span>(en centimètre):</span> </br></br><input type="text"  class="text" placeholder='Hauteur' name="hauteur" size="12"></br></br></br>
<input class="button" type="submit" value="Calculez !">
</form>
</div>

</body></html>

mon verif.php

<html>
	<link rel="stylesheet" href="formulairephp.css">
<body>
<div id="conteneur1">
<?php
	

$longueur = $_POST['longueur'];
$largeur = $_POST['largeur'];
$hauteur = $_POST['hauteur'];

$panneau = "7500";
$plafond = $longueur * $largeur ;
$surface = $longueur * $largeur *4;
$volume = $longueur*$largeur*$hauteur;
$nbrpanneaucote= ceil($surface / $panneau);
$nbrpanneauplafond = ceil($plafond / $panneau );
$nbrpanneautotal = ceil($nbrpanneaucote + $nbrpanneauplafond);
$bande = ceil((($nbrpanneautotal * 370) - (123 * $nbrpanneautotal)) / 4500);
$nbrpaquetrondelles = ceil(($nbrpanneautotal * 4) / 50);
$nbrsikatop = ceil($bande / 2);
print("Nous vous conseillons ".$nbrpanneaucote." panneaux de construction de type parois</br></br>");
print("Nous vous conseillons ".$nbrpanneauplafond." panneaux de construction arrondis</br></br>");



if($bande <=1)
{
	print(" Nous vous conseillons ".$bande." bandes armées </br></br>" );
}

elseif($bande >=1)
{
	print(" Nous vous conseillons ".$bande." bandes armées </br></br>" );
}

if($nbrpaquetrondelles <=1)
{
	print(" Nous vous conseillons ".$nbrpaquetrondelles." paquet de 50 rondelles de fixation. </br></br>" );
}

elseif($nbrpaquetrondelles >=1)
{
	print(" Nous vous conseillons ".$nbrpaquetrondelles." paquets de 50 rondelles de fixation. </br></br>" );
}


if($nbrsikatop <=1)
{
	print(" Nous vous conseillons ".$nbrsikatop."X10kg de Sikatop. </br></br>" );
}

elseif($nbrsikatop >=1)
{
	print(" Nous vous conseillons ".$nbrsikatop."X10kg de Sikatop. </br></br>" );
}

if ($volume<6000000)
{
print(" Nous vous conseillons un générateur à vapeur de 4KW pour votre hammam.'</br>.' ");

}
elseif($volume<9000000)
{
print(" Nous vous conseillons un générateur à vapeur de 6KW votre hammam </br>");
}
elseif($volume<12000000)
{
print(" Nous vous conseillons un générateur à vapeur de 9KW votre hammam </br>");
}
elseif($volume>12000000)
{
print(" Nous vous conseillons un générateur à vapeur de 12KW votre hammam </br>");
}



?>
</br>
<div class="renvoi3"><a style=" font-size:13px; margin-bottom:2px; " href="http://www.desineo.fr/fr/83-accessoires-de-construction-'>http://www.desineo.fr/fr/83-accessoires-de-construction-"> Voir nos accessoires de construction  </a></div>
<div class="renvoi"><a href="http://www.desineo.fr/fr/5-g%C3%A9n%C3%A9rateurs-vapeur-pour-hammam'>http://www.desineo.fr/fr/5-g%C3%A9n%C3%A9rateurs-vapeur-pour-hammam"> Voir nos générateurs  </a></div>
<div class="renvoi"><a href="http://www.desineo.fr/fr/80-panneau-de-construction'>http://www.desineo.fr/fr/80-panneau-de-construction"> Voir nos panneaux   </a></div>
<div class="clear"></div>
<div class="renvoi1"><a style=" text-align:center; font-size:20px; " href="http://www.desineo.fr/fr/"> Retour au site  </a></div></br>
<div class="clear"></div>
<div class="renvoi2"><a style=" text-align:center; font-size:20px; " href="http://localhost/backupdesineo/calcul.html"> Annuler, refaire un calcul  </a></div></br>
</div>
</body>
</html>

J'ai mit tous ça a la racine de mon ftp directement.

 

en effet si y'a moyen de faire un module faisant pareille ancré au footer (via un lien) qui renverrais vers la page "vierge" avec seulement le code, je prend mais en tout cas il fonctionne sur le backup local et c'est la même architecture...

Link to comment
Share on other sites

j'ai pas trop compris mais je vais essayé je suis a la gare avec la 3g c'est pas facile de suivre. Il faut savoir que si je met tout dans le php ça me dit qu'il y a des donnée non renseigné en effet dans mon php, les variable doivent petre rentrer, ça fait donc ultra moche c'est pour ça que je l'ai ai séparé.Si je met calcul en .tpl ça pourrais aider?


olala excusez moi pour les fautes d'orthographe, mon train arrive je me dépêche :/

Link to comment
Share on other sites

c'est mon jour de bonté :)

 

Copiez ceci dans un fichier appelé calcul.php à la racine de votre site

<?php
 
require_once (dirname(__file__) . '/config/config.inc.php');

$path = 'http://www.desineo.fr/';
//$path = 'http://localhost/prestashop/';

if(Tools::getValue('send')) {
	 
	$longueur = (float)Tools::getValue('longueur');
	$largeur = (float)Tools::getValue('largeur');
	$hauteur = (float)Tools::getValue('hauteur');

	if(!$longueur || !$largeur || !$hauteur)
		Tools::redirect($path.'calcul.php?error=1');
		
	$panneau = '7500';
	$plafond = $longueur * $largeur ;
	$surface = $longueur * $largeur *4;
	$volume = $longueur*$largeur*$hauteur;
	$nbrpanneaucote= ceil($surface / $panneau);
	$nbrpanneauplafond = ceil($plafond / $panneau );
	$nbrpanneautotal = ceil($nbrpanneaucote + $nbrpanneauplafond);
	$bande = ceil((($nbrpanneautotal * 370) - (123 * $nbrpanneautotal)) / 4500);
	$nbrpaquetrondelles = ceil(($nbrpanneautotal * 4) / 50);
	$nbrsikatop = ceil($bande / 2);
	$conseil_text = ' Nous vous conseillons ';
	$conseil_gen = 'Nous vous conseillons un générateur à vapeur de ';
	$output = $conseil_text.$nbrpanneaucote.' panneaux de construction de type parois</br></br>
				'.$conseil_text.$nbrpanneauplafond.' panneaux de construction arrondis</br></br>';

	if($bande <= 1) {
		$output .= $conseil_text.$bande.' bandes armées </br></br>';
	}
	elseif($bande >= 1) {
		$output .= $conseil_text.$bande.' bandes armées </br></br>';
	}
	if($nbrpaquetrondelles <= 1) {
		$output .= $conseil_text.$nbrpaquetrondelles.' paquet de 50 rondelles de fixation. </br></br>';
	}
	elseif($nbrpaquetrondelles >= 1) {
		$output .= $conseil_text.$nbrpaquetrondelles.' paquets de 50 rondelles de fixation. </br></br>';
	}
	if($nbrsikatop <=1) {
		$output .= $conseil_text.$nbrsikatop.' X 10kg de Sikatop. </br></br>';
	}
	elseif($nbrsikatop >=1) {
		$output .= $conseil_text.$nbrsikatop.' X 10kg de Sikatop. </br></br>';
	}
	if ($volume<6000000) {
		$output .= $conseil_gen.'4KW pour votre hammam.</br>';
	}
	elseif($volume<9000000) {
		$output .= $conseil_gen.'6KW votre hammam </br>';
	}
	elseif($volume<12000000) {
		$output .= $conseil_gen.'9KW votre hammam </br>';
	}
	elseif($volume>12000000) {
		$output .= $conseil_gen.'12KW votre hammam </br>';
	}

	echo '
	<html>
		<link rel="stylesheet" href="formulairephp.css">
		<body>
			<div id="conteneur1">
				'.$output.'
				</br>
				<div class="renvoi3"><a style=" font-size:13px; margin-bottom:2px; " href="'.$path.'fr/83-accessoires-de-construction-"> Voir nos accessoires de construction  </a></div>
				<div class="renvoi"><a href="'.$path.'fr/5-g%C3%A9n%C3%A9rateurs-vapeur-pour-hammam"> Voir nos générateurs  </a></div>
				<div class="renvoi"><a href="'.$path.'fr/80-panneau-de-construction"> Voir nos panneaux   </a></div>
				<div class="clear"></div>
				<div class="renvoi1"><a style=" text-align:center; font-size:20px; " href="'.$path.'fr/"> Retour au site  </a></div></br>
				<div class="clear"></div>
				<div class="renvoi2"><a style=" text-align:center; font-size:20px; " href="'.$path.'calcul.php"> Annuler, refaire un calcul  </a></div></br>
			</div>
		</body>
	</html>';
}
else {
 
	$error = Tools::getValue('error');
    echo '
	<html>
		<link rel="stylesheet" href="formulaire.css">
		<body>
			<div id="conteneur1">
				<div id="error" style="margin-bottom:20px;color:white; background:red;padding:10px;border:1px solid black;'.(!$error ? 'display:none;' : '').'">
					<p>Veuillez remplir tous les champs !</p>
				</div>
				<div class="titre" '.($error ? 'style="display:none;"' : '').'>Calculez le nombre de panneaux nécéssaires à votre Hammam !</div>
				<form method="post" action="'.$path.'calcul.php">
					<span class="lol">Longueur (en centimètre):</span> </br></br><input type="text" class="text"  placeholder="Longueur" name="longueur" size="12"></br></br>
					<span class="lol">Largeur   <span style="color:white;" >...</span>(en centimètre):</span> </br></br><input type="text"  class="text" placeholder="Largeur" name="largeur" size="12"></br></br>
					<span class="lol">Hauteur <span style="color:white;">..</span>(en centimètre):</span> </br></br><input type="text"  class="text" placeholder="Hauteur" name="hauteur" size="12"></br></br></br>
					<input class="button" type="submit" name="send" value="Calculez !">
				</form>
			</div>
		</body>
	</html>';
}

Et votre lien en footer devient :  http://www.desineo.fr/calcul.php

Link to comment
Share on other sites

En effet je vais essayé de virer les répétitions, mettre peux être une border avec pas mal de padding pour faire des séparations et je vais essayé de coder les erreurs classiques de type: ifnotnumber etc afin d'avoir un formulaire un peu complet ^^. Après vous avez du le constater je suis pas un pro du php mais je devrais me débrouiller.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...