Emplacement des codes définis par les accolades {FORUMACTIF_DEFAULT} dans les templates
2 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Emplacement des codes définis par les accolades {FORUMACTIF_DEFAULT} dans les templates
Bonjour à tous,
J'ai une petite question somme toute assez bête, mais ou peut-on trouver le code source des accolades Forumactif qui sont dans les templates {}? Par exemple, {topics_list_box.row.TOPIC_TYPE}. Je pense que cette accolade influence plus d'un élément et plus précisément tous les préfixes des sujets pour qui l'auteur a choisi l'option "Note" ou "Annonce" ou encore "Annonce Globale". Du coup si je voulais créer une .class pour les styler différemment les uns des autres (note et les annonces), ça me prendrait les codes sources pour bien les identifier. Et cela n'est qu'un example, du coup je demande plus à "ce qu'on m'apprenne à pêcher plutôt qu'on me donne un poisson", c'est-à-dire qu'on m'indique ou trouver ce code plutôt que de simplement me donner la .class à utiliser pour cette accolade utilisée comme exemple.
J'espère que c'était assez clair.
EDIT : Ma question tiens toujours, je suis curieux de savoir si c'est possible d'influencer les accolades (qui influencent plusieurs éléments) dans les templates sans avoir recours à un script. Pour le moment en tout cas, j'ai eu recours à un script que je vais vous partager. C'est pour la version AwesomeBB.
Il faut faire très gaffe, puisque le script est très précis avec les cibles qu'on lui donne, donc les espaces et les majuscules sont pris en considération. Ce que le script ci-haut accompli c'est ce qui suit :
Cible dans le titre des sujets se trouvant entre des balises <strong> ce contenu : 'Note:' et remplace le par 'Post-It ' en plus de lui attribuer la .class '.postit' pour pouvoir styler le texte dans le CSS.
Cible dans le titre des sujets se trouvant entre des balises <strong> ce contenu : 'Annonce:' et remplace le par 'Important ' en plus de lui attribuer la .class '.important' pour pouvoir styler le texte dans le CSS.
Cible dans le titre des sujets se trouvant entre des balises <strong> ce contenu : 'Annonce Globale:' et remplace le par 'Annonce ' en plus de lui attribuer la .class '.news' pour pouvoir styler le texte dans le CSS.
J'ai une petite question somme toute assez bête, mais ou peut-on trouver le code source des accolades Forumactif qui sont dans les templates {}? Par exemple, {topics_list_box.row.TOPIC_TYPE}. Je pense que cette accolade influence plus d'un élément et plus précisément tous les préfixes des sujets pour qui l'auteur a choisi l'option "Note" ou "Annonce" ou encore "Annonce Globale". Du coup si je voulais créer une .class pour les styler différemment les uns des autres (note et les annonces), ça me prendrait les codes sources pour bien les identifier. Et cela n'est qu'un example, du coup je demande plus à "ce qu'on m'apprenne à pêcher plutôt qu'on me donne un poisson", c'est-à-dire qu'on m'indique ou trouver ce code plutôt que de simplement me donner la .class à utiliser pour cette accolade utilisée comme exemple.
J'espère que c'était assez clair.
EDIT : Ma question tiens toujours, je suis curieux de savoir si c'est possible d'influencer les accolades (qui influencent plusieurs éléments) dans les templates sans avoir recours à un script. Pour le moment en tout cas, j'ai eu recours à un script que je vais vous partager. C'est pour la version AwesomeBB.
- Code:
$(document).ready(function() {
$("div.posts-section > div.posts-content > div.posts-description > h3 > strong:contains('Note:'), div.posts-section > div.posts-content > div.posts-description > h3 > strong:contains('Annonce:'), div.posts-section > div.posts-content > div.posts-description > h3 > strong:contains('Annonce Globale:')").each(function() {
var text = $(this).text();
if (text.includes('Note:')) {
$(this).text(text.replace('Note:', 'Post-It ')).addClass('postit');
} else if (text.includes('Annonce:')) {
$(this).text(text.replace('Annonce:', 'Important ')).addClass('important');
} else if (text.includes('Annonce Globale:')) {
$(this).text(text.replace('Annonce Globale:', 'Annonce ')).addClass('news');
}
});
});
Il faut faire très gaffe, puisque le script est très précis avec les cibles qu'on lui donne, donc les espaces et les majuscules sont pris en considération. Ce que le script ci-haut accompli c'est ce qui suit :
Cible dans le titre des sujets se trouvant entre des balises <strong> ce contenu : 'Note:' et remplace le par 'Post-It ' en plus de lui attribuer la .class '.postit' pour pouvoir styler le texte dans le CSS.
Cible dans le titre des sujets se trouvant entre des balises <strong> ce contenu : 'Annonce:' et remplace le par 'Important ' en plus de lui attribuer la .class '.important' pour pouvoir styler le texte dans le CSS.
Cible dans le titre des sujets se trouvant entre des balises <strong> ce contenu : 'Annonce Globale:' et remplace le par 'Annonce ' en plus de lui attribuer la .class '.news' pour pouvoir styler le texte dans le CSS.
Dernière édition par R.P. Gryphus le Sam 18 Fév 2023 - 20:36, édité 1 fois
Re: Emplacement des codes définis par les accolades {FORUMACTIF_DEFAULT} dans les templates
Bonjour,
Il n'est effectivement pas possible de modifier le contenu interne de ce qu'on appelle les "variables de templates".
A toutes fins utiles il existe un répertoire de ces variables (qui aurait besoin d'une bonne mise à jour, mais il est déjà très complet pour les trucs qui n'ont pas bougé depuis des années ) : https://github.com/Etana/template
Toutefois, pour votre cas il est possible de vous épargner une partie du code en modifiant les libellés des sujets spéciaux directement avec l'option native disponible...
(A noter que l'appellation Post-it était celle par défaut avant et a été retirée de tous les forums basés sur phpBB -pas juste Forumactif- il y a de ça des années en raison d'une demande juridique de 3M, détentrice de la marque, pour la petite histoire ^^)
Ensuite, pour ajouter vos classes sans vous prendre la tête sur un ciblage JS, vous pouvez wrapper la variable en question dans le template : {topics_list_box.row.TOPIC_TYPE}
Ce qui donnerait par exemple :
Bonne journée
Il n'est effectivement pas possible de modifier le contenu interne de ce qu'on appelle les "variables de templates".
A toutes fins utiles il existe un répertoire de ces variables (qui aurait besoin d'une bonne mise à jour, mais il est déjà très complet pour les trucs qui n'ont pas bougé depuis des années ) : https://github.com/Etana/template
Toutefois, pour votre cas il est possible de vous épargner une partie du code en modifiant les libellés des sujets spéciaux directement avec l'option native disponible...
Vous trouverez une section pour personnaliser les libellés "Note", "Annonce" et "Annonce globale"Panneau d'administration Général Messages et Emails - Configuration
(A noter que l'appellation Post-it était celle par défaut avant et a été retirée de tous les forums basés sur phpBB -pas juste Forumactif- il y a de ça des années en raison d'une demande juridique de 3M, détentrice de la marque, pour la petite histoire ^^)
Ensuite, pour ajouter vos classes sans vous prendre la tête sur un ciblage JS, vous pouvez wrapper la variable en question dans le template : {topics_list_box.row.TOPIC_TYPE}
Ce qui donnerait par exemple :
- Code:
<span class="topictype-wrapper">{topics_list_box.row.TOPIC_TYPE}</span>
Bonne journée
Re: Emplacement des codes définis par les accolades {FORUMACTIF_DEFAULT} dans les templates
Bonjour Chattigre!
Merci de ta réponse en tout cas et n'hésite pas à me partager ce que tu penses de tout ça.
C'est bien dommage! Il serait peut-être plus sage dans ce cas que ces 'variables de templates' n'influent pas sur plus d'un élément à la fois comme les 'stickies'.chattigre a écrit:
Il n'est effectivement pas possible de modifier le contenu interne de ce qu'on appelle les "variables de templates".
Bien vu, j'avais déjà trouvé dans ma recherche pour trouver une réponse à ma question. C'est une excellente idée d'avoir un tel répertoire, mais en effet il me parait bien incomplet et une sérieuse mise-à-jour serait nécessaire pour bien expliquer le rôle ou le contenu précis de ces accolades. Déjà, ce répertoire ne devrait-il pas être héberger ici même, sur le Forum des Forums? Après, Forumactif existe depuis bien longtemps maintenant, leurs propriétaires/développeurs n'auraient-ils pas dû avoir mis un répertoire descriptif/explicatif complet à la disposition des nombreux utilisateurs de leur service? Ça me parait être la chose sensible à faire en tout cas. Ce serait vachement utile!chattigre a écrit:
A toutes fins utiles il existe un répertoire de ces variables (qui aurait besoin d'une bonne mise à jour, mais il est déjà très complet pour les trucs qui n'ont pas bougé depuis des années ) : https://github.com/Etana/template
En effet, tu as bien raison et je savais déjà comment faire. Toutefois mon objectif était de styler ces libellés et pas que simplement changer leur nom.chattigre a écrit:
Toutefois, pour votre cas il est possible de vous épargner une partie du code en modifiant les libellés des sujets spéciaux directement avec l'option native disponible...Vous trouverez une section pour personnaliser les libellés "Note", "Annonce" et "Annonce globale"Panneau d'administration Général Messages et Emails - Configuration
Et pour poursuivre ma réponse, afin de pouvoir styler ces libellés il fallu que je leur attribue une classe. Avec ce que tu proposes ici, et corriges-moi si j'ai tord, je ne parviendrais qu'à styler les libellés dans leur ensemble et non individuellement. C'est pourquoi j'ai opté pour le script du coup.chattigre a écrit:
Ensuite, pour ajouter vos classes sans vous prendre la tête sur un ciblage JS, vous pouvez wrapper la variable en question dans le template : {topics_list_box.row.TOPIC_TYPE}
Ce qui donnerait par exemple :
- Code:
<span class="topictype-wrapper">{topics_list_box.row.TOPIC_TYPE}</span>
Merci de ta réponse en tout cas et n'hésite pas à me partager ce que tu penses de tout ça.
Re: Emplacement des codes définis par les accolades {FORUMACTIF_DEFAULT} dans les templates
Re,
En revanche il y a quelques cas où une précision bien plus importante dans les classes serait effectivement utile, par exemple avoir une classe "sticky" et une classe "announce". Or, ça tombe bien, on a ces classes sous AwesomeBB
Il faut bien comprendre qu'on n'est pas dans une décomposition conditionnelle de type
C'est un choix de fonctionnement qui pourrait légitimement être débattu, mais qui n'est évidemment pas influençable ni modifiable
Ce répertoire a donc été développé il y a de ça des années par Ea -aidactif- (alias Etana), qui aujourd'hui n'a plus visiblement le temps de le maintenir.
Ca pourrait effectivement être à l'ordre du jour de le mettre à niveau, mais je te laisse imaginer le temps nécessaire à cela vu le nombre de variables multiplié par les 6 ou 7 versions de forums... Un jour, peut-être...
Et puis, pour toutes les fonctions existantes il y a quelques années, rien n'a bougé ou presque, il est toujours applicable sans problème.
Quant à l'hébergement, le volume de données à tracker fait qu'il est très bien sur Github je pense
---
Par ailleurs il y a bien plus simple en termes de JS que de se prendre le chou avec du replace textuel (cette version a l'avantage d'avoir un grand nombre de classes, même si il faut parfois jouer avec parent() et has() pour se replacer au bon niveau...)
Une fois le span ajouté dans le template :
C'est quand même beaucoup plus simple et interopérable que ta version (notamment, ça ne dépend pas de la langue de l'utilisateur) je pense.
Je reste disponible pour toute question
Bonne journée
Ben... en l’occurrence, ils n'influent que sur un élément : Le texte du type. Il y a effectivement quelques cas où une décomposition plus importante serait possible, mais ils restent assez rares.C'est bien dommage! Il serait peut-être plus sage dans ce cas que ces 'variables de templates' n'influent pas sur plus d'un élément à la fois comme les 'stickies'. Laughing
En revanche il y a quelques cas où une précision bien plus importante dans les classes serait effectivement utile, par exemple avoir une classe "sticky" et une classe "announce". Or, ça tombe bien, on a ces classes sous AwesomeBB
Il faut bien comprendre qu'on n'est pas dans une décomposition conditionnelle de type
- Code:
IF TYPE_STICKY
VAR L_TYPE_STICKY
IF TYPE_ANNOUNCE
VAR L_TYPE_ANNOUNCE
...
C'est un choix de fonctionnement qui pourrait légitimement être débattu, mais qui n'est évidemment pas influençable ni modifiable
Forumactif a toujours fonctionné sur la base de retours / productions / demandes / initaitives, etc. de ses utilisateurs.C'est une excellente idée d'avoir un tel répertoire, mais en effet il me parait bien incomplet et une sérieuse mise-à-jour serait nécessaire pour bien expliquer le rôle ou le contenu précis de ces accolades. Déjà, ce répertoire ne devrait-il pas être héberger ici même, sur le Forum des Forums? Après, Forumactif existe depuis bien longtemps maintenant, leurs propriétaires/développeurs n'auraient-ils pas dû avoir mis un répertoire descriptif/explicatif complet à la disposition des nombreux utilisateurs de leur service?
Ce répertoire a donc été développé il y a de ça des années par Ea -aidactif- (alias Etana), qui aujourd'hui n'a plus visiblement le temps de le maintenir.
Ca pourrait effectivement être à l'ordre du jour de le mettre à niveau, mais je te laisse imaginer le temps nécessaire à cela vu le nombre de variables multiplié par les 6 ou 7 versions de forums... Un jour, peut-être...
Et puis, pour toutes les fonctions existantes il y a quelques années, rien n'a bougé ou presque, il est toujours applicable sans problème.
Quant à l'hébergement, le volume de données à tracker fait qu'il est très bien sur Github je pense
---
Oui. Mais c'est quand même vachement plus simple de cibler directement une classe que quelque chose avec un sélecteur quadruplement composé de 150 caractèresEt pour poursuivre ma réponse, afin de pouvoir styler ces libellés il fallu que je leur attribue une classe. Avec ce que tu proposes ici, et corriges-moi si j'ai tord, je ne parviendrais qu'à styler les libellés dans leur ensemble et non individuellement. C'est pourquoi j'ai opté pour le script du coup.
- Code:
div.posts-section > div.posts-content > div.posts-description > h3 > strong:contains('Note:'), div.posts-section > div.posts-content > div.posts-description > h3 > strong:contains('Annonce:'), div.posts-section > div.posts-content > div.posts-description > h3 > strong:contains('Annonce Globale:')
- Code:
span.topictype-wrapper
Par ailleurs il y a bien plus simple en termes de JS que de se prendre le chou avec du replace textuel (cette version a l'avantage d'avoir un grand nombre de classes, même si il faut parfois jouer avec parent() et has() pour se replacer au bon niveau...)
Une fois le span ajouté dans le template :
- Code:
//Note
$(".posts-section").has(".posts-icon.folder_sticky").find(".topictype-wrapper").addClass("topictype-sticky");
//Annonce
$(".posts-section").has(".posts-icon.folder_announce").find(".topictype-wrapper").addClass("topictype-announce");
//Globale
$(".posts-section").has(".posts-icon.folder_global").find(".topictype-wrapper").addClass("topictype-global");
C'est quand même beaucoup plus simple et interopérable que ta version (notamment, ça ne dépend pas de la langue de l'utilisateur) je pense.
Je reste disponible pour toute question
Bonne journée
Re: Emplacement des codes définis par les accolades {FORUMACTIF_DEFAULT} dans les templates
chattigre a écrit:
- Code:
//Note
$(".posts-section").has(".posts-icon.folder_sticky").find(".topictype-wrapper").addClass("topictype-sticky");
//Annonce
$(".posts-section").has(".posts-icon.folder_announce").find(".topictype-wrapper").addClass("topictype-announce");
//Globale
$(".posts-section").has(".posts-icon.folder_global").find(".topictype-wrapper").addClass("topictype-global");
C'est quand même beaucoup plus simple et interopérable que ta version (notamment, ça ne dépend pas de la langue de l'utilisateur) je pense.
Je reste disponible pour toute question
Bonne journée
Ah bon tu vois, moi je n'avais réussi à trouver que {topics_list_box.row.TOPIC_TYPE} qui lui agi sur tous les libellés.
Je n'ai pas pensé à utiliser la .class des icônes que Forumactif met par défaut aux différents types de sujet pour sélectionner les libellés individuellement.
Et en effet, ton JS est bien plus léger et aéré que le mien et ça ne m'étonne comme ce n'est vraiment pas ma force héhé
Merci de ta réponse illuminante, c'est apprécié!
Sujets similaires
» Emplacement des codes
» [Templates] Codes templates colorés
» Modification du QEEL et variables entre accolades
» [Templates] Utilisation des variables {USER...} dans les templates
» Problème de codes dans une PA en onglets.
» [Templates] Codes templates colorés
» Modification du QEEL et variables entre accolades
» [Templates] Utilisation des variables {USER...} dans les templates
» Problème de codes dans une PA en onglets.
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum