Créer/Ajouter BBCode
- Black_Storm
-
Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Ia perezarejaiu
15 Mar 2012 00:12 #1
par Black_Storm
Créer/Ajouter BBCode a été créé par Black_Storm
Bonsoir à tous,
J'utilise kunena depuis pas mal de temps par pur plaisir (et avant fireboard et avant joomlaboard et etc etc).
J'ai fait un site pour un ami qui a une guilde sur World of Warcraft.
Ce site tourne sous Joomla! 1.7.5 avec Kunena 1.7.2.
Tout va bien, j'ai pu faire de grandes choses avec Joomla 1.7 (j'ai trouvé les changements chouettes car mon site perso est toujours sous 1.5 et je ne le changerai pas).
Voici alors ma petite question.
Dans un besoin assez normal on va dire, la guide voudrait que je rajoute une fonction BBcode pour simplifier un type d'url.
Les URL en questions sont celles de Wowhead tooltip qui donnent, lorsqu'on pose la souris dessus, une bulle avec les informations désirées.
Dans WoWHead Tooltip, le texte est un objet du jeu et la bulle affiche les informations de cet objet.
Le truc de base qui permet d'afficher la bulle fonctionne grâce au site de WoWHead avec leurs explications.
Je voudrais maintenant simplifier le tout en permettant dans le forum d'écrire un bbcode simple qui donnera le code complet pour le message posté.
J'ai trouvé cette page web: www.icemelon.com/tutorials/21/Create_Your_Own_BBCode.htm et j'ai pris exemple des codes dessus pour créer le mien:
Je voudrais savoir où est-ce que je pourrais trouver le fichier pour le rajouter.
Le site en question: www.le-val-fleuri.net
Je vous remercie d'avance et une bien bonne nuit à tous !
Cordialement,
Black_Storm
J'utilise kunena depuis pas mal de temps par pur plaisir (et avant fireboard et avant joomlaboard et etc etc).
J'ai fait un site pour un ami qui a une guilde sur World of Warcraft.
Ce site tourne sous Joomla! 1.7.5 avec Kunena 1.7.2.
Tout va bien, j'ai pu faire de grandes choses avec Joomla 1.7 (j'ai trouvé les changements chouettes car mon site perso est toujours sous 1.5 et je ne le changerai pas).
Voici alors ma petite question.
Dans un besoin assez normal on va dire, la guide voudrait que je rajoute une fonction BBcode pour simplifier un type d'url.
Les URL en questions sont celles de Wowhead tooltip qui donnent, lorsqu'on pose la souris dessus, une bulle avec les informations désirées.
Dans WoWHead Tooltip, le texte est un objet du jeu et la bulle affiche les informations de cet objet.
Le truc de base qui permet d'afficher la bulle fonctionne grâce au site de WoWHead avec leurs explications.
Je voudrais maintenant simplifier le tout en permettant dans le forum d'écrire un bbcode simple qui donnera le code complet pour le message posté.
J'ai trouvé cette page web: www.icemelon.com/tutorials/21/Create_Your_Own_BBCode.htm et j'ai pris exemple des codes dessus pour créer le mien:
Code:
$pattern[] = '/\[wow=(.*?)\](.*?)\[\/wow\]/i';
$replace[] = '<a href="http://fr.wowhead.com/item=$1>$2</a>';
Le site en question: www.le-val-fleuri.net
Je vous remercie d'avance et une bien bonne nuit à tous !
Cordialement,
Black_Storm
Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.
- failrOn
-
- Hors Ligne
- Développeur Kunena
-
Moins
Plus d'informations
- Messages : 5408
- Remerciements reçus 733
17 Mar 2012 12:23 #2
par failrOn
Pour soutenir le projet Kunena : soutenir via le système de sponsor de github
Réponse de failrOn sur le sujet Re: Créer/Ajouter BBCode
Bonjour,
Pour la gestion des bbcodes ça se passe dans le fichier \components\com_kunena\lib\kunena.parser.php.
Par exemple ligne 603 tu ajoute :
Au milieu tu place la logique pour faire ce que tu veux. Là ça va t'afficher une url.
Pour la gestion des bbcodes ça se passe dans le fichier \components\com_kunena\lib\kunena.parser.php.
Par exemple ligne 603 tu ajoute :
Code:
case 'monbbcode' :
$tempstr = $between;
if (! preg_match ( "`^(/|index.php|https?://)`", $tempstr )) {
$tempstr = 'http://' . $tempstr;
}
$tag_new = '<a href="' . $tempstr .'" rel="nofollow" target="_blank">' . $between . '</a>';
return TAGPARSER_RET_REPLACED;
break;
Au milieu tu place la logique pour faire ce que tu veux. Là ça va t'afficher une url.
Pour soutenir le projet Kunena : soutenir via le système de sponsor de github
Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.
- Black_Storm
-
Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Ia perezarejaiu
17 Mar 2012 16:52 - 17 Mar 2012 17:00 #3
par Black_Storm
Réponse de Black_Storm sur le sujet Re: Créer/Ajouter BBCode
Bonjour,
merci de prendre le temps pour répondre à ma question.
J'ai suivi l'instruction j'ai donc été dans le fichier.
J'ai rajouté ceci:
Avec ce code je peux alors écire ce bbcode:
Pour avoir normalement ces résultats:
Mais à la place j'obtiens ceci:
Une idée où se trouve mon erreur ? Je sèche car j'ai tourné ce code dans tous les sens et j'obtiens pire, c'est ainsi que j'obtiens plus ou moins ce que je veux.
Mais je viens de voir ceci:
Donc ce que j'écris pour
me donnera en fait
.
J'ai alors cherché autre part le code qui concerne les urls
Et en cherchant 'url' j'ai trouvé ceci.
que j'ai copié/collé et transformé en:
Mais cette solution ne me donne rien, en effet, quand je tape:
Mon résultat est :
Oui, rien ne s'affiche. Je sais pas si j'ai mal fait quelque chose avec ceci mais le résultat enlève l'url.
Je suis complètement perdu
merci de prendre le temps pour répondre à ma question.
J'ai suivi l'instruction j'ai donc été dans le fichier.
J'ai rajouté ceci:
Code:
case 'wowobject' :
$tempstr = $between;
if (! preg_match ( "`^(/|index.php|https?://)`", $tempstr )) {
$tempstr = 'http://fr.wowhead.com/item=' . $tempstr;
}
$tag_new = '<a href="' . $tempstr . '" rel="nofollow" target="_blank">' . $between . '</a>';
return TAGPARSER_RET_REPLACED;
break;
case 'wowachievement' :
$tempstr = $between;
if (! preg_match ( "`^(/|index.php|https?://)`", $tempstr )) {
$tempstr = 'http://fr.wowhead.com/achievement=' . $tempstr;
}
$tag_new = '<a href="' . $tempstr . '" rel="nofollow" target="_blank">' . $between . '</a>';
return TAGPARSER_RET_REPLACED;
break;
Avec ce code je peux alors écire ce bbcode:
Code:
[wowobject=xxx]nom de l'objet[/wowobject]
[wowachievement=xxx]nom du haut-fait[/wowobject]
Code:
[url=http://fr.wowhead.com/item=xxx]nom de l'objet[/url]
[url=http://fr.wowhead.com/achievement=xxx]nom du haut-fait[/url]
Code:
[url=http://fr.wowhead.com/item=nom de l'objet]nom de l'objet[/url]
[url=http://fr.wowhead.com/achievement=nom du haut-fait]nom du haut-fait[/url]
Une idée où se trouve mon erreur ? Je sèche car j'ai tourné ce code dans tous les sens et j'obtiens pire, c'est ainsi que j'obtiens plus ou moins ce que je veux.
Mais je viens de voir ceci:
Code:
$tempstr = $between;
Code:
[url=xxx]aaa[/url]
Code:
[url=aaa]aaa[/url]
J'ai alors cherché autre part le code qui concerne les urls
Code:
[url=xxx.net]blabla[/url]
Code:
case 'url' :
$task->autolink_disable --;
if (isset ( $tag->options ['default'] )) {
$tempstr = $tag->options ['default'];
if (! preg_match ( "`^(/|index.php|https?://)`", $tempstr )) {
$tempstr = 'http://' . $tempstr;
}
$tns = '<a href="' . $tempstr . '" rel="nofollow" target="_blank">';
$tne = '</a>';
return TAGPARSER_RET_REPLACED;
}
break;
Code:
case 'wowobject1' :
$task->autolink_disable --;
if (isset ( $tag->options ['default'] )) {
$tempstr = $tag->options ['default'];
if (! preg_match ( "`^(/|index.php|https?://)`", $tempstr )) {
$tempstr = 'http://fr.wowhead.com/item=' . $tempstr;
}
$tns = '<a href="http://fr.wowhead.com/item=' . $tempstr . '" rel="nofollow" target="_blank">';
$tne = '</a>';
return TAGPARSER_RET_REPLACED;
}
break;
case 'wowachievement1' :
$task->autolink_disable --;
if (isset ( $tag->options ['default'] )) {
$tempstr = $tag->options ['default'];
if (! preg_match ( "`^(/|index.php|https?://)`", $tempstr )) {
$tempstr = 'http://fr.wowhead.com/achievement=' . $tempstr;
}
$tns = '<a href="http://fr.wowhead.com/achievement=' . $tempstr . '" rel="nofollow" target="_blank">';
$tne = '</a>';
return TAGPARSER_RET_REPLACED;
}
break;
Code:
[wowobject1=41609]Brassards de traqueur gangrené[/wowobject1]
[wowachievement1=2188]Jenkins[/wowachievement1]
Code:
Je suis complètement perdu
Dernière édition: 17 Mar 2012 17:00 par Black_Storm.
Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.
Temps de génération de la page : 0.373 secondes