Aperçu en mode edition
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 :
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 :
5) Ajouter un lien de previsualisation dans le fichier "top.php" (du repertoire admin) , dans la liste de lien deja existante (div id="navigation"):
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).
dans le fichier top.php du repertoire admin , ajouter le lien vers le preview avec cette syntaxe :
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');
Sauvegarder3) 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 Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
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