PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#26 24/12/2015 13:21:47

danielsan
Membre
Lieu : Montpellier
Inscription : 18/07/2011
Messages : 1 278

Re : [Plugin] ChamPlus ou comment rajouter des champs

hello bazooka,

merci pour ce plugin qui m'évite de me replonger dans le dev ... sauf que je n'arrive pas à l'utiliser ! big_smile
je vais continuer à essayer toutes les possibilités.

Il y a cependant un petit pb d'affichage pour les champs lignes dans les articles, le champ est trop grand, j'imagine qu'il serait bien de le caler en fonction du panel admin

d'autre part, dans l'aide ça serait bien d'indiquer dans quel template utiliser tel appel de fonction

merci

Dernière modification par danielsan (24/12/2015 13:23:08)


Que l'inspiration soit avec vous, à jamais !

Hors ligne

#27 24/12/2015 16:46:22

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Bonjour @danielsan,

Dans le panneau de config du plugin, il faut cliquer sur le bouton aide et lire la doc.
Il y a quelques exemples de code (snippets), en particulier un exemple de template pour le hook champlusArticle() qui permet d'afficher n'importe quels champs d'un article en paramétrant la chaine de format. C'est une fonction assez puissante pour résoudre pas mal de probèmes d'affichage. En particulier le hook détecte pour un champ supplémentaire s'il est du type média pour afficher une image.
Quelques exemples valent souvent mieux qu'un long discours :

Concernant le petit problème d'affichage, ce n'est pas un bug du plugin, mais une fonctionnalité non documenté de Pluxml  mad
En effet, la longueur d'affichage du champ est codé en dur dans article.php. Alors que le paramètrage d'affichage est dévolu aux feuilles de style. C'est une mauvaise pratique. Si un designer veut ajuster veut modifier l'affichage, il est bloqué s'il ne veut pas mettre les mains dans le cambouis. En attendant, j'ai modifié le plugin pour prendre en compte ce bug.

Nouvelle publication du plugin ce jour. Voir lien en début du fil de discussion.

A++

Hors ligne

#28 24/12/2015 18:19:11

danielsan
Membre
Lieu : Montpellier
Inscription : 18/07/2011
Messages : 1 278

Re : [Plugin] ChamPlus ou comment rajouter des champs

ah c'est mieux là, merci.

j'avais bien lu l'aide, j'ai finalement trouvé la bonne méthode smile


Que l'inspiration soit avec vous, à jamais !

Hors ligne

#29 29/12/2015 15:28:48

danielsan
Membre
Lieu : Montpellier
Inscription : 18/07/2011
Messages : 1 278

Re : [Plugin] ChamPlus ou comment rajouter des champs

hello,

petite erreur dans l'aide :

[== PHP ==]
<pre><?php print_r(
  eval($plxShow->callHook('chamPlusList'));
); ?></pre>

il y a un point-virgule de trop (j'avais fait la même avec champArt big_smile )

[== PHP ==]
<pre><?php print_r(
  eval($plxShow->callHook('chamPlusList'))
); ?></pre>

c'est mieux
(d'ailleurs pourquoi avoir embarqué la feuille d'aide dans la page config' au lieu d'utiliser la fonction "aide" native ? )

sinon je comprends toujours pas comment récupérer la valeur d'un champ. Je passe obligatoirement par le tableau ?

[== PHP ==]
eval($plxShow->callHook('chamPlusList')));

je cherche à afficher ça :

[== PHP ==]
$format = '<a href="#art_url" title="#art_title">#art_title<span class="label">#cps_prix&nbsp;&euro;</span></a>';
eval($plxShow->callHook('chamPlusArticle', $format));

un truc simple quoi tongue


Que l'inspiration soit avec vous, à jamais !

Hors ligne

#30 06/01/2016 16:39:38

jeronicoz
Membre
Lieu : Barcelona
Inscription : 14/05/2007
Messages : 42

Re : [Plugin] ChamPlus ou comment rajouter des champs

Bonjour,

Je comptais utiliser ChamPlus pour ajouter des champs mais en fait les champs supplémentaires sont vides.
Comme danielsan je n'arrive pas à afficher les champs supplémentaires (lien et vignette).
Dans ce cas cette fonction est dans une page statique qui appelle tous les articles de la catégorie 1
Quelle est mon erreur ?
Merci

[== Indéfini ==]
<?php $plxShow->lastArtList('<a href=#art_url>
	<h1>#art_title</h1>
	<p>#art_chapo(150)</p>
	<p>#cps_lien</p>
        <p>#cps_vignette</p>
	</a>',0,'1','','sort'); ?>

Jeronicoz

Hors ligne

#31 06/01/2016 20:56:51

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Bonjour,

As-tu coché la case ci-dessous:

Copie écran config chamPlus

Ensuite en mettant $max à zéro, tu devrais rien afficher normalement

[== PHP ==]
public function lastArtList($format='<li><a href="#art_url" title="#art_title">#art_title</a></li>',$max=5,$cat_id='',$ending='', $sort='rsort')

A++

Hors ligne

#32 07/01/2016 11:37:37

jeronicoz
Membre
Lieu : Barcelona
Inscription : 14/05/2007
Messages : 42

Re : [Plugin] ChamPlus ou comment rajouter des champs

Bonjour,

Avec une nouvelle installation pluxml et ChamPlus je n'y arrive pas.
J'ai bien coché la case et renseigné les champs.
Dans les xml des articles j'ai bien le champs supplémentaire "lien" dans mon cas.
Cette page (static.php)  fonctionne sauf le champs lien :

[== PHP ==]

<?php include(dirname(__FILE__).'/header.php'); ?>

	<main class="main grid" role="main">

		<section class="col sml-12 med-8">

			<article class="article static" role="article" id="static-page-<?php echo $plxShow->staticId(); ?>">

				<header>
					<h1>
						<?php $plxShow->staticTitle(); ?>
					</h1>
				</header>

				<section>
					<?php $plxShow->staticContent(); ?>
					<?php $plxShow->lastArtList('<a href=#art_url>
	<h2>#art_title</h2>
	<p>#art_chapo(150)</p>
	<h1>#cps_lien</h1>
	</a>',0,'1','','sort');
	 ?>

				</section>

			</article>

		</section>

		<?php include(dirname(__FILE__).'/sidebar.php'); ?>

	</main>

<?php include(dirname(__FILE__).'/footer.php'); ?>

Cette page ne fonctionne pas, il y a une erreur "public" :

Parse error: syntax error, unexpected 'public' (T_PUBLIC) in blablabla on line 19

[== PHP ==]
<?php include(dirname(__FILE__).'/header.php'); ?>

	<main class="main grid" role="main">

		<section class="col sml-12 med-8">

			<article class="article static" role="article" id="static-page-<?php echo $plxShow->staticId(); ?>">

				<header>
					<h1>
						<?php $plxShow->staticTitle(); ?>
					</h1>
				</header>

				<section>
					<?php $plxShow->staticContent(); ?>

	<?php $plxShow->lastArtList('<li>#cps_lien <a class="#art_status" href="#art_url">#art_title</a></li>'."\n"); ?>
				</section>

			</article>

		</section>

		<?php include(dirname(__FILE__).'/sidebar.php'); ?>

	</main>

<?php include(dirname(__FILE__).'/footer.php'); ?>

Merci

Hors ligne

#33 07/01/2016 22:39:07

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

@jeronicoz,

Il me semble que dans un échange précèdent, tu m'avais dit utiliser PHP 5.4.
C'est toujours le cas ?

Hors ligne

#34 08/01/2016 14:12:23

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

@jeronicoz,

Effectivement, il y avait une petite erreur de frappe qui empêchait chamPlus de fonctionner correctement avec #art_chapo(150).

J'ai mis une nouvelle version en ligne (0.77) - Voir le lien pour télécharger en début du fil de discussion.
J'ai fait les essais sous Debian/Wheezy et PHP 5.4

N'oublie pas de corriger tes chaines de format. (valeur de href entre guillemets, h1 remplacé par h3, ...)
A++

Dernière modification par bazooka07 (08/01/2016 14:14:30)

Hors ligne

#35 09/01/2016 14:37:58

jeronicoz
Membre
Lieu : Barcelona
Inscription : 14/05/2007
Messages : 42

Re : [Plugin] ChamPlus ou comment rajouter des champs

Bonjour @bazooka07

Eurêka, ça fonctionne, les ChamPlus sont dans la boucle.
Pour info, je suis maintenant en PHP Version 5.5.26 et j'ai essayé en 5.6.10, ça fontionne aussi.

Par contre (et oui ça serait trop beau sinon) j'ai remarqué un truc qui est bizarre.
Je vous en fait part car je trouve ça déroutant :

J'ai ajouté deux champs, un lien et une illustration et j'ai remarqué qu'un champs dont le contenu est une image est interprété différemment :
Au départ, j'avais mis "lien" en type ligne et "illustration" en type média
Idem quand j'ai mis illustration en type ligne

Dans mon résultat j'ai un problème car "illustration" ne fonctionnait pas, et à la place d'avoir
<img src="chemin/monillustration.jpg"/> j'ai <img src=<img src="chemin/monillustration.jpg" alt="illustration" title="monillustration.jpg" />/>

Des éléments : src="" alt"" et title="" sont crée automatiquement quand une image est détectée ?
J'ai contourné ce problème comme cela :
<img src="cps_illustration" /> en #cps_illustration

[== PHP ==]
<?php include(dirname(__FILE__).'/header.php'); ?>

	<main class="main grid" role="main">

		<section class="col sml-12 med-8">

			<article class="article static" role="article" id="static-page-<?php echo $plxShow->staticId(); ?>">

				<header>
					<h1>
						<?php $plxShow->staticTitle(); ?>
					</h1>
				</header>

				<section>
					<?php $plxShow->staticContent(); ?>
					<?php $plxShow->lastArtList('<a href=#art_url>
	<h2>#art_title</h2>
        #cps_illustration
	<p>#art_chapo(150)</p>
	<a href=#cps_lien>Lien
	</a>',0,'1','','sort');
	 ?>

				</section>

			</article>

		</section>

		<?php include(dirname(__FILE__).'/sidebar.php'); ?>

	</main>

<?php include(dirname(__FILE__).'/footer.php'); ?>

Peut-on contourner ce "balisage" des images ?
Merci

Jeronicoz

Dernière modification par jeronicoz (09/01/2016 14:54:20)

Hors ligne

#36 09/01/2016 15:23:12

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Non, ce n'est pas un truc bizarre.
Le plugin est codé pour renseigner automatiquement les attributs alt et title dans la balise img qu'il crée, quand le champ est déclaré comme média.
C'est expliqué quelque part dans l'aide.
On doit normalement renseigné l'attribut alt (alternate text ou texte alternatif) qui s'affichera si le visiteur ne parvient pas à afficher l'image. De plus cela améliore le référencement.
Note qu'il en fait plus que toi !!
Pour l'instant, je ne modifie pas cette fonctionnalité.

A++

Dernière modification par bazooka07 (09/01/2016 15:23:57)

Hors ligne

#37 09/01/2016 15:46:37

jeronicoz
Membre
Lieu : Barcelona
Inscription : 14/05/2007
Messages : 42

Re : [Plugin] ChamPlus ou comment rajouter des champs

@bazooka07

Me voilà rassuré !
Par contre si j'ai bien lu l'aide les attributs ne sont déclarés que si le champ est de type média et si la valeur du champ finit par l'extension d'un fichier image, comme "jpg", "jpeg", "png" ou "gif".
Donc si je suis en type  ligne ou bloc-texte même si la valeur du champ finit par l'extension d'un fichier image les attributs ne devraient pas être déclarés ?
Merci

Jeronicoz

Hors ligne

#38 09/01/2016 16:29:10

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Oui et non.
C'est que j'avais prévu pour le hook chamPlus qui permet de n'afficher qu'un seul champ.
Par contre, j'ai zappé le truc pour lastArtPlus. Je vais corriger cela dès que possible.

Hors ligne

#39 12/01/2016 01:56:04

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Bonjour,

Mise en ligne de la version 0.80 du plugin avec les améliorations suivantes :
Prise en compte du nouveau hook plxShowLastArtListContent dans la version 5.5 de Pluxml
possibilité de désactiver l'intégration automatique des médias dans la chaine de format de la fonction $plxShow->lastArtList($format).
Si on a créé un champ de type media, avec comme nom vignette par exemple, et dont le contenu dans un article est égal à data/medias/mon_fichier.jpg et qu'on peut obtenir la taille de l'image, alors l'appel de la fonction dans le template :

[== PHP ==]
<?php $plxShow->lastArtList('#cps_vignette'); ?>

donnera le rendu suivant dans la page HTML généré :

[== HTML ==]
<img src="data/medias/mon_fichier.jpg" height="xxxx" width="yyyy" 
  title="Mon_fichier" alt="vignette" />

Dernière modification par bazooka07 (12/01/2016 01:56:24)

Hors ligne

#40 13/01/2016 15:32:51

jeronicoz
Membre
Lieu : Barcelona
Inscription : 14/05/2007
Messages : 42

Re : [Plugin] ChamPlus ou comment rajouter des champs

Bonjour,

Avec la version 0.80, j'ai une disparition des #art_chapo et des #art_content...
En revenant à la version 0.77 les contenus apparaissent.
Je reviens sur mon post précédent, cela fonctionne en local, php 5.6.10 mais pas sur le serveur OVH qui est en php 5.6.15
@bazooka07, tu parles de la version 5.5 de pluxml, c'est une béta ?
Merci

Hors ligne

#41 13/01/2016 23:59:57

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

@jeronicoz,

Je vais vérifier cela.
#art_chapo et #art_content utilisent un paramètre optionnel de longueur entre parenthèses

La version 5.5 est la version en cours de développement.
Comme pour Debian, elle sortira quand elle sera prête.
Pas mal de gens commencent à jouer mais il faut savoir qu'elle bouge fréquemment. Il faut aller sur Github si tu veux jouer.

Hors ligne

#42 14/01/2016 14:57:18

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

@jeronicoz,

Effectivement il y avait la même erreur de frappe que précèdemment. J'ai dû me mélanger un peu dans les versions.
Nouvelle version qui corrige le bug :0.81
J'ai fait un rapide test chez OVH. A priori pas de souci.

Hors ligne

#43 21/01/2016 17:25:56

jeronicoz
Membre
Lieu : Barcelona
Inscription : 14/05/2007
Messages : 42

Re : [Plugin] ChamPlus ou comment rajouter des champs

@bazooka07,

Tout fonctionne maintenant, le problème d'ovh venait de la nouvelle politique de configuration de la version php, le .ovhconfig à la racine court-circuite les versions demandées dans les .htaccess des dossiers.
Bravo et merci pour ta réactivité.

Hors ligne

#44 25/01/2016 15:05:57

MrFoufou
Membre
Inscription : 12/11/2012
Messages : 50

Re : [Plugin] ChamPlus ou comment rajouter des champs

bonjour et merci pour ce plug-in,
je me demandais : il n'est pas possible d'éditer du HTML dans un champ ajouté avec ChamPlus ? C'est uniquement pour du texte brut ou une image ?

Hors ligne

#45 11/03/2016 18:24:44

Ring
Membre
Lieu : Bretagne
Inscription : 16/02/2016
Messages : 30

Re : [Plugin] ChamPlus ou comment rajouter des champs

Bonjour Bazooka07,

Merci pour ce plugin.
J'ai créé 2 champs supplémentaires pour les articles : Sous-titre et Préface.
Après avoir investigué pendant 3 heures parce qu'il ne fonctionnait pas, j'ai relevé 2 "bugs" dans l'aide pour la mise en place du plugin :

A la place de :

[== PHP ==]
<p>
	Pour afficher des champs supplémentaire sur votre site, utiliser le hook champlus dans vos gabarits (<i>template</i>) article.php ou static.php ou categorie.php comme ci-dessous. Vous pouvez bien sûr dupliquer et renommer vos gabarits.
</p>
<pre><code><?php eval($plxShow->callHook('champlus', $params); ?>
</code></pre>
<p>

Il manque une fermeture de parenthèse à la fonction eval et, encore plus vicieux, le hook s'appelle chamPlus et non champlus !
Ce qui donne :

[== PHP ==]
<p>
	Pour afficher des champs supplémentaires sur votre site, utiliser le hook chamPlus dans vos gabarits (<i>template</i>) article.php ou static.php ou categorie.php comme ci-dessous. Vous pouvez bien sûr dupliquer et renommer vos gabarits.
</p>
<pre><code><?php eval($plxShow->callHook('chamPlus', $params)); ?>
</code></pre>
<p>

Autrement, j'ai du "bidouiller" un peu pour la présentation des champs dans l'article de admin.

En effet, 2 cas (pour les articles car je n'ai pas abordé ce plugin pour les pages statics) :
- le type de champ est une ligne => le champ est placé dans la sidebar (champ court)
- le champ est du type textarea => le champ est placé en bas du formulaire (après les vignettes)

Or, logiquement, j'ai voulu replacer mes nouveaux champs dans le bon ordre comme ceci :
* Titre de l'article
* Sous-titre de l'article
* Préface de l'article
* Chapô
* Article

Comme c'est le plugin qui modifie le formulaire admin/article et ne sachant pas comment le modifier, je suis allé directement dans le fichier admin/article faire mes modifs. Le seul problème rencontré est dans la déclaration de class="full-width" que je n'ai pas pu reconstituer pour le champ sous-titre, mais c'est du détail.

Je ne sais pas si ma remarque est pertinente et si elle pose problème pour des modifs ultérieures du plugin. En tous cas, c'est un plugin très utile.

Ma config :
- PluXml 5.5 Beta 3
- Plucss
- Hébergement OVH, PHP 5.6

Hors ligne

#46 31/03/2016 19:00:16

esando
Membre
Lieu : Avignon
Inscription : 26/03/2016
Messages : 18
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

merci @ring et @bazooka07

j'ai pu m'en sortir avec le code modifié issu de l'aide en ligne :

[== php==]
<?php
$params = array(
  'price',
  'le #label# est à <strong>#value#</strong> !'
);
eval($plxShow->callHook('chamPlus', $params));
?>

mais comment faire pour ne rien afficher si la #value# n'est pas renseignée ?

Hors ligne

#47 02/04/2016 18:08:20

esando
Membre
Lieu : Avignon
Inscription : 26/03/2016
Messages : 18
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Est-il possible d'avoir un champ bloc avec l'éditeur ckeditor pour gérer les retours chariot par exemple ?

Hors ligne

#48 03/04/2016 11:27:18

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Nouvelle version du plugin 0.85 :

@esando,
Pour répondre à ta demande, j'ai modifié le plugin pour le cas où le champ vide.
Par défaut, on affiche rien. J'ai ajouté la possibilité de passer une chaine de format comme 3ème paramètre à utiliser quand le champ est vide. Ce paramètre n'est pas obligatoire.

[== PHP ==]
<?php
$params = array(
  'price',
  'le #label# est à <strong>#value#</strong> !',
  'le #label# est vide'
);
eval($plxShow->callHook('chamPlus', $params));
?>

@Ring,
Effectivement, il y a quelques coquilles dans l'aide.
Dans la configuration du plugin, j'ai ajouté la possiblité pour les champs d'article de type <input type="text" .../> de les placer soit dans la side bar, soit dans le contenu principal. (voir liste déroulante pour chaque champ dans le panneau de config.
En ce qui concerne l'ordre des champs, la méthode employée par Pluxml pour créer l'interface de saisie d'un article ne permet pas de le modifier. Il faut modifier à la main le fichier article.php comme tu l'as fait.
Cela sera possible quand Pluxml acceptera de reprendre le principe que j'emploie dans la plupart des panneaux de config de mes plugins. A savoir une liste de champs avec leurs types qu'on parcoure pour créer l'affichage.

@esando,
Je ne connais pas Ckeditor. Il faut regarder où changer le query selector
config de ckeditor la librairie, pas le plugin
C'est comme cela que marche tinyMCE en tout cas

Merci pour vos retours

Dernière modification par bazooka07 (03/04/2016 11:27:45)

Hors ligne

#49 03/04/2016 16:29:57

esando
Membre
Lieu : Avignon
Inscription : 26/03/2016
Messages : 18
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Je vais de ce pas mettre à jour ChamPlus,
puis regarder Ckeditor et TinyMCE alors.

Autre question pour les champs,
puis-je tester en <?php if(...) ?> le contenu d'un champlus ?
Ceci pour afficher une mise en page et un codage plus particulier qui serait, donc, induit par la présence ou par l'absence (merci!) d'un contenu champlus spécifique ?

Dernière modification par esando (03/04/2016 16:31:53)

Hors ligne

#50 03/04/2016 18:35:39

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 835
Site Web

Re : [Plugin] ChamPlus ou comment rajouter des champs

Tu peux obtenir la valeur d'un chamPlus comme ceci :

[== PHP ==]
<?php
$params = array( 'price', true);
$a = $plxShow->callHook('chamPlus', $params);
?>

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés