Recherche textes 

Essai d'essais 

Et c'est ... 
Fév. 08 23

Version imprimable Récupérer une valeur VB dans un modèle

Tests de javascript

Qu'est ce qui est accessible dans un modèle VB ?


Dans un modèle VB, il y a du langage CSS (Cascading Style Sheet), définissant la mise en page de chaque élément d'une page du blog. Là aussi, il y a des variables  ou plutôt des conteneurs XML (par ex. .post-nav ), etc. Tous les éléments CSS sont normalement accessibles et "manipulables" par javascript.

Dans un modèle VB, il y a du HTML, et tous les éléments d'une page HTML sont accessibles et "manipulables" par javascript.

Dans un modèle VB, il y a un langage de programmation VB, avec des verbes (par ex. <define_macro name="">), des variables (par ex. <attribute author_url>), etc.


Le test : récupérer une variable VB


Le test consiste ici à récupérer par javascript une valeur de variable VB (une fois récupérée, on en fait ce qu'on veut).

Ça marche !

Test : dans le modèle public-itheme modif recup, on récupère dans la variable javascript glop le contenu de la variable VB <attribute author_signature>. Un script javascript compare alors glop à la chaîne de caractères "Fix". Si glop vaut "Fix", le nom de l'auteur est remplacé par "le sadique du javascript". 

Nota : ceci vaut pour la page d'accueil du blog (tous articles de cette page). Il aurait fallu une autre modification du modèle pour modifier le nom de l'auteur lorsque seul l'article est affiché sur "sa" page.


Petite conclusion


Il faudrait lister toutes les variables VB présentes dans un modèle, de façon à permettre de "voir si on peut en faire quelque chose d'intéressant". De même, dresser une liste des éléments CSS, et HTML.

Stéphane G. utilise dans ses programmes bien d'autres variables. Certaines sont affichables grâce aux "formules gourou de mots-clés" (exemple : afficher la liste des titres d'articles tagués "génial" dans la catégorie "Actualités"). Il faudrait demander à Stéphane comment accéder aux variables elles-mêmes  (des contenants) plutôt qu'aux  valeurs affichées en résultat (des contenus).

Dans un prochain article, on pourrait tester la récupération de données qui ne figurent pas "dans" le modèle VB. Par ex., des données sur une page user. Et on verra s'il est possible d'utiliser ces données dans le modèle.


Nota


Si un script dans le modèle peut récupérer des variables VB, il peut aussi injecter ces valeurs dans un formulaire ad hoc créé par le modèle dans les pages du blog.   Ce formulaire ("hidden" ...) comprendrait par ex. le nom d'utilisateur, etc. L'intérêt ? Donner aux pages du blog, par l'intermédiaire des valeurs du formulaire caché, une possibilité d'accès (par javascript etc.) aux valeurs des variables VB. 



Fév. 08 22

Version imprimable Test de document.write() dans un modèle

Tests de javascript

 Objet : tester la fonction document.write(charstring)

1) Importance de la fonction


Cette fonction javascript est importante, car elle permet d'écrire "dans" un document (une page Web) une chaîne de caractères. Combinée à des tests du genre if ...else, cela permet de faciliter la construction de la structure d'un document, et en facilite grandement la lecture.
Imaginons un document structuré ainsi :

If A {
document.write(blabla);
}
else{
document.write(bleble);
}

If B {
document.write(glouglou);
}

A et B sont des conditions à tester. blabla, bleble, glouglou sont des variables dont les contenus sont des chaînes de caractères (du texte, du HTML, du javascript, du PHP, du papou ...).

L'utilisation de variables permet de stocker "une fois pour toutes" des valeurs réutilisables autant qu'on le souhaite : quelle économie dans la rédaction ! De plus, ces variables peuvent être stockées à l'extérieur d'une page Web dans un fichier de type .js (.js : extension des fichiers texte contenant du javascript) et être ainsi utilisables par plusieurs pages Web : "standardisation" et homogénéité des pratiques ... avec une "bibliothèque" de modules ...

2) Utilisation dans un modèle VB ?

document.write() fonctionne dans les articles (pas les commentaires), les "textes" VB, les blocs libres.
Est ce que ça marche (ça  serait bien pratique !) aussi "dans" un modèle ? 

Réponse : oui ! ( ..... ouf ....). Les premiers tests montrent que ça marche. Sans doute faut-il  mettre le document.write à un endroit judicieux ... dans la partie Head (entre <Head> et </Head> ) du modèle, ça marche.

Premier test : j'ai implanté un document.write aux deux endroits du modèle qui indiquent ce qui se passe en pied d'article. Ça écrit "brolbrol"  (Nota : influence des albums de Gaston Lagaffe ? Ou tout simplement, quelque chose d'arbitraire et facilement cherchable dans le texte du modèle ) avant le nom de l'auteur de l'article. Les admin' de ce blog peuvent essayer en choisissant le modèle personnel "public-itheme modif brolbrol".

Relisez le paragraphe ci-dessus : deux endroits du modèle où on paramètre l'apparence du pied de page. Il y a sans doute une grande proportion de code semblable à ces deux endroits, Peut être même la totalité. En tout cas, c'est tentant de mettre "en commun" les portions semblables, de les mettre dans des variables javascript, et d'utiliser document.write(lavariable) pour les insérer au bon endroit.

3) Petite conclusion

Si on peut procéder ainsi ("mise en commun" des morceaux de code semblables dans tout le modèle), on pourrait disposer de modèles beaucoup plus lisibles, beaucoup plus "courts", et beaucoup plus facilement modifiables.

C'est l'une des utilisations possibles de document.write dans un modèle VB. Il y en a d'autres ...



 

Archives par mois