- Posts: 263
- Thank you received: 11
Surcharge de class hikashopRadioCheck
12 years 8 months ago #140040
by Flooder
Surcharge de class hikashopRadioCheck was created by Flooder
Question piège!
Si je veux faire une surcharge de la classe hikashopRadioCheck de …../classes/field.php, on dirait que ça fonctionne bien dans un plug-in avec :
Ce code ne devrait-il pas aussi fonctionner si je l'écris dans templates/../html/com_hikashop/administrator/classes/field.override.php ?
Merci
Si je veux faire une surcharge de la classe hikashopRadioCheck de …../classes/field.php, on dirait que ça fonctionne bien dans un plug-in avec :
Code:
$fichier = rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'classes'.DS.'field.php';
include_once($fichier);
class hikashopRadioCheckOverride extends hikashopRadioCheck {
….
}
Ce code ne devrait-il pas aussi fonctionner si je l'écris dans templates/../html/com_hikashop/administrator/classes/field.override.php ?
Merci
Please Log in or Create an account to join the conversation.
12 years 8 months ago #140060
by nicolas
Replied by nicolas on topic Surcharge de class hikashopRadioCheck
Non. Par contre, il fonctionnera si vous l'ajoutez via un plugin système.
The following user(s) said Thank You: Flooder
Please Log in or Create an account to join the conversation.
12 years 8 months ago - 12 years 8 months ago #140106
by Flooder
Replied by Flooder on topic Surcharge de class hikashopRadioCheck
Ça ne fonctionne pas! Grrrrr….
Mon plugin est fonctionnel car d'autres fonctions fonctionnent à l'intérieur.
Quelle serait donc la syntaxe exacte pour réussir un override la fonction display() de la classe hikashopRadioCheck du fichier admin classes/field.php?
Voici ce que j'ai essayé sans succès :
ex. 1
ex. 2
merci merci
Mon plugin est fonctionnel car d'autres fonctions fonctionnent à l'intérieur.
Quelle serait donc la syntaxe exacte pour réussir un override la fonction display() de la classe hikashopRadioCheck du fichier admin classes/field.php?
Voici ce que j'ai essayé sans succès :
ex. 1
Code:
if(!@include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'classes'.DS.'field.php')){ return false; }
class hikashopRadioCheckOverride extends hikashopRadioCheck {
function display($field, $value, $map, $inside, $options = '', $test = false, $allFields = null, $allValues = null){
….
}
}
ex. 2
Code:
if(!@include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'classes'.DS.'field.php')){ return false; }
class hikashopRadioCheckOverride extends hikashopItem {
function display($field, $value, $map, $inside, $options = '', $test = false, $allFields = null, $allValues = null){
….
}
}
merci merci
Last edit: 12 years 8 months ago by Flooder.
Please Log in or Create an account to join the conversation.
12 years 8 months ago #140109
by Flooder
Replied by Flooder on topic Surcharge de class hikashopRadioCheck
Autre question piège
J'ai déjà des overrides fonctionnels dans
templates/gantry/html/com_hikashop/administrator/helpers
et dans
templates/gantry/html/com_hikashop/administrator/types
Pourquoi peut-on faire des overrides mon dossier templates pour ces fichiers tandis qu'on ne peut pas avec le fichier /administrator/component/com_hikashop/classes/field.php?
Merci
J'ai déjà des overrides fonctionnels dans
templates/gantry/html/com_hikashop/administrator/helpers
et dans
templates/gantry/html/com_hikashop/administrator/types
Pourquoi peut-on faire des overrides mon dossier templates pour ces fichiers tandis qu'on ne peut pas avec le fichier /administrator/component/com_hikashop/classes/field.php?
Merci
Please Log in or Create an account to join the conversation.
12 years 8 months ago #140118
by Jerome
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
Replied by Jerome on topic Surcharge de class hikashopRadioCheck
Bonsoir,
Le système de custom fields ne peut pas être surchargé comme les classes HikaShop.
En effet, les custom fields sont gérés par la class "hikashopFieldClass" qui va s'occuper d'instancier ler classes de custom field.
la fonction "hikashop_get" possède un système permettant l'override des classes HikaShop. Ainsi vous pouvez surcharger la classe "hikashopFieldClass" mais pas la classe "hikashopRadioCheck".
Car il n'y a jamais de " hikashop_get('radiocheck') " appelé.
Ce que je peux vous conseiller si vous souhaitez vraiment surcharger la classe, c'est de faire un plugin permettant la création d'un nouveau type de custom field. Il pourra tout à fait étandre de "RadioCheck" et ainsi profiter du code déjà existant dans la classe.
J'espère que mon explication est compréhensible.
Cordialement,
Le système de custom fields ne peut pas être surchargé comme les classes HikaShop.
En effet, les custom fields sont gérés par la class "hikashopFieldClass" qui va s'occuper d'instancier ler classes de custom field.
la fonction "hikashop_get" possède un système permettant l'override des classes HikaShop. Ainsi vous pouvez surcharger la classe "hikashopFieldClass" mais pas la classe "hikashopRadioCheck".
Car il n'y a jamais de " hikashop_get('radiocheck') " appelé.
Ce que je peux vous conseiller si vous souhaitez vraiment surcharger la classe, c'est de faire un plugin permettant la création d'un nouveau type de custom field. Il pourra tout à fait étandre de "RadioCheck" et ainsi profiter du code déjà existant dans la classe.
J'espère que mon explication est compréhensible.
Cordialement,
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
Please Log in or Create an account to join the conversation.
Time to create page: 0.451 seconds