Browse Source

ne plus generer le title dans le php de commencer_page lorsqu'on utilise un squelette, pour permettre de le mettre a la main dans head/xxx

Par defaut, la fonction f_title_auto est appelee dans le pipeline affichage_final_prive et pose un title si il n'y en a pas, en capturant le premier h1 de la page (ou a defaut le premier h2/h3).
spip-3-stable
Cerdic 13 years ago
parent
commit
164a703f63
  1. 26
      ecrire/exec/fond.php
  2. 15
      ecrire/inc/commencer_page.php
  3. 2
      ecrire/inc_version.php
  4. 4
      prive/squelettes/head/dist.html
  5. 45
      prive/squelettes/inclure/head.html
  6. 2
      prive/squelettes/structure.html

26
ecrire/exec/fond.php

@ -41,6 +41,32 @@ function exec_fond_dist(){
}
/**
* Fonctions utilises au calcul des squelette du prive.
* A deplacer
*/
function f_title_auto($texte){
if (strpos($texte,'<title>')===false
AND
(preg_match(",<h1>(.+)</h1>,Uims", $texte, $match)
OR preg_match(",<h[23]>(.+)</h[23]>,Uims", $texte, $match))
AND $match = trim($match[1])
AND ($p = strpos($texte,'<head>'))!==FALSE) {
if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"])))
$nom_site_spip= _T('info_mon_site_spip');
$titre = "<title>["
. $nom_site_spip
. "] ". $match
."</title>";
$texte = substr_replace($texte, $titre, $p+6,0);
}
return $texte;
}
/**
* #BOITE_OUVRIR{titre[,type]}
* Racourci pour ouvrir une boite (info, simple, pour noisette ...)

15
ecrire/inc/commencer_page.php

@ -35,6 +35,14 @@ function inc_commencer_page_dist($titre = "", $rubrique = "accueil", $sous_rubri
// http://doc.spip.org/@init_entete
function init_entete($titre='', $dummy=0, $minipres=false) {
if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"])))
$nom_site_spip= _T('info_mon_site_spip');
$titre = "["
. $nom_site_spip
. "]"
. ($titre ? " ".textebrut(typo($titre)):"");
return _DOCTYPE_ECRIRE
. html_lang_attributes()
. "<head>\n"
@ -45,12 +53,7 @@ function init_entete($titre='', $dummy=0, $minipres=false) {
function init_head($titre='', $dummy=0, $minipres=false) {
include_spip('inc/gadgets');
if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"])))
$nom_site_spip= _T('info_mon_site_spip');
$head = "<title>["
. $nom_site_spip
. "] " . textebrut(typo($titre)) . "</title>\n"
$head = ($titre?"<title>$titre</title>\n":"")
. "<meta http-equiv='Content-Type' content='text/html"
. (($c = $GLOBALS['meta']['charset']) ?
"; charset=$c" : '')

2
ecrire/inc_version.php

@ -262,7 +262,7 @@ $spip_pipeline = array(
'accueil_informations' => '',
# cf. public/assembler
'affichage_final' => '|f_surligne|f_tidy|f_admin',
'affichage_final_prive' => '',
'affichage_final_prive' => '|f_title_auto',
'affichage_entetes_final' => '',
'affichage_entetes_final_prive' => '',
'afficher_fiche_objet'=>'',

4
prive/squelettes/head/dist.html

@ -5,4 +5,6 @@
Distribue sous licence GPL
]
[(#REM|init_head)]
[(#REM) Si pas de title, celui ci sera mis automatiquement par f_title_auto
en capturant le premier <h1> de la page]
<INCLURE{fond=prive/squelettes/inclure/head}>

45
prive/squelettes/inclure/head.html

@ -1,45 +1,4 @@
[(#REM)
Head standard de toutes les pages ; les elements specifiques
(title, description) figurent dans le squelette article.html
Appel au script php en attendant de reecrire le head ici
]
[(#REM) Preciser le charset ]
<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
[(#REM) Fierement fabrique avec SPIP ]
<meta name="generator" content="SPIP[ (#SPIP_VERSION)]" />
[(#REM) Lien vers le flux RSS du site ]
[<link rel="alternate" type="application/rss+xml" title="<:syndiquer_site:>" href="(#URL_PAGE{backend})" />]
[(#REM) Feuille de style par defaut pour le code genere par SPIP ]
[<link rel="stylesheet" href="(#CHEMIN{spip_style.css}|direction_css)" type="text/css" media="all" />]
[(#REM) Feuille de style par defaut pour les formulaires de SPIP ]
[<link rel="stylesheet" href="(#CHEMIN{spip_formulaires.css}|direction_css)" type="text/css" media="projection, screen, tv" />]
[(#REM) Feuille de style par defaut pour les box]
[<link rel="stylesheet" href="(#CHEMIN{box.css})" type="text/css" media="projection, screen, tv" />]
[<link rel="stylesheet" href="(#CHEMIN{box_skins.css})" type="text/css" media="projection, screen, tv" />]
[(#REM) Balise permettant aux plugins d'inserer des fichiers CSS ]
#INSERT_HEAD_CSS
[(#REM) Feuille de style CSS pour l'affichage du site a l'ecran ]
[<link rel="stylesheet" href="(#CHEMIN{habillage.css}|direction_css)" type="text/css" media="projection, screen, tv" />]
[(#REM) Feuille de style CSS pour l'impression ]
[<link rel="stylesheet" href="(#CHEMIN{impression.css}|direction_css)" type="text/css" media="print" />]
[(#CHEMIN{inc-theme-head.html}|oui)
#INCLURE{fond=inc-theme-head,env}
]
[(#REM) Feuille de style personnalisee pour surcharger les precedentes
A noter par defaut cette css n'existe pas
]
[<link rel="stylesheet" href="(#CHEMIN{perso.css}|direction_css)" type="text/css" media="all" />]
[(#REM) Balise permettant aux plugins d'inserer des appels javascript ou css ;
C'est ici que SPIP va inserer l'appel de la librairie jQuery
Et appeler a la fin compacte_head pour agreger et compacter tout le head dans des fichiers statiques
si l'option est cochee dans Configuration
]
#INSERT_HEAD
[(#REM|init_head)]

2
prive/squelettes/structure.html

@ -9,4 +9,4 @@
</html>
(#EVAL{#VAL{var_zajax}|_request}|non)][
<INCLURE{fond=#VAL{prive/squelettes/}|concat{#VAL{var_zajax}|_request}|concat{'/',#ENV{type}},env}>
(#EVAL{#VAL{var_zajax}|_request}|oui)]
(#EVAL{#VAL{var_zajax}|_request}|oui)]
Loading…
Cancel
Save