PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → DAMIEN - insertion menu ; suite
DAMIEN - insertion menu ; suite
Iniciado por nico271, fev., 06 2006 3:11 PM - 14 respostas
Publicado em fevereiro, 06 2006 - 3:11 PM
Salut,

j'ai essayé ton astuce qui semblait judicieuse mais qui ne fonctionne pas malheureusement! je suis donc bloqué! En fait, tout vient de l'extension de la page:
que ce soit:

dans une balise <a href>Page.htm</a>
ou dans la fonction JSPageAffiche('Page.htm');

quand je test, le navigateur me redit le message d'erreur que j'ai appris par coeur sans le vouloir tellement je l'ai lu:

" Requête invalide : le contexte de page 'Page.htm' est inconnu. Vérifiez : - l'url demandée, - la validité du nom de page.
(008, ERR_BAD_PAGE) "

Donc d'après ce que je comprends, l'extension .htm n'est pas supportée lors du test. Donc j'ai essayé avec l'extension .wwh (qui est l'extension des fichiers webdev) et logiquement, ça ne fonctionne pas non plus (normal mais on sait jamais). J'ai été voir dans le répertoire de mon projet mais il y a tellement de fichiers dans tous les sens que je ne sais pas par où commencer.

Donc quelle extension faut-il donner à ces pages pour que le lien fonctionne?
Publicado em fevereiro, 06 2006 - 3:44 PM
Lol on reprend ici alors ...

Bon d apres mes tests :
Dans la fonction JSAffiche, tu dois mettre en code W-Langage
PageAffiche(MaPage) où MaPage est le nom PHYSIQUE d une page
de ton projet WebDev ! si tu veux lancer une autre page HTML, tu devras
mettre le chemin complet : par exemple si ta page se trouve dans
c:\MonSiteWeb\MonSiteWeb_WEB\PageAnnexes\MaPage.Htm, il faudra mettre
"PageAnnexes\MaPage.htm". De plus attention :
si tu es en PHP, il y aura le repertoire \FR a surement rajouter (a tester), et si
tu testes sur le serveur web, il est surement sensible a la casse, donc attention aux
majuscules !!!!

Avec la methode PageAffiche(MaPage) j ai pu remarque une erreur,
la premiere fois ca marche, la deuxieme fois il me rajoute dans l adresse
un \FR (ce qui en fait deux !!), du coup il ne trouve plus la page !
Finalament je mets direcement l url dans le HREF qui est par exemple
en local chez moi :
http://localhost/SITEPICHAVANTSURFING_WEB/FR/PAGE_Accueil.php

Il faudra donc que je change les adresses lors du deploiement !
Je vais essayer de trouver une methode plus centralisée
(si tu definis un HREF dans l entete HTM ca devrait marche ! cf un des cours)

Voila,
en ce moment j en suis a l organisation du CSS, j ai pas mal de problemes
pour adapter la largeur des cellules en fonction de la largeur du texte,
si tu as des tuyaux !

@+
Dam's
Publicado em fevereiro, 06 2006 - 4:54 PM
Ok merci ça marche une fois sur deux mais bon je vais voir en profondeur les cours sur le site que tu m'as donné...
Bon pour ton histoires de cellules qui s'agrandissent, c'est des champs de saisie ou mulitlignes, ou des cellules de tableau? Un peu de précision s'il te plaît ceci est un forum sérieux lol
Publicado em fevereiro, 06 2006 - 5:44 PM
rien à voir mais j'ai un champ interrupteur dans ma page qui, une fois coché, rend visible un champ de saisie multiligne.

voici le code, il fonctionne

SAISRENSEIGN..Visible = Vrai
SI intdate [1] = Faux ALORS
SAISRENSEIGN..Visible = Faux
FIN

seulement en mode test, a chaque fois que je coche ou décoche l'option, une nouvelle fenêtre est générée, ce que je cherche à éviter.
Je crois que mon code est un peu facile, mais comme ce n'est pas une priorité pour le moment...
T'as une idée
Publicado em fevereiro, 06 2006 - 6:28 PM
tu parles de champ multiligne ?

je crois qu on est pas sur la meme longueur d onde lol ...
Quand je parle de CSS c est la feuille de style pour mon menu !
Tiens j ai enfin trouve ce que je voulai, ca donne le copier colle a la fin de
ce message ...
J ai modifie en plus quelques proprietes directement dans les tags (pour pouvoir
mettre une bordure en bas par exemple...). On arrive a tout gerer avec ca c est
assez enorme !
Tients je te mets aussi le champ html si ca t interesse (toujours a la fin).
A noter l exemple que j utilise est celui donne ici : http://dosimple.ch/articles/Menus-dynamiques/menuHorizontal.html , il faudra prendre les javascript (a mettre dans
ton rep web) ainsi que le css du menu avec le code que je t donne, le base,
et ca devrait marcher ... (pour faire plus simple copie tout ce que te donne le site,
et modifie le menu css avec ce qui suit)



/* CSS du menu horizontal, bieler batiste */
body{
margin-top:10em;
}

menuIndicateur{
background: url(MenuDeroulantPopup.gif) center right no-repeat;
}

menu{
position:absolute;
top:0em;
left:0em;
display:inline;
margin:0;
padding:0;
width:800px; /* important for Opera7 */
height:25px;
}

menu ul{
position:absolute; /* pour sortir la liste du flux de donnée */
display:block;
width:auto;
margin:0;
padding:0;
top:0%;
left:0%;
}

menu li ul
{
position:absolute;
visibility:hidden;
top:100%;
left:auto;
margin-top:-2px;
margin-left:-105%; /* erreur sous .NET mais marche en realite*/
}

menu li li ul{
position:absolute; /* pour sortir la liste du flux de donnée */
top:auto;
left:0px;
margin-top:-19px;
margin-left:89%;
}

menu li{
list-style:none;
width:auto;
height:auto;
display:inline;
display/**/:block;
float:none;
float/**/:left;
padding:0;
top:100%;
left:0%;
}



/* correct a little IE bug */
* html .menu li li{
display:inline;
}

/* Affichage des menus entete*/
menu a
{
text-align:left;
background-color: #3399FE;
border:1px #3399FE solid;
color:#FFFFFF;
font-size:15;
font-family:Arial;
font-weight:bold;
display:inline;
width:auto;
margin-left:7px;
margin-right:7px;
text-decoration:none;
padding:2px 0;
}

/* Survol des menus entete */
menu a:hover{
background-color: #3399FE;
}

/* for a mozilla better display with key nav */
menu a:focus{
background-color: #3399FE;
}

/* hide some accessibility stuff */
menu span{
display:none;
}

/* just for fun ;) */

menu li li a
{ background-color: #8be;
border-top:0px;
border-left:1px #3399FE solid;
border-right:1px #3399FE solid;
border-bottom:0px #3399FE solid;
font-size:14;
font-family:Arial;
font-weight:normal;
width:110px;
padding-left:4px;
}

menu li li li a{
background-color: #7ad;
width:130px;
}

menu li li li li a{
background-color: #69b;
}



/* code du Champ HTML : note -> mettre une largeur suffisante du champ, avec des dimensions non variables */
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="Robots" content="follow" />
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
<!-- script du menu -->
<script type="text/javascript" src="dynMenu.js"></script>
<!-- détéction du navigateur -->
<script type="text/javascript" src="browserdetect.js"></script>
<!-- important pour que les vieux navigateurs ne comprennent pas le CSS -->
<style type="text/css">
@import "menu.css";
@import "base.css";
</style>

</HEAD>

<BODY>
<!-- liste imbriquée de liens qui fera office de menu -->
<ul id="menu">
<li><a style="background=''">PRODUITS</a>
<ul>
<li><a style="width:117;">Nos Marques</a>
<ul>
<li><a href="#" style="border-top:1px #3399FE solid;"> > Windsurf</a></li>
<li><a href="#"> > Kitesurf</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > Surf</a></li>
</ul>
</li>
<li><a style="width:117;border-bottom:1px #3399FE solid"> Nos Selections</a><
<ul>
<li><a style="border-top:1px #3399FE solid;">WindSurf ...</a></li>
<li><a href="#"> > flotteurs</a></li>
<li><a href="#"> > voiles</a></li>
<li><a href="#"> > accessoires</a></li>
<li><a> </a></li>
<li><a>Kitesurf ...</a></li>
<li><a href="#"> > planches</a></li>
<li><a href="#"> > ailes</a></li>
<li><a> </a></li>
<li><a>Surf ...</a></li>
<li><a href="#"> > fish</a></li>
<li><a href="#"> > 6/7</a></li>
<li><a href="#"> > 7/8</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > 8+</a></li>
</ul>
</li>
</ul>
</li>

<li><a style="background=''">/</a><li>
<li><a style="background=''">PACKS</a>
<ul >
<li><a href="#"> > Windsurf</a></li>
<li><a href="#"> > Kitesurf</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > Surf</a></li>
</ul>
</li>

<li><a style="background=''">/</a><li>
<li><a style="background=''">PROMOTIONS</a>
<ul>
<li><a href="#"> > Windsurf</a></li>
<li><a href="#"> > Kitesurf</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > Surf</a></li>
</ul>
</li>

<li><a style="background=''">/</a><li>
<li><a style="background=''">OCCASIONS</a>
<ul>
<li><a href="#"> > Windsurf</a></li>
<li><a href="#"> > Kitesurf</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > Surf</a></li>
</ul>
</li>

<li><a style="background=''">/</a><li>
<li><a href="#menu5" style="background=''">MAGASIN</a>
<ul>

</ul>
</li>
</ul>

<script type="text/javascript">
initMenu();
</script>

</body>
Publicado em fevereiro, 06 2006 - 6:55 PM
Encore mouaiii ...

Donc pour moi c est bon je suis arrive a ce que je voulai !

En utilisant ce que je t ai donne dans le message precedent tu
as la structure du menu (j ai mis le code HTML a la fin)...
Pour les options qui ne doivent pas renvoyer vers une page j ai mis :
HREF="", ce qui permet d avoir quand meme le pointeur et la selection ...


Pour ce qui est de la selection de la page, je rempli les tags a avec le
nom de la page qui sera generer, comme je suis en PHP c est :
NomDeLaPage.php.

Tient a titre d exemple :
<a href="Page_TransitionProduit.php?P1=4&P2=1&P3=1">
avec ? suivis de differents parametres ...

Et ca marche en local en tout cas ...
Top de chez top !
(si t es en PHP verifie le php.ini et le serveur appache.conftruc)
















/*//////////////////////////////////////////////////////////////*/
/* CODE HTML */
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="Robots" content="follow" />
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
<!-- script du menu -->
<script type="text/javascript" src="dynMenu.js"></script>
<!-- détéction du navigateur -->
<script type="text/javascript" src="browserdetect.js"></script>
<!-- important pour que les vieux navigateurs ne comprennent pas le CSS -->
<style type="text/css">
@import "menu.css";
@import "base.css";
</style>

</HEAD>

<BODY>
<!-- liste imbriquée de liens qui fera office de menu -->
<ul id="menu">
<li><a href="" style="background=''">PRODUITS</a>
<ul>
<li><a href="" style="width:117;">Nos Marques</a>
<ul>
<li><a href="#" style="border-top:1px #3399FE solid;"> > Windsurf</a></li>
<li><a href="#"> > Kitesurf</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > Surf</a></li>
</ul>
</li>
<li><a href="" style="width:117;border-bottom:1px #3399FE solid">Nos Selections</a><
<ul>
<li><a style="border-top:1px #3399FE solid;">WindSurf ...</a></li>
<li><a href="#"> > flotteurs</a></li>
<li><a href="#"> > voiles</a></li>
<li><a href="#"> > accessoires</a></li>
<li><a> </a></li>
<li><a> Kitesurf ...</a></li>
<li><a href="#"> > planches</a></li>
<li><a href="#"> > ailes</a></li>
<li><a> </a></li>
<li><a>Surf ...</a></li>
<li><a href="#"> > fish</a></li>
<li><a href="#"> > 6/7</a></li>
<li><a href="#"> > 7/8</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > 8+</a></li>
</ul>
</li>
</ul>
</li>

<li><a style="background=''">/</a><li>
<li><a href="" style="background=''">PACKS</a>
<ul >
<li><a href="Page_TransitionProduit.php?P1=4&P2=1&P3=1"> > Windsurf</a></li>
<li><a href="#"> > Kitesurf</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > Surf</a></li>
</ul>
</li>

<li><a style="background=''">/</a><li>
<li><a href="" style="background=''">PROMOTIONS</a>
<ul>
<li><a href="#"> > Windsurf</a></li>
<li><a href="#"> > Kitesurf</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > Surf</a></li>
</ul>
</li>

<li><a style="background=''">/</a><li>
<li><a href="" style="background=''">OCCASIONS</a>
<ul>
<li><a href="#"> > Windsurf</a></li>
<li><a href="#"> > Kitesurf</a></li>
<li><a href="#" style="border-bottom:1px #3399FE solid;"> > Surf</a></li>
</ul>
</li>

<li><a style="background=''">/</a><li>
<li><a href="#menu5" style="background=''">MAGASIN</a>
<ul>

</ul>
</li>
</ul>

<script type="text/javascript">
initMenu();
</script>

</body>
Publicado em fevereiro, 07 2006 - 10:02 AM
salut,
Le champ multilignes n'était qu'une parenthèse qui n'a rien à voir avec le reste (comme indiqué dans le message...). Revenons au css.
J'ai tout essayé, mis la tonne de fonction js, transformé mon menu css pour le simplifier.
J'insère dans la balise <a href = page.htm>lien</a> (toi tu as .php mais ça revient au même) .
Rien n'y fait, ça ne fonctionne pas! :(
Mais merci quand même d'avoir cherché aussi loin.

PS: si tu as des trucs pour l'histoire du champ de saisie, fais moi signe ;)

Nico
@+
Publicado em fevereiro, 07 2006 - 10:16 AM
Hello !

bon j ai teste sur le serveur web de wanadoo et ca marche aussi !
Mais dans ton code tu as au moins une erreur :

il FAUT mettre les GUILLEMENTS "" pour appeler la page !!!!!!

DONC CE N EST PAS : <a href = page.htm>lien</a>
MAIS C EST : <a href="page.htm">lien</a>

De plus il faut faire TRES attention a une chose : les serveurs sont (pour
la pluspart) sensibles a la casse !
Donc si tu as nommé ta page Page.htm, il fo absolument mettre le P majuscule !
Je viens d essayer sur mon serveur web, j ai une page nommée PAGE_Acceuil.php,
si je mets page_acceuil.php il ne la trouve pas du tout !

Voila tiens moi au courant !
Damien.
Publicado em fevereiro, 07 2006 - 10:38 AM
Merci d'avoir répondu aussi vite!

le code que j'ai donné était à titre d'exemple, les guillemets et la majuscule sont bien là.

Dans mon vrai code j'ai donc
<a href="Pagenews.htm">News</a>

Il n'y a pas d'erreur de frappe... Dis moi sais tu où ta page .php est enregistrée dans le dossier de ton projet?
Publicado em fevereiro, 07 2006 - 11:59 AM
La page PHP est dans MonRepWeb_WEB\FR ...
A priori si tu n es pas en PHP, elle devrait etre dans
MonRepWeb_WEB !!

Une idee comme ca :
Va a cette adresse la : http://www.infini-fr.com
Dans HTML, en tete du document, regarde ce qu il y a a Base.
C est la base de resolution des liens hypertextes !

Tu pourrais mettre quelque chose du genre :
<BASE Href="http://LaBonneAdresseDeBase/">
avec tes documents HTML se trouvant sous "http://LaBonneAdresseDeBase/"

A mettre bien sur dans un <HEAD> .... </HEAD> de ton champ HTML !
A noter : regarde comment est cree la page html de ton site wia wedev,
au niveau de l entetete : il y a deja peut etre une telle balise, et elle est
peut etre mal definie !!

Voila,
j espere que tu trouveras !
Damien.
Publicado em fevereiro, 07 2006 - 12:21 PM
J'ai été (re)voir le site infini et la balise <base> dont j'ignorais totalement l'existence. Je vais donc me pencher la-dessus.

Cependant mes pages ne sont pas dans mon répertoire _WEB ( ce répertoire contient toutes mes images).

Sinon je voudrais te remercier de tous tes conseils, qui m'ont beaucoup aidé.

A bientôt sur les forums

PS: si j'ai besoin de tes conseils, tous mes messages seront précédés de DAMIEN. Au cas où!

A plus
Nico
Publicado em fevereiro, 07 2006 - 3:00 PM
Mais de rien.

Sinon je te conseilles vivement de mettre tes images dans le
repertoire _WEB (ou un de ses sous repertoires). En php si tu ne
le fais pas c une galere ! En pure Webdev je ne sais pas ...

Encore un truc :
J ai un peu remanie la facon de faire le champ html pour le menu !
En fait j ai vide son contenu, et cree une fonction globale serveur
qui renvoye le texte qui doit etre mis. Une simple affectation sur
initialisation de la page permet d avoir nos beaux menus
(style MonChampHTML=MaFonctionHTML() )

En faisant ca tu peux "bidouiller dynamiquement" le contenu du champ html.
Comme tu utilises une fonction qui renvoye du texte, tu peux formater d avance
le texte tel que tu le veux, et pouvoir utiliser fRepWeb par exemple !!!
une idee a creuser aussi ... (par exemple tu pourrais faire :
"<a href='"+fRepWeb()/SousReps+"'> .....</a>" )

A+
Damien.

Ps :
dans ce cas il faut passer le champ html en dynamique
(auto ca marche aussi apparement)
Publicado em fevereiro, 07 2006 - 3:46 PM
Bon la balise base href ne marche pas non plus, mais j'ai trifouillé dans le code source et j'ai trouvé ça:

function _JSL(p,a,t,n,o)
{
a=_CFI(a);
var b=p.WD_BUTTON_CLICK_.value;p.WD_BUTTON_CLICK_.value=a;var s=1;if ((navigator.appName == 'Microsoft Internet Explorer') && (navigator.platform.substr(0, 3) == 'Mac')) s 0;
if(t=="_blank"&&o!=null)
{
var d=new Date();var e=(n!=""?n.toUpperCase():"_BLANK_"+Math.abs(Date.UTC(d.getYear(),d.getMonth(),d.getDay(),d.getHours(),d.getMinutes(),d.getSeconds())));
if(o)open("",e,o);else open("",e);t=e;
}
else if(t!="_blank"&&t!="_self"&&t!="_top"&&t!="_parent")t=t.toUpperCase();
var r=p.target;p.target=t;p.submit();
setTimeout("_JRE",s,p,r,b);
}
function _JRE(p,t,a){p.target=t;p.WD_BUTTON_CLICK_.value=a;}

qui permet apparemment de faire un lien vers une autre page (d'après ce que j'ai compris, je ne suis pas expert en js loin de là).

Et effectivement lorsque j'insère cette fonction dans la balise <a> dans ma cellule html
de cette façon
<a href="javascript:_JSL(_PAGE_,'LIEN_RST1','_self','','')">Accueil</a>

cette ligne de code, javascript:_JSL(_PAGE_,'LIEN_RST1','_self','',''), je l'ai piochée dans le même code source elle est présent sur n'importe quel champ qui dirige vers une autre page (autrement dit un lien).

Seul problème, que veut dire _PAGE_,'LIEN_RST1'? Car tant que je n'ai pas modifié ça, mes liens ne dirigeront pas vers la page voulue (si tu as suivi).

Et là j'me dis: une idée??????
Parce que moi je sèche
Publicado em fevereiro, 07 2006 - 4:39 PM
Non la franchement je n ai vraiment plus d idee !

Essaye pour voir de faire un champ HTML avec
juste un lien <a href=...> et donne l adresse d un autre site ...

Puis donne l adresse (complete) d une de tes pages !

Dans tous les cas regarde bien ce qui est marque dans la barre
d adresse en haut, ce n est que comme ca que tu pourras voir l erreur ...
(c est commce ca que j ai fait !)



Si ca ne marche pas avec un vulgaire <a>, il faudra surement faire
appel au ST !
Sinon en attendant tu n as k m envoyer ton script html (avec le css et
le javascript), j essayerai chez moi pour voir !

Mon mail :
damien.lep AT tiscali.fr
(on n a k continuer par mail, on mettra la reponse finale pour ceux que
ca interesse ...)

A+
Damien
Publicado em fevereiro, 07 2006 - 5:28 PM
Seuls problèmes:
je n'ai pas d'accès chez moi au net donc je ne peux discuter qu'a mon lieu de stage puisque je suis étudiant et je dois faire un site web dans le cadre de mon bts... donc discuter par mail bah c'est pas trop possible sauf le midi
Et mon site n'est pas encore en ligne cela va de soit

Quant à te filer mon code source, bah je peux pas te filer tout car j'ai plus de 500 lignes je vais te l'envoyer par mail si je peux ;)

Par contre je suis en train de me pencher sur mon histoire de champ multilignes ( si tu ne sais pas de quoi je parle, va voir les message précédent) mais je n'arrive pas à ne pas afficher une nouveele page web. Une idée là-dessus?

PS mon mail : nico271 AT netcourrier.com (mais je ne peux pas aller le voir tout le temps)

Nico