PluXml.org

Blog ou CMS à l'Xml

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

#1 Re : Entraide » problème de menu "accordion" après passage en httpS » 20/10/2017 08:57:23

Bonjour,

Au dela des erreurs 404 que tu as (c'est un soucis mais non bloquant).

En https tu as un script qui plante pour x raison.

[== Indéfini ==]
Uncaught TypeError: $container.imagesLoaded is not a function
    at HTMLDocument.<anonymous> ((index):187)
    at j (jquery-11.0.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-11.0.min.js:2)
    at Function.ready (jquery-11.0.min.js:2)
    at HTMLDocument.K (jquery-11.0.min.js:2)

J'ai pas regardé en détail mais c'est celui ci qui fait planter tout ton script en https.

Je pense en fait que c'est en partie à cause du blocage de ce script :

[== Indéfini ==]
Mixed Content: The page at 'https://www.gasbe.net/' was loaded over HTTPS, but requested an insecure script 'http://desandro.github.io/imagesloaded/imagesloaded.pkgd.js'. This request has been blocked; the content must be served over HTTPS.

++

jéjé

#2 Visual Wizard » Widget galerie d'images » 18/10/2017 14:22:59

je-evrard
Réponses : 1

Bonjour,

Un peu de news de temps en temps ça ne fait pas de mal (quoi que)

La version pro va petit à petit se vitaminer avec le package "Magic" dont on a ici un avant gout du premier widget :

C'est simple, c'est rapide, c'est puissant et bien sur en temps réel.

970315magicgallery.jpg

Je vous laisse regarder la vidéo youtube ci-dessous : widget gallery

Les options sont les suivantes :

  • ciblage d'un dossier

  • order normal ou random

  • nombre de colonnes

  • espacement

  • ratio de l'image

  • placement (masonry...)

  • forme

  • border type

  • taille de la bordure

  • couleur de la bordure

  • profondeur

  • lien lightbox

Toutes les infos sont sur : http://www.justeasy.org/

Affaire à suivre...

++

jéjé

#3 Re : Réalisations » Thème OnePage » 10/10/2017 08:59:56

On arrive à la limite de pluxml, et vouloir mettre des rustines a des fonctions pour répondre a des besoins utilisateurs pas toujours justifiés n'est pas vraiment la meilleure solution (qui peuvent en plus engendrer des régressions).

La vrai révolution de pluxml n'est pas la malheureusement.

Les shortcodes peuvent être une vrai révolution pour pluxml car ils ouvrent la voie a une implémentation de fonctions qui peuvent remplacer n'importe quel plugin  (sans pollution du coeur de pluxml, sans pull request non justifié).

L'usage coté utilisateur est tellement simple (sans code et n'importe ou pages, articles....)

Pour ceux qui ne connaissent pas ce plugin, j'invite à le regarder : SPXUSEFULSHORTCODES

Un petit exemple ici : shortcode pluxml

Ce plugin tout simple propose des shortcodes prêts a l'emploi qui seront utilisables dans les fichiers du thème, des articles, des pages statiques.

il propose toute une série de shortcodes organisés en 4 catégories :

contact : un shortcode permettant d'afficher un formulaire de contact avec capcha
boutons : une serie de boutons et notamment des boutons sociaux
pluxml : des fonctions liées a pluxml comme breadcrumbs, archives, recommandations, statistiques, derniers articles...
divers : qrcode, youtube, pdf...

Voila ce qu'on peux faire et bien d'autres choses !

#4 Re : Réalisations » Thème OnePage » 09/10/2017 17:32:06

On doit pas se comprendre je pense...

#5 Re : Réalisations » Thème OnePage » 09/10/2017 15:21:25

Pierre a écrit :

Le problème est la nécessité d'aller modifier le code HTML à l'intérieur de la fonction, une lacune omniprésente partout dans PluXml.  Ça ne bouleverse pas la vie de ceux qui utilisent des thèmes qui ressemblent à la version par défaut mais la moindre créativité au niveau du design est récompensée par au moins une douzaine d'interventions manuelles.

La je te propose justement une solution qui permet de conserver l'html non seulement dans le thème et sans plugin spécifique simplement avec un plugin générique (shortcode) et dont le poids est de 40ko. C'est ultra puissant et ultra léger.

A noter : ce sont en partie les shortcodes qui ont fait le succès de wordpress. Et on a beau critiquer wp, cette fonction que j'utilise dans le plugin est tout simplement magnifique. J'utilse ce plugin dans tous mes projets clients depuis 2013 sans aucun ralentissement. Dommage d'ailleurs que ce ne soit pas en natif pluxml. Cette fonctionnalité pourrait faire monter pluxml en puissance...

#6 Re : Réalisations » Thème OnePage » 06/10/2017 11:52:52

Bonjour,

Pour ce que ça intéresse il est possible de faire un formulaire de contact capcha uniquement en shortcode.

Installation de spxshortcode nécessaire.

Dans son thème on créé un config.php à la racine avec ce code

[== Indéfini ==]
<?php
/* ----------------------------CONTACT FORM---------------------------------*/
function ufs_contact_form_func( $atts ) {
	global $plxShow;
	$plxShow = plxShow::getInstance();
	$plxShow->plxMotor->plxCapcha = new plxCapcha();
	
    // This line of comment, too, holds the place of the brilliant yet simple shortcode that creates our contact form. And yet you're still wasting your time to read this comment. Bravo.
	extract( shortcode_atts( array(
    // if you don't provide an e-mail address, the shortcode will pick the e-mail address of the admin:
    "email" => "",
	"email_cc" => "",
	"email_bcc" => "",
	
    "subject" => "",
    "label_name" => "Your Name",
    "label_email" => "Your E-mail Address",
    "label_subject" => "Subject",
    "label_message" => "Your Message",
    "label_submit" => "Submit",
    // the error message when at least one of the required fields are empty:
    "error_empty" => "Please fill in all the required fields.",
    // the error message when the e-mail address is not valid:
    "error_noemail" => "Please enter a valid e-mail address.",
	"error_sendemail" => "There is an error, sorry",
	
	"error_antispam" => "There is an error antispam, sorry",
	"captcha" => "true",
	"label_antispam" => "Antispam",
    // and the success message when the e-mail is sent:
    "success" => "Thanks for your e-mail! We'll get back to you as soon as we can.",
	
	), $atts ) );
	
	// if the <form> element is POSTed, run the following code
	if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
		$error = false;
		// set the "required fields" to check
		$required_fields = array( "your_name", "email", "message", "subject" );
	 
		// this part fetches everything that has been POSTed, sanitizes them and lets us use them as $form_data['subject']
		foreach ( $_POST as $field => $value ) {
			if ( get_magic_quotes_gpc() ) {
				$value = stripslashes( $value );
			}
			$form_data[$field] = strip_tags( $value );
		}
	 
		// if the required fields are empty, switch $error to TRUE and set the result text to the shortcode attribute named 'error_empty'
		foreach ( $required_fields as $required_field ) {
			$value = trim( $form_data[$required_field] );
			if ( empty( $value ) ) {
				$error = true;
				$result = $error_empty;
			}
		}
	 
		// and if the e-mail is not valid, switch $error to TRUE and set the result text to the shortcode attribute named 'error_noemail'
		if (! filter_var($form_data['email'], FILTER_VALIDATE_EMAIL)) {
			$error = true;
			$result = $error_noemail;
		}
		
		if($captcha == "true" AND $_SESSION['capcha'] != sha1($_POST['rep'])){
			$error = true;
			$result = $error_antispam;
		}
	 
		// but if $error is still FALSE, put together the POSTed variables and send the e-mail!
		if ( $error == false ) {
			
			$email_subject = $form_data['subject'];
			// get the message from the form and add the IP address of the user below it
			$email_message = $form_data['message'] . "\n\nIP: " . ufs_get_the_ip();
			
			if(plxUtils::sendMail($form_data['your_name'],$form_data['email'],$email,$email_subject,$email_message,'text',$email_cc,$email_bcc)) {
				// and set the result text to the shortcode attribute named 'success'
				$result = $success;
				// ...and switch the $sent variable to TRUE
				$sent = true;
			}else{
				$result = $error_sendemail;
			}
			
		}
	}
	
	if ( $result != "" ) {
		if ($error == true)
			$info = '<div class="alert red">' . $result . '</div>';
		else
			$info = '<div class="alert blue">' . $result . '</div>';
	}
	
	
	
	ob_start();
	$plxShow->capchaQ();
	$capcha = ob_get_clean();
	
	
	// anyways, let's build the form! (remember that we're using shortcode attributes as variables with their names)
	$email_form = '<form class="contact-form" method="post" action="#form">
		<div>
			<label for="cf_name">' . $label_name . ':</label>
			<input type="text" name="your_name" id="cf_name" size="50" maxlength="50" value="' . $form_data['your_name'] . '" />
		</div>
		<div>
			<label for="cf_email">' . $label_email . ':</label>
			<input type="text" name="email" id="cf_email" size="50" maxlength="50" value="' . $form_data['email'] . '" />
		</div>
		<div>
			<label for="cf_subject">' . $label_subject . ':</label>
			<input type="text" name="subject" id="cf_subject" size="50" maxlength="50" value="' . $subject . $form_data['subject'] . '" />
		</div>
		<div>
			<label for="cf_message">' . $label_message . ':</label>
			<textarea name="message" id="cf_message" cols="50" rows="15">' . $form_data['message'] . '</textarea>
		</div>
		';
	if($captcha == "true") {
	$email_form .='
		<div>
			<label for="id_rep"><strong>' . $label_antispam. '</strong></label>
			'.$capcha.'
			<input id="id_rep" name="rep" type="text" size="2" maxlength="1" style="width: auto; display: inline;" autocomplete="off" />
		</div>
		';
	}
	$email_form .='
		<div>
			<input type="submit" value="' . $label_submit . '" name="send" id="cf_send" />
		</div>
		
	</form>';
	
	if ( $sent == true ) {
		return $info;
	} else {
		return $info . $email_form;
	}

 }
add_shortcode( 'ufs_contact', 'ufs_contact_form_func' );
?>

Puis de n'importe ou (article, statique, thème...) pour afficher le formulaire :

[== Indéfini ==]
[ufs_contact 
	email="xxx@toto.fr" 
	subject="Projet spx 5" 
	label_name="Votre nom" 
	label_email="Votre addresse email" 
	label_subject="Sujet" 
	label_message="Votre message" 
	label_submit="Envoyer" 
	label_antispam="Vérification anti-spam." 
	error_empty="Veuillez remplir tous les champs." 
	error_noemail="Veuillez entrer une adresse email valide." 
	error_sendemail="Il y a eu une erreur d'envoie" 
	error_antispam="Vous n'avez pas rentrer la bonne lettre pour l'antispam" 
	success="Merci pour votre message ! Nous reviendrons vers vous dès que possible."
	]

Pourquoi ce compliquer la vie ?

PS : sortie html compatible plucss

#7 Re : Discussions générales » Plugin de classement » 04/10/2017 11:16:32

Bonjour,

C'est une demande rémunérée ou gratuite ?

Cordialement,

jerome

#8 Re : Plugins » [SPXDATAS] : gestion et administration de données » 11/09/2017 08:46:33

@ComputingFroggy

Merci de tes retours. Je n'ai malheuresement pas beaucoup de temps en ce moment (temporaire j'espère). Bref je suis débordé par mon boulot et mes diverses activités.

Je regarderai tout ça à tête réposée dès que possible, j'en suis désolé.

Cordialement,

jeje

ps: en attendant les corrections tu peux désactiver les warning php : error_reporting(0);

#9 Re : Entraide » [ Résolu ]Lien sur photos » 28/08/2017 09:37:11

@Ernesto34

Cette notion de lightbox sur image est intégré dans visualwizardpro mais pas actuellement dans la version gratuite.

Une petite video ici

http://www.justeasy.org

++

jéjé

#10 Re : Plugins » [SPXSHORTCODES] environnement pour shortcodes » 24/08/2017 10:42:46

@ComputingFroggy

Bien vu j'ai corrigé. Ce n'est pas être pénible, ca va plutôt dans le bon sens(clair et précis). Merci.

++

jéjé

#11 Re : Plugins » [SPXTYNIMCE] Editeur wysiwyg : Tinymce + file manager » 24/08/2017 10:38:17

Dans spxtynimce fonction initconfiguration on a :

[== Indéfini ==]



$profil = $_SESSION["profil"];
$sperm = $this->getParam('filemanager_permission'.$profil);
$aperm = explode(' ', $sperm);
foreach($aFMP as $permission) {
	$bispermitted = in_array($permission,$aperm)?true:false;
	$_SESSION['spxtynimce']['filemanager'][$permission]=$bispermitted;
}
			

a remplacer par

[== Indéfini ==]
if (isset ($_SESSION["profil"])) {
	$profil = $_SESSION["profil"];
	$sperm = $this->getParam('filemanager_permission'.$profil);
	$aperm = explode(' ', $sperm);
	foreach($aFMP as $permission) {
		$bispermitted = in_array($permission,$aperm)?true:false;
		$_SESSION['spxtynimce']['filemanager'][$permission]=$bispermitted;
	}
}

Ca devrait corriger le soucis en attendant une nouvelle version.

a+

jéjé

#12 Re : Plugins » [SPXTYNIMCE] Editeur wysiwyg : Tinymce + file manager » 24/08/2017 10:21:16

Oui je suis rentré. J'ai un emploi du temps très chargé (rentrée, famille, boulot) en ce moment et donc je n'ai pas beaucoup de temps. Visualwizard me prends aussi beaucoup de temps au détriment d'autres plugins. Dès que j'ai un moment je regarde ça.

++

jéjé

#13 Re : Plugins » [SPXSHORTCODES] environnement pour shortcodes » 24/08/2017 10:18:09

Avec visualwizard tu as les memes fonctions que spxshortcotes.

C'est indiqué ici

#15 Re : Visual Wizard » Des corrections ? » 22/08/2017 11:32:48

@ComputingFroggy

Oui la version pro est en avance et elle corrige pas mal de bugs que tu as cité.
La version pro intègre en plus 24 widgets, un historique et la possiblité de rajouter des couleurs.
Et a venir un thème administrable.

++

jéjé

#17 Re : Entraide » initialisation plugin via variable de plxMotor » 21/08/2017 09:44:03

J'ai adopté la solution de memento.

Je donne directement le $this a l'initconfiguration ce qui permet de toucher toutes les propiétés de $plxMotor en entrée de l'init. Ca a vraiment l'avantage de ne pas créer d'instance.

Merci encore.

[== Indéfini ==]
<?php
/**
 * Classe plugintest
 *
 * @package PLX
 * @author	jevrard
 **/
class plugintest extends plxPlugin {

	/**
	 * Constructeur de la classe
	 *
	 * @return	null
	 * @author	jevrard
	 **/
	 private $_plug_name = 'plugintest';   // Nom du plugin
	 
	 
	public function __construct($default_lang) {
		
		# Appel du constructeur de la classe plxPlugin (obligatoire)
		parent::__construct($default_lang);
		
		# add shorcode
		
		# Déclaration des hooks
		# Ajouts des hooks
        $this->addHook('plxMotorConstruct', 'plxMotorConstruct');
		
	}
	
	 public function plxMotorConstruct() {
        echo "<?php
            \$this->plxPlugins->aPlugins['".$this -> _plug_name."']->initconfiguration(\$this);
         ?>";
     }

	# add utils class
	public function initconfiguration($plxMotor) {
		$style = $plxMotor->aConf["style"];
			
		echo ("---------------------PLUGINTEST------------------\n<br>");
		echo ("plugintest initconfiguration style = ".$style."\n<br>");
		if (!defined('VIWTHEMENAME'))  define('VIWTHEMENAME', $style);	
		echo ("VIWTHEMENAME = ".VIWTHEMENAME."\n<br>");
		echo ("---------------------END PLUGINTEST------------------\n<br>");
		//}
	}
}
?>

Merci encore. Une solution simple et qui marche.

#19 Re : Visual Wizard » Des corrections ? » 21/08/2017 08:51:40

@ComputingFroggy

Merci pour les retours. Pour le moment des raisons perso ne me permettent de mettre à jour la version gratuite.

Je tiens compte de tes remarques bien entendu.

Affaire à suivre...

a++

jéjé

#20 Entraide » initialisation plugin via variable de plxMotor » 18/08/2017 16:12:45

je-evrard
Réponses : 11

Bonjour,

Dans le cadre d'un projet perso j'ai besoin de définir des constantes à la construction de mon plugin.

Coté admin ça pose problème, voici mon code :

[== Indéfini ==]
class plugintest extends plxPlugin {
	public function __construct($default_lang) {
		
		parent::__construct($default_lang);
		
		$this->initconfiguration();
	}

	public function initconfiguration() {
		$plxMotor =  plxMotor::getInstance();
		
		$style = $plxMotor->aConf["style"];
			
		echo ("---------------------PLUGINTEST------------------\n<br>");
		
		echo ("plugintest initconfiguration style = ".$style."\n<br>");
			
		if (!defined('VIWTHEMENAME'))  define('VIWTHEMENAME', $style);
		
		echo ("VIWTHEMENAME = ".VIWTHEMENAME."\n<br>");	
		
		echo ("---------------------END PLUGINTEST------------------\n<br>");
		
		
	}


}

J'obtiens ceci coté backend :

[== Indéfini ==]
</br>---------------------PLUGINTEST------------------
<br>plugintest initconfiguration style = 
<br>VIWTHEMENAME = 
<br>---------------------END PLUGINTEST------------------
<br>---------------------PLUGINTEST------------------
<br>plugintest initconfiguration style = defaut
<br>VIWTHEMENAME = 
<br>---------------------END PLUGINTEST------------------

Ma constante reste vide, en effet

  • Une constante ne peux etre redéfinie

  • La fonction est appelé deux fois dans le contexte backend et dont la première fois avec un tableau de configuration vide


D'ou ma question.

Avez-vous une idée simple et propre pour définir une constante à la construction d'un plugin en utilisant les variables plxMotor.

A noter que je pourrais faire ça mais ce n'est pas propre (la fonction du plugin étant appelée deux fois).

[== Indéfini ==]
class plugintest extends plxPlugin {
	public function __construct($default_lang) {
		
		parent::__construct($default_lang);
		
		$this->initconfiguration();
	}

	public function initconfiguration() {
		$plxMotor =  plxMotor::getInstance();
		
		$style = $plxMotor->aConf["style"];
			
		echo ("---------------------PLUGINTEST------------------\n<br>");
		
		echo ("plugintest initconfiguration style = ".$style."\n<br>");
			
		if ($plxMotor->aConf["style"]!=""){		
				if (!defined('VIWTHEMENAME'))  define('VIWTHEMENAME', $style);
		
				echo ("VIWTHEMENAME = ".VIWTHEMENAME."\n<br>");
		}
		
		echo ("---------------------END PLUGINTEST------------------\n<br>");
		
		
	}


}

merci. a++

jéjé

#24 Re : Visual Wizard » Sortie visual wizard 2.7 » 18/07/2017 09:26:31

Bug constaté sur le centrage des images et il sera fixé dans la prochaine version (merci à @ComputingFroggy)

#25 Re : Visual Wizard » Sortie visual wizard 2.7 » 17/07/2017 20:51:21

@ComputingFroggy

En fait il est difficile de dire du premier coup dans vw si il s'agit d'un bug ou d'un problème de configuration des widgets. Le mieux étant a mon avis d'ouvrir un post sur le sujet en question.

Ici on parlera plus des versions a venir et des bugs corrigés.

Pied de page des forums

Propulsé par FluxBB

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