Changer le titre d'une page lorsque l'on clique sur un lien

YameFAZE Messages postés 201 Date d'inscription   Statut Membre Dernière intervention   -  
bg62 Messages postés 23732 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai beau suivre les différents tutos trouvés grâce à mon ami Google mais je n'arrive pas à changer le titre de mon index lorsque je clique sur un lien. Mon site se compose d'une page principale dont le contenu, notamment des articles, change lorsque je clique sur les liens du menu. Peut-être que le problème vient du fait que j'essaye de changer le titre de ma page principale alors qu'elle ne se recharge pas lorsque je clique sur les liens...

Ma page principale qui reste statique et ne se recharge pas :
<!DOCTYPE html>
<html lang="fr">
	<head>
		<meta charset="utf-8" />
		<link rel="stylesheet" href="css/style.css" />
		<script type="text/javascript" src="js/jquery.js"></script>
		<title>
			<!-- ICI LE TITRE QUI DOIT CHANGER -->
		</title>
	</head>
	<body>
		<!---------------------->
		<!------- HEADER ------->
		<!---------------------->
		<?php include('header/header.php'); ?>
		<!-------------------------->
		<!------- NAVIGATION ------->
		<!-------------------------->
		<?php include('navigation/navigation.php'); ?>
		<!------------------------>
		<!------- ARTICLES ------->
		<!------------------------>
		<div id="conteneur_articles">
			<?php include('articles/entreprise.php'); ?>
		</div>
		<!---------------------->
		<!------- FOOTER ------->
		<!---------------------->
		<?php include('footer/footer.php'); ?>
	</body>
</html>


Le menu :
<!-------------------------->
<!------- NAVIGATION ------->
<!-------------------------->
<script type="text/javascript" src="js/articles.js"></script>
<div id="navigation">
	<nav>
		<ul>
			<li class="bouton"><a href="#" id="1" onclick="function(afficherArticle);">Une entreprise de proximité</a></li>
		</ul>
	</nav>
</div>


Et enfin le script :
$(document).ready(function(afficherArticle) {
	$('#1').click(function() {
		$('#conteneur_articles').load('articles/entreprise.php');
		return false;
	});
});


Configuration: Ordinateur portable ASUS UX21E
Windows 7
A voir également:

1 réponse

Utilisateur anonyme
 
Bonjour,

En effet vous utilisez "load" pour charger le contenu d'un élément ayant pour id "conteneur_articles" et cela a pour effet de ne recharger que le contenu de ce dernier élément et non l'intégralité de la page. Donc le titre de page ne peut être modifié de la sorte.

Voici ce que je vous suggère en lieu et place en guise de complément à votre script js :

$('#1').click(function() {
var title = $(this).text();
$('#conteneur_articles').load('articles/entreprise.php', '', function(data) {
document.title = title;
});
return false;
});

A voir si cela fonctionne.

Après je ne sais pas si le but pour vous est que votre site soit correctement référencé mais en utilisant une méthode comme celle-ci (très rudimentaire) c'est impossible :)
0
YameFAZE Messages postés 201 Date d'inscription   Statut Membre Dernière intervention  
 
S'il y a une meilleure méthode pour modifier le contenu d'une page en cliquant sur un lien je suis preneur.
0
Utilisateur anonyme
 
Sans vous faire tout modifier, la méthode que j'ai indiqué devrait fonctionner.
Sinon, le mieux aurait été de faire en sorte que le contenu de vos articles soit chargé dans une page autre, incluant le même template (entête de page, navigation et pied de page) que le reste des pages de votre site mais cela risque de vous faire revoir une bonne parite du code. Donc je ne pense pas que ce soit très pertinent pour vous.
0
YameFAZE Messages postés 201 Date d'inscription   Statut Membre Dernière intervention  
 
Donc le mieux serait de faire une page index.php dans lequel se trouve le lien d'accès à l'article entreprise.php, et lorsque l'on clique sur ce lien, plutôt que de faire apparaître entreprise.php directement dans index.php il faudrait charger une nouvelle page index_entreprise.php (par exemple) qui aurait en include l'article entreprise.php ? Si c'est bien ça dans ce cas je ne vois plus trot l'intérêt de faire un include. Autant faire une nouvelle page complète avec l'article écrit en dur dans la nouvelle page sans faire d'include.
0
Utilisateur anonyme
 
Vous pouvez laisser l'inclusion et rendre cela dynamique grâce notamment à l'url rewriting (voir le principe ici https://openclassrooms.com/fr/courses/1166706-du-rewriting-realise-avec-du-php).
L'appel se ferait donc tout le temps sur votre page index.php mais en fonction des paramètres passés dans l'url le contenu des articles se feraient dynamiquement.
0
YameFAZE Messages postés 201 Date d'inscription   Statut Membre Dernière intervention  
 
Il n'y a pas un moyen simple en PHP de faire ce que je souhaite ? On clique sur un lien et une partie de la page change sans qu'elle soit rafraîchie avec au passage le changement du titre de la page. Genre dans un div de la page principale on injecte du code PHP au clique du lien.
0