Selecteur de theme dans le moteur de PluXml

Rédigé par SWD 1 commentaire
Classé dans : Codes Mots clés : Thèmes, Code, Webilitaire, Public

Sur le forum et dans l'ancien wiki se trouve un moyen d'adjoindre un outil qui permet a nos internautes de choisir le thème qu'il prèfere et de le conserver lors de ses prochaines visites.

Quelques tubes a essais plus tard voici une solution qui permet de l'adjoindre au moteur de pluXml.

Première étape :

Créer un fichier selectSkin.php dans le dossier où se trouve les plugins (en général plugins)

Placez y le code ci-dessous :

<?php
# Plugin selectSkin pour Pluxml 5
# Réalisé par Skyline (http://skyline-arts.com) 
# puis modifié par Stéphane (stephane@pluxml.org), Florent (florent@pluxml.org) et Thomas sudwebdesign.free.fr
# Distribué sous license Gnu/Gpl
# Dernière mise à jour le 10 Janvier 2019 

# <strong>Documentation</strong>
# 1. Copier ce fichier dans le dossier 'plugins/' (le créer si besoin)
# 2. Insérer le code suivant dans le fichier 'index.php' après la ligne "$plxMotor = plxMotor::getInstance();"
# code à insérer : $plxMotor = plxMotor::getInstance();
# 3. Insérer le code suivant dans le fichier 'sidebar.php' de tous les thèmes à l'endroit où doit s'afficher le sélécteur
# code à insérer : <_?php selectSkin(); ?_> (supprimer les "_") & (supprimer le style de la div : style="position:absolute;display:sticky;top:33rem;right:0;")
# 3. OU pour une <strong>manière automatique</strong>, chercher et modifier <strong>index.php</strong> juste après la ligne "eval($plxMotor->plxPlugins->callHook('ThemeEndBody'));" (hook ThemeEndBody)
# code à remplacer : $output = str_replace('</body>', selectSkin() . ob_get_clean(). '</body>', $output);

if(!empty($_GET['style'])) { # Si le formulaire est soumis
	setcookie('style', $_GET['style'], time()+3600*24*2);
	header('Location: ./');
	exit;
}
# On fait le tableau des thèmes
$thms = plxGlob::getInstance(PLX_ROOT.'themes/',true);
$a_thms = $thms->query('/(.*)/', '', 'alpha');
foreach($a_thms as $k => $v) {
	$all_styles[$v] = $v;
}
if(isset($_COOKIE['style']) && isset($all_styles[$_COOKIE['style']])) {
	$plxMotor->aConf["style"] = $plxMotor->style = $_COOKIE['style'];//baby Fix
}
function selectSkin() {
	global $plxMotor, $all_styles;
	if(isset($_COOKIE['style']))
		$select_style = $_COOKIE['style'];
	else
		$select_style = $plxMotor->style;
	echo '<div id="skinswitcher" style="position:absolute;display:sticky;top:33rem;right:0;">';
	echo '<h2>Changer de thème</h2>';
	echo '<form method="get">';
	plxUtils::printSelect('style', $all_styles, $select_style);
	echo '<input type="submit" value="ok"/>';
	echo '</form>';
	echo '</div>';
}

Note : Comme tous les thèmes sont ainsi choisissable par les visiteurs, prévoir ou créer les fichiers (spécifiques) pour chaques thèmes graphiques du site et leurs évités une erreur d'un fichier de thème inexistant.

Et +user-friendly* : avec les mêmes Crochetages (Hooks) *je propose : visitibilité

Bookmarklet qui convertis les adresse you tube en nocookie

Rédigé par SWD Aucun commentaire
Classé dans : Codes Mots clés : bookmarklet, youtube, nocookie

Glisse et dépose le lien ci-dessous ds tes marque-pages.

·!yt2nocookie iframes

Puis lors d'une visite sur une page qui "embarque" (comme ici) une ou plusieurs vidéos youtoube,
Clique sur le lien en marque page qui va modifier toutes les src des cadres (iframe) avec l'adresse de youtube-nocookie.com

cliquer sur le lien permet de voir l'effet en direct

Fil RSS des articles de cette catégorie