SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

94 visiteurs en ce moment

fontsizeup fontsizedown
Accueil du site > Contribs > Rédaction > Affichage dans texte > Lancer popup depuis article > Raccourci typographique pour lancer une popup.
[20 commentaires]

Raccourci typographique pour lancer une popup.

Voici un raccourci typographique pour créer un lien vers une popup centrée.

dimanche 3 décembre 2006, par Philippe Multeau

1 vote

Voici une petite contrib (ma première, je débute un peu) qui permet de lancer directement depuis un article une popup centrée, grace à un raccourci typographique, un modèle et un tout petit peu de javascript dans le squelette.

Je voulais pouvoir lancer des popup à partir de liens dans le corps d’un article.

Problematique

Spip n’autorise pas de javascript dans un article, et de toute façon je devais mettre au point un système simple qui évite aux rédacteurs du site de taper des instructions barbares auquelles ils ne comprennent rien. De plus, je souhaite rester 100% dynamique, c’est à dire que même la fenêtre popup doit pouvoir contenir un article issu de la base de donnée.

La solution trouvée

- mettre l’instruction javascript dans le squelette article.html
- creer un raccourci typographique grâce aux modèles de SPIP 1.9
- lancer la fenêtre popup grace à ce raccourci typo
Voir en ligne un exemple de cette contribution.

Dans article.html

Vous devez placer cette fonction javascript juste avant la balise head.

Dans le dossier squelettes/modeles

Créez tout d’abord, si ce n’est pas déjà fait, un dossier modeles dans votre répertoire squelettes. Puis, vous y créez un fichier popup.html dans lequel vous inscrivez votre raccourci typographique.

Dans votre article

A l’endroit ou vous voulez mettre le lien vers la fenêtre popup, vous inscrivez juste le raccourci typographique popup suivi du numéro de l’article à afficher et la taille de la fenêtre en largeur et hauteur.

Exemple :

<popup2|width=300|height=400>

- Le chiffre 2 correspond au numéro de l’article à afficher dans la popup.
- width=300 indique que la fenêtre aura 300 pixels de large.
- height=400 indique que la fenêtre aura 400 pixels de haut.

Ce sera le titre de l’article qui s’affichera en lien.
Voila, c’est tout et ça marche.

Intégration au design de votre site

Je vous conseille de créer un squelette spécifique, plus épuré, pour les articles destinés à s’afficher dans la popup. La solution que j’ai adopté est un choix du squelette par mot clé "popup" assigné aux articles concernés. Je peux indiquer la marche à suivre en contib ici, s’il y a de la demande pour ça.

Cette contrib est basée sur du Javascript. Toutefois elle fonctionnera quand même sur les navigateurs qui ne lisent pas le java : les options de hauteur et de largeur ne seront simplement pas pris en compte et le lien ouvrira une nouvelle fenêtre plein écran.

Retour en haut de la page

20 Messages de forum

Voir toute la discussion

Pages 1 | 2

  • Répondre à ce message

    3 juin 18:48 , par arno2

    Je suis un vrai débutant de spip et j’ai suivi le tuto pas à pas sur spip contrib pour ouvrir une fenêtre en pop up sur un autre article. Ca marche, la fenêtre s’ouvre au centre comme prévu à la taille indiquée.

    1. Ce que je ne sais pas faire c’est épurer le fichier article.html et en enlever le header, le footer, les menus...etc (en fait, je ne sais pas quoi enlever pour ne garder que le corps de l’article dans le fichier article2.html

    2. J’ignore comment affecter aux articles destinés aux popups le mot-clé "popup". Quelle est la procédure ?

    3. Comment modifier la programmation de mon fichier article.html pour qu’il n’affiche que les articles qui n’ont pas le mot-clé "popup". S’il faut rajouter une condition au début de la boucle : SI l’article à le mot clé popup, ALORS il s’affiche avec le fichier squelette article2.html, SINON il s’affiche avec les instructions ci-dessous.

    Si c’est la syntaxe de cette condition :

    <BOUCLE_choix(ARTICLES){id_article}{titre_mot=popup}>
     <INCLURE{fond=article2}{id_article}>
    </BOUCLE_choix>

    <BOUCLE_article_normal(ARTICLES) {id_article}>

    ... le contenu habituel de ton fichier article.html

    </BOUCLE_articles_normal>
    <//B_choix>

    où, à quel endroit dans quel fichier la placer ?

    Idéalement, je souhaite connaître le développement suivre pour faire des popup avec une ou des images (et pas seulement des articles).

    J’essaie d’être le plus clair possible. Veuillez m’excuser si mes explications peuvent vous sembler confuses !

    En vous remerciant d’avance pour votre aide.

    Arno

  • Répondre à ce message

    27 février 19:47 , par nomitruk

    Bonjour,

    J’utilise SPIP 2.0 Merci pour ce script simple et efficace. J’aimerais m’en servir pour ouvrir des adresses html... Quelqu’un a une idée ?

    Merci d’avance

  • Répondre à ce message

    7 novembre 2007 12:39

    pourriez-vous dire javascript et réserver Java à l’autre langage... ils n’ont rien à voir et cela rend cela confus pour chacun.

  • Répondre à ce message

    24 août 2007 18:12 , par Eric Luyckx

    Hello, super idée…

    … mais elle ne fonctionnait pas chez moi je l’ai transformée avec le Java de Dreamweaver et ça fonctionne. voici les sources

    function MM_openBrWindow(theURL,winName,features) { //v2.0
     window.open(theURL,winName,features);
    }

    dans le "head" de l’hôte, et

    <BOUCLE_n(DOCUMENTS){id_document=#ENV{id}}{mode=document}>
    <a href="#" title="Ouvrir #TITRE dans une nouvelle fen&ecirc;tre" onclick="MM_openBrWindow('#URL_DOCUMENT','','width=#ENV{width},height=#ENV{height}')">#LOGO_DOCUMENT</a>
    </BOUCLE_n>

    dans le modèle (pour un popup sur les documents) à+ éric

  • Répondre à ce message

    19 juillet 2007 08:46 , par Magali

    Bonjour et merci pour cette contrib

    Je ne sais pas comment éditer le squelette popup.html. J’ai seulement intégré ce qui a été indiqué sur la zone html.

    Quand je mets le raccourci typo dans un article, une nouvelle fenêtre s’ouvre en effet, mais pas en popup, c’est la page entière dudit article qui s’ouvre, plein page (squelette article)

    Faut-il absolument intégrer le mot clé pour déterminer l’ouverture de popup.html ? Ce qui expliquerai que mon 1er test n’ouvre pas le squelette popup mais article, ou est-ce parce que dans ma page popup.html je n’ai pas su éditer autre chose que le code cité dans la contrib ?

    Merci

  • Répondre à ce message

    25 juin 2007 21:35

    Ouh la... ça fait lontemps que je ne me suis pas penché sur cette contrib. Elle fonctionne parfaitement sur mon site ici. Mais peut-être ais-je fait une erreur de syntaxe dans mes explications. Je regarde ça ce week-end, si j’ai le temps. Promis.

    Si d’ici là tu arrives à résoudre ton problème, fais moi signe.

    Cordialement.

  • Répondre à ce message

    25 juin 2007 15:40 , par Macsou

    Bonjour,

    J’apprécie votre contribution qui fonctionne à merveille avec un popup texte (reprise d’article). Génial et encore merci. En revanche, je rencontre une difficulté en essayant de l’adapter à d’autres documents, en l’occurence une vidéo en swf (pour reprendre votre exemple). Le code du modèle video.html que vous nous donnez ne fonctionne pas. J’ai changé #URL_ARTICLE (devant href=) par #URL_DOCUMENT (pensant à une erreur), mais dans ce cas si j’ouvre bien une nouvelle fenêtre avec mon film, la taille de la fenêtre n’est absolument pas prise en compte et pas centrer. Pouvez-vous m’éclairer ? Merci

  • Répondre à ce message

    27 mai 2007 20:33 , par Nicolas

    Bonjour. Je suis plutôt novice en matière de SPIP. J’ai trouvé cette contrib très intéressante et je souhaiterais l’utiliser non pas pour un article de mon site, mais pour une url. Est ce possible et si oui comment ? Merci

    Nicolas

  • Répondre à ce message

    1er mai 2007 13:47 , par Thierry

    En fait c’est presque bon et j’ai réglé mon problème tout seul.

    J’avais oublié de mettre la balise

    <BOUCLE_article_popup(ARTICLES) {id_article}>


    contenu de l'article

    </BOUCLE_article_popup>

    dans ma fenêtre pop-up, évidemment ça marche beaucoup mieux maintenant.

    Reste que la fonction "scrollbars=auto" ne fonctionne pas. Pourquoi ? Mystère !

  • Répondre à ce message

    30 avril 2007 19:16

    Bonjour,

    Merci pour cette contrib très intéressante. Ceci dit moi aussi j’ai le même problème de pop-up qui s’ouvre avec la mise en forme par défaut de mon article. Je croyais avoir fait les choses correctement mais qq chose m’échappe.

    Particularité de mon besoin, je souhaite que cette pop-up s’acitive non pas depuis un article mais une rubrique. J’ai bien intégré le script au-dessus du de ma rubrique. Puis j’ai créé comme indiqué un article2.hml mais ça ne fonctionne pas. Sans doute cela vient du fait que j’ai supprimé toute référence aux articles dans ma page rubrique. Je n’en veux pas puisqu’ils s’affichent dans le menu, inutile d’avoir des doublons.

    Pour voir ce que ça donne il suffit de cliquer là . Si quelqu’un peut m’aider, j’apprécierai car je tourne en rond depuis un moment.

Pages 1 | 2

Répondre à cet article

Retour en haut de la page

Ça discute par ici