Bonjour,
J'ai un empilement de fichiers vues dans une structure MVC. Le contenu de la vue principale est répété deux fois: une première fois en tout début de rendu, une seconde fois à sa place.
Je vous donne le code épuré de mes fichiers dans l'ordre d'apparition dans le code et le rendu (ctrl+U)
Fichier de contrôle 'main.php':Fichier menu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php if ( empty(session_id()) ) session_start(); require_once('../config.php'); require_once('../searchLang.php'); $_SESSION['language'] = $language = selectLanguage(); #...................................... Functions ........................................................ function subscriberHome($language) { $echo['headTitle'] = getDBText($language,2); $echo['headKeywords'] = getDBText($language,3); $echo['headOverview'] = getDBText($language,4); $echo['errors'] = (empty($_SESSION['errors'])) ? '': displErrors($_SESSION['errors']); unset($_SESSION['errors']); require_once('views/menuVUser.php'); $filename = "views/$language/subscriberHome.php"; if (file_exists($filename)) require_once($filename); } #......................................................................................................... $echo['menuV'] = ""; $echo['errors'] = ""; // Select the page to be displayed (int) $page = $_GET['page'] ?? 0; switch ($page) { case 0: default: subscriberHome($language); break; }
Contenu principal 'views/$language/subscriberHome.php':
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php ob_start(); ?> <nav class="mainNav"> <nav> <!-- ... --> </nav> </nav> <?php $echo['menuV'] = ob_get_clean(); ?>
Template:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php ob_start(); ?> <h2><?= getDBText($language,45); ?></h2> <?= $echo['content'] = ob_get_clean(); ?> <?php require_once('../views/template.php'); ?>
Rendu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <!DOCTYPE html> <html lang="<?= $language; ?>"> <head> <!-- <base href="<?= URL_SITE ?>" /> --> </head> <body> <?php require_once('header.php'); ?> <section> <div id="left"> <?= $echo['menuV']; ?> </div> <article id="right"> <?= $echo['content']; ?> </article> </section> <?php require_once('footer.php'); ?> </body> </html>
On voit dans le rendu:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 <script type="text/javascript" src="http://gc.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=0ArFnnVcLOpzycFk0cSvbTt7jl8IoTLMTjNpbHB-AYqCzABdL0j0Odfb1gEH09h4SL1Ug0Lm5vQVoIqB6IFGFw" charset="UTF-8"></script> <h2>Mon entreprise</h2> <!DOCTYPE html> <html lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title><-Mettre dans ces lignes les renseignements de la balise head du template-></title> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta name="author" content="Marc Paris" /> <meta name="copyright" content="Marc Paris" /> <meta http-equiv="Expires" content="-1" /> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <base href="http://sirep.proginet.local" /> <link rel="stylesheet" media="all" type="text/css" href="../css/structure.css" /> <link rel="stylesheet" media="all" type="text/css" href="../css/screen.css" /> <link rel="stylesheet" media="print" type="text/css" href="../css/print.css" /> </head> <body> <header> <div class="displTimer"> <span id="timer"></span> </div> <div> <img src="http://sirep.proginet.local/images/logo_sirep.png" alt="logo"> <h1>Votre prospection en ligne</h1> </div> </header> <section> <div id="left"> <nav class="mainNav"> <nav> <ul> <li>Utilisation <ul> <li><a href="main.php?page=1">Mon entreprise</a></li> <!-- Company home --> <li><a href="main.php?page=2">Fichier clients</a></li> <!-- Company databank --> <li><a href="">Chercher un client</a></li> <!-- Find customers --> <li><a href="">Etats et impressions</a></li> <!-- Lists and prints --> <li><a href="">Paramètres</a></li> <!-- Settings --> </ul> </li> </ul> <ul> <li>Divers <ul> <li><a href="">Déconnexion</a></li> <li><a href="">Accueil Sirep</a></li> <li><a href="">Portail Proginet</a></li> <li><a href="">Aide</a></li> </ul> </li> </ul> </nav> </nav> </div> <article id="right"> <h2>Mon entreprise</h2> </article> </section> <footer class="footer"> <!-- ... --> </footer> </body> </html>
- que des lignes ont indument été insérées en début de fichier
- que l'antivirus kaspersky a inséré un script
- que le titre h2 du contenu principal est indument inséré après le script de kaspersky
Si j'ajoute du contenu dans le fichier de contenu principal, il est également répété.





Répondre avec citation
Partager