Vous n'êtes pas identifié(e).
Pages : 1
Je me suis lancé dans la création d'un "module" (merci JPG de l'aide) pour appeler un template autre (en fonction de la taille d'écran, du choix du visiteur, ou des besoins de la mise pages spécifique d'une rubrique...
Le but actuel est réussir à cibler un template : on ne parlera donc pas du look des essais actuels, ni de ResponsiveDesign, ni de Skin... !
--> ça se passe ici : http://www.c-too.com/cms/zite-multi-template-mobile/
Ca fonctionne !
Le site s'affiche avec son template de base par défaut.
Le site s'affiche avec le template "mobile" si on arrive dessus avec un petit écran.
Le site s'affiche avec le template "mobile" si on clique le lien correspondant (pour tester).
Le site s'affiche avec un 3eme (et plus) template si on clique un lien spécifique.
--> ces 3 liens sont en haut du site...
Problème (temporaire) :
--> mais ça ne reste pas en "mémoire" pour les autres page, pour le reste de la visite...
--> mettre ça dans un Coockie ?
A fignoler :
--> faire un fichier de conf/ini... pour configurer (variable = template), ou autre
Dernière modification par Stefpei (06/03/2013 18:46:10)
Stéphane
Webdesign AvantageWeb
Hors ligne
salut
une suggestion
est ce qu'un javascript ne ferait pas l'affaire ??
on détecte la taille de l'écran et en fonction cela choisi un template ?
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
un JavaScript.... c'est exactement ce qu'il y-a dans le template par défaut actuellement :
<script type="text/javascript">
if(window.innerWidth<800)
location="?w=sma";
</script>
il renvoie à la page ou l'on se trouve en ajoutant une variable (que le module attends)...
... mais quelque soit l'endroit ou l'on se trouve, on est renvoyé en page d'accueil !
--> peut-etre dans "location" insérer l'URL en cours ?
Stéphane
Webdesign AvantageWeb
Hors ligne
si tu veut appelé un template spécialisé il faut que le javascript soit en amont
genre un index.php !! ou dans ziteplus.php
mais si le javascript est dans le template
on peut joué avec le php du template et dire
si affichage <800 alors cette combinaison
si affichage >800 alors cette combinaison
[== Indéfini ==]
<script type="text/javascript">
if(window.innerWidth<800)
<div id="page">
<div id="top"><?php echo $this->content['pnl5'] ?></div> .....;
if(window.innerWidth>800)
<div id="page_bis">
<div id="top_bis"><?php echo $this->content['pnl5'] ?></div> .....;
</script>
à mon avis le code n'est pas bon mais voila l'idée
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
il faut que le javascript soit en amont
genre un index.php !! ou dans ziteplus.php
peut-etre une bonne idée... mais je ne veux pas intervenir dans les fichiers de Ziteplus !
A moins que le Module puisse le faire...
<script type="text/javascript">
if(window.innerWidth<800)
<div id="page".....<?php echo $this->content['pnl5'] ?></div> .....;
Là on reste dans le même template ! je sais faire, par Php, ou Mediaqueries...
Non le but est d'aller choisir un autre Template.
Stéphane
Webdesign AvantageWeb
Hors ligne
salut ta une idée en tête et pas ailleurs
alors j'ai fait un test rapide si tu change dans le fichier zdata/config.ini la ligne 8 files_template = "template.php"
par un autre template cela fonctionne !!
il faut donc que ce soit cette variable ou ce fichier qui soit modifier !!
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
salut à tu évolué dans ton module ??
ps : je ne suis pas doué en php mais
en me penchant sur le fichier config.ini je suis tombé sur la fonction php parse_ini_file
du coup je pensais pouvoir modifier ce fichier mais cela ne fonctionne pas
voici mon code qui affiche un tableau du fichier config.ini
et je pensais que define : me permettrais de changer la valeur => mais non
[== PHP ==]
<?php
define('template', 'templatesmartph');
// Analyse avec sections
$ini_array = parse_ini_file("zdata/config.ini", true);
print_r($ini_array);
?>
si quelqu'un à une soluc ?
edit : réflexion sur le module :
je me penche sur ton idée et de ce module peut en découlé plusieurs
le module dédect un type d'appareil et propose un template appropier
dans l'option page on choisis un template à appliqué à la page
etc etc ..
du coup le développement du module diffère de l'envie et du besoin
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
re
en faite j'avais casi toute les réponses à mes questions dans le module lui meme
(j'ai télécharger le ziteplus en questions avec le module)
l'idée est plaisante et je vois une grande utilité à ziteplus quand à la possibilité d'affecter un template pour un groupe de page !!
ceci avec une petite configuration simple que je vais tenté de bidouillé à mes heures perdu
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Je me suis lancé dans la création d'un "module" (merci JPG de l'aide) pour appeler un template autre (en fonction de la taille d'écran, du choix du visiteur, ou des besoins de la mise pages spécifique d'une rubrique...
Le but actuel est réussir à cibler un template : on ne parlera donc pas du look des essais actuels, ni de ResponsiveDesign, ni de Skin... !
--> ça se passe ici : http://www.c-too.com/cms/zite-multi-template-mobile/Ca fonctionne !
Le site s'affiche avec son template de base par défaut.
Le site s'affiche avec le template "mobile" si on arrive dessus avec un petit écran.
Le site s'affiche avec le template "mobile" si on clique le lien correspondant (pour tester).
Le site s'affiche avec un 3eme (et plus) template si on clique un lien spécifique.
--> ces 3 liens sont en haut du site...Problème (temporaire) :
--> mais ça ne reste pas en "mémoire" pour les autres page, pour le reste de la visite...
--> mettre ça dans un Coockie ?
Une variable de session devrait faire l'affaire.
C'est la procédure dojob() du module qui devrait faire cela.
A fignoler :
--> faire un fichier de conf/ini... pour configurer (variable = template), ou autre
un simple fichier de configuration pour le module et du prends la valeur par un getOption().
a+
Jean-Paul
ps: si tu as deux minutes, tu peux m'envoyer un zip de ta démo, je trouverai surement deux minutes aussi pour essayer le bout de code qui va bien
Hors ligne
Je pense que cette idée peut donner place à 2 modules :
- un module "Template conditionnel"
--> appelé "templatecondi"
--> un template est appelé si : taille ecran, couleurs, déficience visuelle, print, plein de conditions...
--> ce template est plutot de portée generale
- un module "Template spécifique"
--> appelé "templatespeci"
--> un template est appelé pour des besoins particuliers (rubrique différente, listing, Homepage, etc...
--> ce template est plutot restreint à 1 ou quelques pages
--> il est appelé dans une page, par exemple par le champ [cPageField1]... ou autre...
Jpg,
je te transmet en ZIP mes 2 modules en cours
--> le premier nécessite d'utiliser une session pour rester de page en page...
--> le second ne fonctionne si j'ecrit ma variable en dur, mais pas si j'essaie de recupérer [cPageField1]...
Stéphane
Webdesign AvantageWeb
Hors ligne
salutation
je serai bien intéressé par cette option
--> le premier nécessite d'utiliser une session pour rester de page en page...
tu m'avais déjà donné la soluce pour avoir un css personnalisé à l'admin
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
j'ai mis en ligne la version un site Zite+ avec la version du module de JPG :
--> http://www.c-too.com/cms/ziteplusphone_site/
avec plusieurs liens vers templates de test : mobile1, mobile2, defaut, sombre...
Les templates pour mobiles ne sont visibles que sur petit ecran...
Les templates defaut et sombre ne sont visibles que sur grand ecran...
Le code de JPG :
[== PHP ==]
<?php
/*
module: Création d'un module pour changer facilement le template de ZitePlus
Copyright Jean-Paul GIAUSSERAND 2013
Site: http://www.giausserand.fr/index.php?perma=ziteplus
Licence : Creative Commons CC-BY-NC-SA
Historique:
v1.1 11/03/13 ajout variable de session + appel depuis toute page
v1.0 création du module
*/
class Tmultitemplate extends Tmodule {
function dojob($opt="") {
parent::dojob();
if (empty(self::$cms->args[1])) {
unset($_SESSION['multitemplate']);
} else $_SESSION['multitemplate']=self::$cms->args[1];
$pageid = isset(self::$cms->args[2])?(int)self::$cms->args[2]:1;
if ($pageid<=0 || $pageid>count(self::$cms->struct)) $pageid=1;
header('Location: '.self::$cms->makeURL($pageid,true));
return '';
}
protected function Register() {self::$cms->register_event(eOutput,eBefore,$this->modulename);}
function Event($event,$mode,&$out,$opt=null) {
if ($event==eOutput && $mode==eBefore && isset($_SESSION['multitemplate'])){
switch ($_SESSION['multitemplate']) {
case 'sma' : self::$cms->config['files_template']='templatesmartph.php'; //sma = small sreen
break;
case 'aut' : self::$cms->config['files_template']='templateautre.php'; //aut = autre template
break;
default : ;
}
}
}
}
?>
Stéphane
Webdesign AvantageWeb
Hors ligne
Bonsoir,
une version un peu plus générale va suivre
a+
Jean-Paul
Hors ligne
salutation
un petit bug au module si je suis sur une page autre que la page d'accueil je ne peut changer de template par les liens
mais je ne voie pas trop l'utilité de choisir un template par lien sauf pour faire une démo de skin de ziteplus
je ne me vois pas arriver avec mon smartphone et devoir cliqué sur j'ai un smartphone pour avoir un affichage adapté
l'auto détection marche et de la page d'accueil smartphone je peux passé au template sombre
je trouve intéressant l’auto détection de l'écran et d'afficher un template approprier au support tel, tablette, pc ..
la possibilité d'avoir un template pour l'admin
la possibilité de choisir un template pour un groupe de page (dans l'administration des pages)
sinon j'ai besoin de quelque petit éclaircissement
comment le css est chargé pour chaque template ?
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Pages : 1