[Réglé] Support des Extensions phpBBAide pour lecture lang et ext

Support pour toutes les extensions phpBB développées par notre équipe et toutes les autres.
Avatar de xpmen
Belgique xpmen
Auteur du sujet
Messages : 370
Enregistré le : 25 novembre 2018
Liquide : 2 665.20
Relax-Arcade :  3
Pays :
Belgique
Belgique

Aide pour lecture lang et ext

Message par Belgique xpmen » 30 déc. 2020, 11:00
Bonjour Sylver

je ne sais pas si je post au bon endroit pour ce genre de demande :oops: :oops:


bon j'avais 12 jours de congé qui vont bientôt ce terminé et je penser que j'aurai réussi a comprendre et réussir a faire ce que je voulez

mais non, il me reste que quelque jours et je tourne en rond, je me rend compte que je ne trouverai pas comment faire

alors pourrai tu me donner la marche a suivre pour pouvoir faire lire un fichier langue dans une ext
je sais que sa ce passe dans listener.php

mais toute mes tentatives me mène nul par

merci
pour les passionés du potager: www.hortus-meo.be
Avatar de Sylver35
France Sylver35
Administrateur du site
Messages : 771
Enregistré le : 13 janvier 2018
Liquide : 3 927.00
Relax-Arcade :  1
Localisation : Bretagne
Pays :
France
France

Aide pour lecture lang et ext

Message par France Sylver35 » 30 déc. 2020, 19:02
Bonjour xpmen,
mais non, il me reste que quelque jours et je tourne en rond, je me rend compte que je ne trouverai pas comment faire
Mon premier conseil pour créer des extensions est de piller sans vergogne les autres extensions existantes 8-)
C'est une source importante pour te faire les fonctions voulues. Tout est en licence gnu-gpl v2, le code source est partageable sans limites si tu cite tes sources.
Pa besoin de devoir réinventer sans cesse la roue, elle existe déjà, autant la réutiliser.

Donc, pour te guider, tu ouvre par exemple mon extension Breizh shoutbox, comme elle est présente un peu partout, les fichiers de langue doivent être chargés en début de session.
Toute injection de code php se fait via les events, cela est regroupé dans le dossier event de l'extension (peu importe le nom du fichier) dans la shoutbox, le fichier concerné est event/main_listener.php
Pour injecter les fichiers de langue partout, tu doit appeler l'event core.user_setup et je l'ai fait appeler la fonction load_language_on_setup
Cette fonction créée fait ajouter les fichiers shout.php et acp/info_acp_shoutbox.php

Autrement, si tu souhaite faire venir un fichier de langue dans une fonction, tu peut le faire comme dans mon extension ajax checks :

code : Tout sélectionner

$this->language->add_lang('ajaxchecks', 'sylver35/ajaxchecks');
Cela injecte le fichier de langue ajaxchecks.php de l'extension sylver35/ajaxchecks

Voilà, à toi de jouer...
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
Avatar de xpmen
Belgique xpmen
Auteur du sujet
Messages : 370
Enregistré le : 25 novembre 2018
Liquide : 2 665.20
Relax-Arcade :  3
Pays :
Belgique
Belgique

Aide pour lecture lang et ext

Message par Belgique xpmen » 01 janv. 2021, 17:56
Merci Sylver des explication

j'y est travailler hier une bonne parti de l'aprém et encore cette après-midi
j'ai réussi...
a tout casser :lol: :lol: :lol:

pas grave, mon fofo test existe pour ça ;)

la je suis un peux en overdose de listener :lol:

je vais reprendre ça demain ou dimanche
faut déjà que je répare :mrgreen:

mais je jette pas l'éponge ;)
pour les passionés du potager: www.hortus-meo.be
Avatar de Sylver35
France Sylver35
Administrateur du site
Messages : 771
Enregistré le : 13 janvier 2018
Liquide : 3 927.00
Relax-Arcade :  1
Localisation : Bretagne
Pays :
France
France

Aide pour lecture lang et ext

Message par France Sylver35 » 01 janv. 2021, 19:12
Plutôt que de faire de multiples extensions ajoutant juste quelques petites choses, je te conseille de te créer à la place une seule extension regroupant tous tes ajouts en un seul et même endroit, c'est ce que je me suis fait 8-)
Cela sera ainsi plus simple et beaucoup plus léger à charger.

De plus, une nouvelle fonction sera aussi plus simple à implémenter.
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
Avatar de xpmen
Belgique xpmen
Auteur du sujet
Messages : 370
Enregistré le : 25 novembre 2018
Liquide : 2 665.20
Relax-Arcade :  3
Pays :
Belgique
Belgique

Aide pour lecture lang et ext

Message par Belgique xpmen » 01 janv. 2021, 19:20
j’avoue pas comprendre ton message :roll:

je travail que sur une seul extension
pourquoi parle tu de plusieurs ?

les autres, je n'y touche pas (j'arrive déjà pas a faire ce que je veux avec la première, je vais surtout pas toucher aux autres)

je pourrai la laisser tel quel, elle fonctionne parfaitement pour moi
si je cherche à y faire prendre le langage, c'est uniquement par envie/vouloir le faire correctement ;)
pour les passionés du potager: www.hortus-meo.be
Avatar de Sylver35
France Sylver35
Administrateur du site
Messages : 771
Enregistré le : 13 janvier 2018
Liquide : 3 927.00
Relax-Arcade :  1
Localisation : Bretagne
Pays :
France
France

Aide pour lecture lang et ext

Message par France Sylver35 » 01 janv. 2021, 19:38
Oki, donc, pour commencer, prend exemple sur le fichier d'une de mes extensions, par exemple Breizh Smileys Category (smiliescat)
Tu doit déclarer autant de classes dans la fonction __construct() que dans le fichier config/services.yml et dans le même ordre !
Puis, l'erreur vient de la fonction commentée ligne 30
La voici corrigée appelant la fonction load_language_on_setup que tu doit ajouter après:

code : Tout sélectionner

	static public function getSubscribedEvents()
	{
		return [
			'core.user_setup'		=> 'load_language_on_setup',
		];
	}
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
Avatar de xpmen
Belgique xpmen
Auteur du sujet
Messages : 370
Enregistré le : 25 novembre 2018
Liquide : 2 665.20
Relax-Arcade :  3
Pays :
Belgique
Belgique

Aide pour lecture lang et ext

Message par Belgique xpmen » 01 janv. 2021, 20:33
merci de tes explication Sylver

bon la j'ai réparer le fofo test ;)

je reprendrai tout sa plus tard lorsque j'aurai l'esprit plus clair et calme
car la je pige encore moins qu'avant d'avoir commencer

ce sera une histoire a suivre plus tard ;) ;)

encore merci
pour les passionés du potager: www.hortus-meo.be
Avatar de Sylver35
France Sylver35
Administrateur du site
Messages : 771
Enregistré le : 13 janvier 2018
Liquide : 3 927.00
Relax-Arcade :  1
Localisation : Bretagne
Pays :
France
France

Aide pour lecture lang et ext

Message par France Sylver35 » 01 janv. 2021, 20:48
Le fonction getSubscribedEvents() que j'ai mis au dessus permet d'injecter des fonctions dans des events php.
Dans ce cas précis, l'évent core.user_setup vient dans le tout début de phpBB, c'est dans celui-ci que l'on peut injecter des fichiers de langue.
Fonction d'ajout de langue à mettre après :

code : Tout sélectionner

	public function load_language_on_setup($event)
	{
		$lang_set_ext = $event['lang_set_ext'];
		$lang_set_ext[] = [
			'ext_name' => 'xpmen/heberimage',
			'lang_set' => ['common'],
		];
		$event['lang_set_ext'] = $lang_set_ext;
	}
La fonction injecte donc le fichier de langue common.php de l'extension xpmen/heberimage

Pour info, tu l'a déjà fait dans l'extension compte à rebours... 8-)
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
Avatar de xpmen
Belgique xpmen
Auteur du sujet
Messages : 370
Enregistré le : 25 novembre 2018
Liquide : 2 665.20
Relax-Arcade :  3
Pays :
Belgique
Belgique

Aide pour lecture lang et ext

Message par Belgique xpmen » 03 janv. 2021, 10:50
bonjour

tout est régler :)
grâce aà toi Sylver, un grand merci pour ton aide et tes explications :)
pour les passionés du potager: www.hortus-meo.be