Aperçu en mode edition

gcyrillusgcyrillus Member
mars 2007 modifié dans Archives
Bonjour,

le mode brouillons est tres interessant , malgré tout , il semble encore impossible de visualisé un article sans le mettre en ligne et dans une categorie.

Cette fonction d'aperçu serait la bienvenue.

Pour ma part , je me suis bricolé cette fonction de façon relativement simple .

1) copie du fichier index.php en preview.php

2) edition de preview.php (copie de index.php)

enlever les 2 dernieres lignes du code php :
# Insertion du template
include (PLX_DOC.'templates/'.$pluxml->style.'/template.php');
Sauvegarder

3) faire une copie du fichier template.php vers prev.php et l'editer en enlevant la partie commençant par :
<?php # En mode 'home' ou 'catégorie' # ?>

jusqu'a :

<?php # Fin mode 'article' # ?>

remplacer cette portion par :
<div id="content">
<div class="post">
<h2 class="articletitle">
	<script type="text/javascript" >
	<!--
		titre = opener.document.getElementsByName('titre')['0'];
		article=titre.value;
		document.write(article);
	-->
	</script>
</h2>
<p class="post-info">Par PREVIEW ARTICLE EN EDITION </p>
	<script type="text/javascript" >
	<!--
		chapo = opener.document.getElementsByName('chapo')['0'];
		intro=chapo.value;
		document.write(intro);
		contenu = opener.document.getElementsByName('contenu')['0'];
		textes=contenu.value;
		document.write(textes);
	-->
	</script>			
</div>
</div>
4) ajouter le contenu de ce fichier "prev.php" (attention , pas seulement la modif ci dessus qui n'aura aucun interet seul) fichier precedement creer "preview.php". Sauvegarder le fichier et garder le a la racine de votre pluxml version blog.


5) Ajouter un lien de previsualisation dans le fichier "top.php" (du repertoire admin) , dans la liste de lien deja existante (div id="navigation"):
...
<li><a href="../../preview.php" id="link_prev" title="Previsualiser l'article" onclick="window.open('../../preview.php', 
'Preview', 'height=400, width=800, top=10, left=10, toolbar=yes, menubar=no, location=no, resizable=yes, scrollbars=yes, 
status=yes');return false;">Preview</a></li>
...
sauvegarder le fichier.

6) Dernier reglage , ouvrer le fichiers admin.css et donner une icone a ce lien , j'ai choisi celle de l'image :
ex:
a#link_img , a#link_prev { background : url(img/images.png) no-repeat }

Vous devriez maintenant etre en mesure de previsualiser votre article en mode edition , dans une popup , sans même avoir a le sauvegarder et dans le style de template appliqué .
(test effectués avec des video flv et le celebre script lightbox , test concluant)

... pas trop fier de mon document.write() , mais bon :)



<edit>

autre option :

modifié le fichier index.php comme ceci (dernieres lignes).
if(!empty($_GET['apercu'])) {

# Insertion du template de preview
include (PLX_DOC.'plugins/prev.php');
} else {
# Insertion du template
include (PLX_DOC.'templates/'.$pluxml->style.'/template.php');
}
en lieu et place de :
# Insertion du template
include (PLX_DOC.'templates/'.$pluxml->style.'/template.php');
sauvegarder le fichier "template.php" modifié (comme indiqué plus haut ) dans le repertoire plugins sous le nom de "prev.php" .(creer le repertoire si besoin dans le repertoire "core )

dans le fichier top.php du repertoire admin , ajouter le lien vers le preview avec cette syntaxe :
...
<li><a href="articles.php" id="link_article" title="Créer un nouvel article">Nouvel article</a></li>
<li><a href="../../index.php?apercu=1" id="link_prev" title="Uploader et insérer une image" 

onclick="window.open('../../preview.php', 'Preview', 'height=400, width=800, top=10, left=10, toolbar=yes, menubar=no, location=no, 
resizable=yes, scrollbars=yes, status=yes');return false;">Preview</a></li>
...
cela fait l'economie du fichier preview.php a la racine

Réponses

  • LaddyLaddy Member
    excellent je testerai prochainement c'est vrai que ça manque cruellement
  • p0wp0w Member
    Merci c'est très utile ;)
  • De rien ,
    je vois que certains tentent d'essayer cette fonction en se servant du preview de mon site , ne marcheras pas , car si la popup ouverte est appelé d'un autre domaine et que le navigateur est respectueux d'un minimum de regle de securité , le preview restera vide .

    L'article en edition et la popup de preview se doivent d'etre sur le même domaine pour que cela fonctionne :)

    ... ce n'est qu'un bête javascript bien basique qui devrait passer dans tout les navigateurs.

    GC
  • HybridHybrid Member
    Ah merci, ça va m'eviter de publier, modifier, publier, modifier, etc ! :)
Connectez-vous ou Inscrivez-vous pour répondre.