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

Fermé
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 - 10 mars 2019 à 10:20
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 - 10 mars 2019 à 17:17
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
10 mars 2019 à 10:56
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 mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
10 mars 2019 à 11:44
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
10 mars 2019 à 12:04
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 mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
10 mars 2019 à 12:11
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
10 mars 2019 à 12:22
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 mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
10 mars 2019 à 13:12
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