WP File Manager
Current Path:
/
home
/
argothem
/
www
/
organecyberpresse
/
plugins
/
auto
/
metasplus
/
v2.4.7
/
inclure
/
metasplus
/
Name
Action
..
auteur.html
Edit
dist.html
Edit
evenement.html
Edit
inc-dist.html
Edit
Editing: dist.html
[(#ENV{var_mode}|=={debug}|oui)#HTTP_HEADER{Content-Type:text/html}][(#ENV{debug}|oui)#HTTP_HEADER{Content-Type:text/plain}] [(#REM) Métas+ : ce squelette génère les métas pour Dublin Core, Open Graph et Twitter. Pour déboguer sur spip.php?page=inclure/metasplus/dist : - var_mode=debug pour le débug normal (sql, etc.) - debug=oui pour avoir un simple retour texte Il s'agit du squelette par défaut inclus automatiquement dans le <head>, il tente de générer au mieux les informations des pages. Ce squelette récupére les valeurs *brutes* sans appliquer aucun filtre comme |textebrut, |attribut_html ou autre. Ces filtres sont appliqués en aval dans le squelette inclus : inc-dist.tml On peut lui transmettre certaines valeurs à prendre en priorité par rapport à la récupération automatique. Il est possible de créer des variantes pour des pages précises : inclure/metasplus/{page}.html Plusieurs possibilités pour le contenu des variantes : - vide = pas de métas (voir aussi la constante _METASPLUS_PAGES_EXCLUES) - inclure ce squelette en ne transmettant *que* les paramètres à modifier - inclure inc-dist.html en transmettant *tous* les paramètres - tout faire à la main Précisions : - Sur une page d'objet, on met og-type = article par défaut - Sur une page lambda, on omet volontairement le titre et la description puisqu'on ne les connait pas, twitter et facebook se rabattent sur les metas <title> et <description>. Format des logos : https://goo.gl/L4StmD - Twitter : taille min 440 x 220 taille recommandée 506 x 253 taille max 1024 x 512 poids max 5 Mo ratio 2:1 - Facebook : pas de taille min taille recommandée > 600 x 315 ou 1200 x 630 (hidpi) poids max 8 Mo ratio 1.91:1 Contexte : - type-page - objet - id_objet - id_patate Paramètres : - debug : 'Oui' quand on débogue le squelette spip.php?page=inclure/metasplus/dist&objet=truc&id_objet=N&debug=oui - titre : Titre de la ressource - desc : Description - langue : Langue au format iso. ex. fr - territoire : Complète la langue pour former le duet langue_territoire, ex. UK Si rien n'est renseigné, on tente un lang_LANG - date : Date de publication au format Y-m-d - maj : Date de mise à jour au format Y-m-d - url : URL de la ressource - auteurs : Soit un tableau linéaires Soit des auteurs séparés par des virgules - logos : Soit un tableau de tableaux associatifs avec URL et alt #LISTE{#ARRAY{url,...,alt...},#ARRAY{url,...,alt...}} Soit des URLs séparées par des virgules - mots : Soit un tableau linéaire Soit des mots-clés séparés par des virgules - og-type : (open graph) Type de la ressource : article, profile, book, etc. - dc-type : (dublin core) Type de la ressource : Text, Event, PhysicalObject, etc. Paramètres dépréciés : - auteur => auteurs - logo => logos - lang => langue ] [(#REM) ======================================= 1. Récupération automatique des valeurs ======================================= ] [(#REM) Cas 1 : Page d'un objet éditorial ] <BOUCLE_objet(CONDITION) {si #ENV{objet}|et{#ENV{id_objet}}}> #SET{og-type_auto, article} #SET{dc-type_auto, Text} #SET{titre_auto, #INFO_TITRE{#ENV{objet},#ENV{id_objet}}|concat{" – ",#NOM_SITE_SPIP}} #SET{desc_auto, #INFO_INTRODUCTION{#ENV{objet},#ENV{id_objet}} |sinon{#INFO_DESCRIPTIF{#ENV{objet},#ENV{id_objet}}} |sinon{#INFO_CHAPO{#ENV{objet},#ENV{id_objet}}} |sinon{#INFO_TEXTE{#ENV{objet},#ENV{id_objet}}}} #SET{url_auto, #INFO_URL{#ENV{objet},#ENV{id_objet}}} #SET{date_auto, #INFO_DATE{#ENV{objet},#ENV{id_objet}}} #SET{maj_auto, #INFO_MAJ{#ENV{objet},#ENV{id_objet}}} #SET{langue_auto, #INFO_LANG{#ENV{objet},#ENV{id_objet}}|sinon{#LANG}} #SET{territoire_auto, ''} [(#REM) Les auteurs ] #SET{auteurs_auto,#ARRAY} <BOUCLE_auteurs_objet(AUTEURS) {objet} {id_objet} {par nom} {si #ENV{auteurs}|non} {si #CONFIG{metasplus/masquer_auteurs}|non} > #SET{auteurs_auto, #GET{auteurs_auto}|push{#NOM}} </BOUCLE_auteurs_objet> #SET{auteurs_auto, #NOM_SITE_SPIP} <//B_auteurs_objet> [(#REM) Les mots-clés ] #SET{mots_auto,#ARRAY} <BOUCLE_mots_objet(MOTS) {objet} {id_objet} {par titre} {si #ENV{mots}|non} > #SET{mots_auto, #GET{mots_auto}|push{#TITRE}} </BOUCLE_mots_objet> [(#REM) Les images : logo de l'objet puis images liées ] <BOUCLE_logo_objet(CONDITION){si #ENV{logos}|non}> #SET{id_rubrique,#INFO_ID_RUBRIQUE{#ENV{objet},#ENV{id_objet}}} #SET{logo_objet, #ENV{objet}|id_table_objet|quete_logo{on,#ENV{id_objet},#GET{id_rubrique,0},0}} #SET{logos_auto, #GET{logo_objet}|?{#LISTE{#ARRAY{url,#GET{logo_objet/src}}},#ARRAY}} #SET{fichier_logo,#GET{logo_objet/src}|replace{#VAL{_NOM_PERMANENTS_ACCESSIBLES}|constant}|replace{'\.\./'}|supprimer_timestamp} #SET{par,#SPIP_VERSION|floatval|>{3.1}|?{rang_lien,largeur}} #SET{defaut_tri,#ARRAY{ rang_lien, 1, largeur, -1, }} <BOUCLE_images_objet(DOCUMENTS) {objet} {id_objet} {media = image} {extension != svg} {fichier != #GET{fichier_logo}} {tri #GET{par}, #GET{defaut_tri}} {0,#GET{logos_auto}|?{2,3}} {!par largeur} {tout} > #SET{logos_auto, #GET{logos_auto}|push{#ARRAY{ url, #FICHIER, alt, #TITRE|sinon{#DESCRIPTIF}|couper{80}, }}} </BOUCLE_images_objet> </BOUCLE_logo_objet> </BOUCLE_objet> [(#REM) Cas 2 : Page lambda ] #SET{og-type_auto, website} #SET{dc-type_auto, Text} #SET{titre_auto, #ENV{type-page,sommaire}|=={sommaire}|?{#NOM_SITE_SPIP|concat{" - ",#SLOGAN_SITE_SPIP}}} #SET{desc_auto, #ENV{type-page,sommaire}|=={sommaire}|?{#DESCRIPTIF_SITE_SPIP}} #SET{url_auto, #ENV{type-page,sommaire}|=={sommaire}|?{#URL_SITE_SPIP,#URL_PAGE{#ENV{type-page}}}} #SET{date_auto, #DATE} #SET{maj_auto, ''} #SET{langue_auto, #LANG} #SET{territoire_auto, ''} #SET{auteurs_auto, #NOM_SITE_SPIP} #SET{mots_auto, ''} <//B_objet> [(#REM) Cas 1 et 2 : compléments Pas de logo ? On prend celui configuré par défaut, sinon celui du site ] [(#ENV{logos}|non|et{#GET{logos_auto}|non}|oui) #SET{logos_auto,#INFO_FICHIER{document,#CONFIG{metasplus/id_doc_logo}}|sinon{#LOGO_SITE_SPIP|extraire_attribut{src}}} ] [(#REM) ==================== 2. Code des metas ==================== ] <INCLURE{ fond=inclure/metasplus/inc-dist, titre=#ENV{titre,#GET{titre_auto}}, desc=#ENV{desc,#GET{desc_auto}}, url=#ENV{url,#GET{url_auto}}, date_pub=#ENV{date_pub,#GET{date_auto}}, maj=#ENV{maj,#GET{maj_auto}}, langue=#ENV{langue,#GET{langue_auto}}, territoire=#ENV{territoire,#GET{territoire_auto}}, og-type=#ENV{og-type,#GET{og-type_auto}}, dc-type=#ENV{dc-type,#GET{dc-type_auto}}, logos=#ENV{logos,#GET{logos_auto}}, auteurs=#ENV{auteurs,#GET{auteurs_auto}}, mots=#ENV{mots,#GET{mots_auto}}, env, }/> #FILTRE{trim}