Ok, alors il y a une modif non négligeable sur ton Jeedom quand même
Les droits ont changé avec le passage en 4.2.
Le répertoire /montheme n’est plus autorisé, il faut passer par le répertoire /data/menusNoodom et reprendre l’installation comme décrite dans les précédents posts et/ou mon github.
Par contre tu n’as pas une installation standard, tu as repris mes explications sur community pour ajouter le footer qui n’est pas intégré dans l’installation automatique. Il faudra donc faire les modifications manuellement pour ne pas écraser ta config actuelle (dont la recopie du .htaccess dans /data/menusNoodom).
Je viens de verifier, effectivement j’avais bien le dossier data/MenuNoodom, j’ai aussi dans ce dossier le .htaccess
De quelle modification manuelle parles tu ? j’avoue avoir du mal à me rappeler ce que j’ai fait à l’époque…ca a fonctionné, et je n’y ait plus remis les mains…
Est ce que je dois refaire l’install complete ? ou alors il y a juste des choses à modifier ? mon design fonctionne actuellement, mais pas d’affichage du footer uniquement.
Pour tes modifications manuelles, je parle de "footer" du fichier perso.json. Ce n’est pas dans le github du menu que je propose. Tu as donc dû suivre le tuto que je donnais sur la demande d’un utilisateur pour ajouter un footer.
Par contre, ton problème de chargement, c’est que tu as bien le répertoire /data/menusNoodom mais tu ne sembles pas l’utiliser pour charger le menu : tu as "icon": "montheme/menuJsonFsb33Frame/img/icon_camera.png",, donc tu ne pointes pas (plus) vers le bon répertoire.
Effectivement, ca me revient, à l’epoque je m’etais appuyé sur ce que tu avais proposé à @noBru77, celà impliquait également la modification du index.htm
Si je comprends bien, pour chaque appel d’un element du menu, je chargeais le design correspondant, et toujours le meme design en footer. Il restait fixe de cette maniere.
Je pense que le probleme vient de mon index ?? je pose le contenu, si tu veux bien y jeter un oeil…
<!-- @noodom / Menu menuJsonFsb33Frame : menu F$B33 avec gestion des boutons par fichier JSon et navigation par frame
- reprise du menu F$B33 simplifié par @salvialf
- ajout de la gestion des boutons par un paramétrage JSon
- ajout de la navigation par frame à l'aide de htmlDisplay
- Installation du menu : https://github.com/noodom/jeedom_menus/blob/master/menuJsonFsb33Frame/README.md
- Pensez au café pour les nuits blanches de codage ;) https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=noodom.fr%40gmail.com¤cy_code=EUR&source=url
-->
<link href="data/menusNoodom/menuJsonFsb33Frame/css/perso.css" rel="stylesheet" type="text/css">
<div class="menu_top">
</div>
<script id="menuFSB33-js">
$(document).ready(function () {
let jsonPath = 'data/menusNoodom/menuJsonFsb33Frame/json/perso.json';
let menuTop = $('.menu_top');
let link_id = (location.search.split('link_id' + '=')[1] || '').split('&')[0];
menuTop.append('Chargement du menu..');
// load Json configuration file (perso.json)
// uses cache
//$.getJSON(jsonPath, function (data) {
// force reload at loading : Date()).getTime(), every minute : Date()).getMinutes(), every hour : Date()).getHours(), every day : Date()).getDay(), ..
$.getJSON(jsonPath + '?v=' + (new Date()).getTime(), function (data) {
let buttons = data.buttons.map(function (button) {
return '<a id="' + button.link + '" onClick="gotoPlan(this.id)">'
+ '<li class="monmenu">'
+ '<div class="imagette"><img src="' + button.icon + '" height=50px width=50px></div></br>'
+ '</li>'
+ '</a>';
});
menuTop.empty();
if (buttons.length) {
let listButtons = buttons.join(' ');
let menuList = $('<ul class="monmenu" />').html(listButtons);
menuTop.append(menuList);
}
if (data.parameters) {
// menu parameters
let htmlDisplayId = '[data-eqlogic_id="#id#"]';
$(htmlDisplayId)[0].style.left = data.parameters.menu_x ? data.parameters.menu_x : "0px";
$(htmlDisplayId)[0].style.top = data.parameters.menu_y ? data.parameters.menu_y : "0px";
$(htmlDisplayId)[0].style.width = data.parameters.menu_width ? data.parameters.menu_width : "1280px";
$(htmlDisplayId)[0].style.height = data.parameters.menu_height ? data.parameters.menu_height : "70px";
// frame parameters
$("#menuFrame").offsetParent().style().left = data.parameters.content_x ? data.parameters.content_x : "0px";
$("#menuFrame").offsetParent().style().top = data.parameters.content_y ? data.parameters.content_y : "70px";
$("#menuFrame").offsetParent().style().width = data.parameters.content_width ? data.parameters.content_width : "1280px";
$("#menuFrame").offsetParent().style().height = data.parameters.content_height ? data.parameters.content_height : "580px";
// footer frame parameters
$("#menuFooter").offsetParent().style().left = data.parameters.footer_x ? data.parameters.footer_x : "0px";
$("#menuFooter").offsetParent().style().top = data.parameters.footer_y ? data.parameters.footer_y : "650px";
$("#menuFooter").offsetParent().style().width = data.parameters.footer_width ? data.parameters.footer_width : "1280px";
$("#menuFooter").offsetParent().style().height = data.parameters.footer_height ? data.parameters.footer_height : "150px";
}
let frameDestination = document.getElementById('menuFrame');
if (frameDestination == null) {
// no frame navigation : focus on button with url parameter plan_id as id
let planID = '#' + (location.search.split('plan_id' + '=')[1] || '').split('&')[0];
$(planID + ' li').addClass('selected'); // selected = classe CSS sur élément actif
}
else {
if (link_id == "") {
// frame navigation : set focus on first button
$('#' + data.buttons[0].link + ' li').click();
}
else {
// frame navigation : goto design id (url parameter link_id)
gotoPlan(link_id);
}
}
});
});
// create url destination
function getUrlDestination(urlParam) {
if (isNaN(urlParam)) {
return urlParam;
} else {
return 'index.php?v=d&p=plan&plan_id=' + urlParam + '&fullscreen=1';
}
}
// menu redirection
function gotoPlan(id) {
let urlDestination = getUrlDestination(id);
// get frame in htmlDisplay equipment
let frameDestination = document.getElementById('menuFrame');
let frameDestinationFooter = document.getElementById('menuFooter');
if (frameDestination == null) {
// no frame : page redirection
planHeader_id = id;
displayPlan();
}
else {
// display focus
$('.monmenu').removeClass('selected');
$('#' + id + ' li').addClass('selected');
// frame redirection
if (frameDestination.src.split('?')[1] != urlDestination.split('?')[1]) {
frameDestination.src = urlDestination;
}
// frame footer redirection
if (frameDestinationFooter.src.split('?')[1] != urlDestinationFooter.split('?')[1]) {
frameDestinationFooter.src = urlDestinationFooter;
}
}
}
//# sourceURL=menuFSB33.js
</script>
Il faut aller dans l’ordre avant d’analyser le code modifié.
Tu ne m’as pas dit ce qui posait problème à part que ça ne fonctionne plus. Il m’en faut plus pour savoir ce qui ne fonctionne pas et voir ce qui peut poser problème (des erreurs dans le log du navigateur comme des problèmes de droits, de chargement de fichiers, … ?)
Sinon, je te remontais un problème de configuration : dans ton perso.json, tu pointes vers /montheme et pas /data/menusNoodom donc ça doit bloquer le chargement.
Ensuite si toujours ko, on pourra regarder au niveau du code.
C’est vrai, je reprends dans l’ordre…
Mon design fonctionne hormis le footer qui ne s’affiche plus. J’avais suivi les recommandations que tu avais faites à @noBru77.
Concernant l’erreur de liens dans perso.json, je viens de faire les modifs, je pointe a nouveau dans le bon repertoire. Ca n’etait pas bloquant car j’avais encore les anciens dossiers dans /montheme/
Voilà ce que je peux voir aussi :
Parfait !! ca fonctionne à nouveau ! merci.
Dernier petit point, il me reste le scroll vertical + lateral sur mon main frame…sais tu comment le supprimer ?
En jouant avec la taille dans perso.json, ça devrait pouvoir se corriger. Il faut retirer quelques pixels et tester jusqu’à ne pas avoir de scroll (si Le design de contenu n’est pas trop grand bien entendu)
C’est Ok !!! en fait j’avais simplement une image de fond qui faisait que la taille était mauvaise, je l’ai redimensionné et tout est bon !
Autre chose, je ne sais aps si je suis ua bon endroit, je cherche aussi a pouvoir lancer des applications depuis un « raccourci » sur mon design. Par exemple, un raccourci « sonos » me permet de lancer l’appli sonos sur ma tablette. Est ce que je peux trouver des infos sur le sujet quelque part ?
Oui j’ai déjà fullyKiosk sur ma tablette et c’est dailleur ce qui me sert à lancer mon design. Je souhaite que les raccourcis vers ces applis soit directement integré à mon design…voilà un screen de mon design actuel, les icones sont pretes, mais ne renvoie vers rien…
Depuis l’api FK tu peux lancer des appli ou APK. Etant en cours de p1ssage sur HA je sais plus si c est natif ou non depuis le plugin FK d’avoir l’acces a ces commandes. Si ca l’est pas tu pourr1s facilement les rajouter dans le plugin script via un appel api rest sur FK.
Ensuite sir ton design il suffit de faire un bouton sui appel sur click la commande précédemment crée
Les tailles que tu as indiquées ne devraient pas poser de problèmes mais j’imagine que si tu remontes ce post, c’est que ça ne doit pas être le cas Peux-tu préciser le comportement ?
Hello @noodom ,
Merci pour ta réponse.
Cela fait suite à mon échange sur Discord.
J’ai agrandi mon design pour correspondre à mon nouveau téléphone. J’ai un sycript html qui doit adapter pour les écrans plus petit.
Sauf que cela ne fonctionne pas.
Du coup, je suis en train de reprendre un peu à zéro pour savoir si j’ai bien tout mis comme il faut et voir si c’est finalement pas un mauvais paramètre dans le perso.json qui pose problème.
Mon écran fait 448/998.
Le menu Noodom fait 448/104.
Que dois-je indiquer dans le fichier json et quel doit être la taille de mes design (menu et content) ?
Merci
Le paramétrage que tu donnes devrait donc être ok (avec un contenu plus petit que la taille de l’écran avec la valeur 894)
Mais l’idée :
taile du menu : menu_width x menu_height
taille du contenu lié à la navigation sur les boutons : content_width x content_height
Si ça ne remonte pas correctement, à voir si c’est un problème lié au mobile ou un souci du menu, une limitation de la taille minimale ?
C’est ok pour ton utilisation sur PC avec les dimensions adaptées évidemment ?
Et sinon, l’affichage sur PC avec les tailles de ton exemple du mobile s’affiche correctement ?
EDIT : je n’avais pas remarqué ton menu_y. Tu affiches donc ton menu en bas de l’écran. Je testerai avec cette config.
Tu parles d’un script HTML.
Actuellement, l’exemple que tu as mis ne l’utilise pas ? Tu cherches juste à tester les bonnes coordonnées finales ?
Il fait quoi, comment et où, ce script ? (peut-être plus d’infos sur le Discord, je retournerai voir)
Bonjour à tous, Bonjour @noodom,
J’ai viré le script.
Je me demande si avec ton menu, il n’est pas possible directement d’afficher mon design 448/998 sur un écran 412x915.
Je bidouille le noodom_content, mais sans grand succès.