getParam depuis une class enfant
Bonjour,
Pour un de mes plugins j'ai besoin d'atteindre la fonction $plxPlugin->getParam() depuis une classe enfant. Pourquoi enfant ? Mon plugin est découpé en plusieurs class et je les charge dans la class principal du plugin.
// Class principal class portail extends plxPlugin { private $_database = false; private $_portailUtils = false; public $_portailExports = false; private $_portailClients = false; private $_portailAdv = false; private $_portailCrm = false; private $_xlsxWriter = false; public function __construct($lang) { parent::__construct($lang); $this->setConfigProfil(PROFIL_ADMIN); [...] if(!class_exists('portailUtils')) { die('class portailUtils absent'); } $this->_portailUtils = new portailUtils($this->_database); if(!class_exists('xlsxWriter')) { die('class xlsxWriter absent'); } $this->_xlsxWriter = new xlsxWriter(); [...] // class enfant class portailCrm { public function __construct($database, $xlsWriter, $portailUtils, $portailClients, $portailAdv) { $this->database = $database; $this->_xlsxWriter = $xlsxWriter; $this->_portailUtils = $portailUtils; $this->_portailClients = $portailClients; $this->_portailAdv = $portailAdv; } [...] public function formRecherchePdv($value) { global $plxShow, $plxMotor, $plxPlugin; $error = false; echo <<<EOF <script> $(function() { $("#client_search").autocomplete({ minLength: 3, source: function(request, response) { $.ajax({ url: '{$plxPlugin->getParam('jqueryurl')}', --> C'est ici que j'ai besoin de la config cache: false, dataType: "json", data: { term: request.term, a: 'searchpdv', j: '1', rep: '{$_SESSION['portail']['rep0']}', maxRows: '20' }, [...]
Comment faire pour accéder à aux paramètres ?
P.S. : désolé je n'ai pas réussi à utiliser les balises de code :(
EDIT (@Kube17): J'ai réussi pour toi 😉
J'ai un string de l'array
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Slt flipflip
Je saisi le $plxShow, le $plxMotor. mais $plxPlugin me semble inutile a ce niveau... (et peut-être les autres)
Lorsque l'on est dans une fonction de la classe principale on utilise le $this->getParam() pour accéder au paramètres, remplace $plxPlugin par ça
et cela doit rouler ;)
[édit] en fait en relisant il faudrait en savoir plus ... et arriver que la classe enfant soit au courant de la classe parent, ce qui pourrai donner :
Bon dev
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
Merci @Kube17 ;) Je dois vraiment être quiche mais même pour cette réponse je ne trouve pas comment mettre la balise code :)
J'ai essayé ça :
$this->portail->getParam('jqueryurl');
$portail->getParam('jqueryurl');
Dans les logs apache j'ai :
PHP Fatal error: Call to a member function getParam() on null
Je vois pas trop d'autres façons de faire :(
J'ai un string de l'array
Slt @flipflip
Il y a 2 possibilités...
Cela devrai faire l'affaire.
Et pour afficher en mode code ds le forum :
colle ton code, sélectionne le et sur la gauche (au milieu de ta sélection et ds le gris a l’extérieur de l'éditeur) clique sur l’icône paragraphe ¶ qui ouvre un sous menu, clique sur l’icône citer “ et là se trouve l’icône code </>
😉
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président