Nouveau champ XML et optimisation
newic
Member
dans Modifications
Salut,
J'adore pluXML et je suis en train de customiser un petit CMS.
Je cherche une bonne méthode pour rajouter un champ de formulaire avec les coordonnées de position d'affichage d'articles.
soit deux champs par article:
X et Y
J'ai trouvé un plugin qui semble le faire très bien.
J'ai commencé de dév quelques plugin basique aussi donc je peu peut-etre en faire un.
Et j'ai vu public function parseArticle($filename) { dans class.plx.motor dans les lib
Je me dit que si je modifie la lib directement je gagne (très peu) en vitesse d'éxécution.
Pars-que si j'utilise des plugins j'ai peur d'être obligé de tout parsser deux fois en tout pour récupérer mes parametre dans les articles.xml.
Que pensez vous du gain de performances vis à vis des inconvénient lié au dev et a la maintenance ?
Merci de votre attention.
J'adore pluXML et je suis en train de customiser un petit CMS.
Je cherche une bonne méthode pour rajouter un champ de formulaire avec les coordonnées de position d'affichage d'articles.
soit deux champs par article:
X et Y
J'ai trouvé un plugin qui semble le faire très bien.
J'ai commencé de dév quelques plugin basique aussi donc je peu peut-etre en faire un.
Et j'ai vu public function parseArticle($filename) { dans class.plx.motor dans les lib
Je me dit que si je modifie la lib directement je gagne (très peu) en vitesse d'éxécution.
Pars-que si j'utilise des plugins j'ai peur d'être obligé de tout parsser deux fois en tout pour récupérer mes parametre dans les articles.xml.
Que pensez vous du gain de performances vis à vis des inconvénient lié au dev et a la maintenance ?
Merci de votre attention.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
public function parseArticle($filename) {
# Mise en place du parseur XML
$data = implode('',file($filename));
$parser = xml_parser_create(PLX_CHARSET);
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0);
xml_parse_into_struct($parser,$data,$values,$iTags);
xml_parser_free($parser);
# Recuperation des valeurs de nos champs XML
$art = plxUtils::getValue($values[$iTags[0]]);
$art = plxUtils::getValue($values[$iTags[0]]);
$art = plxUtils::getValue($values[$iTags[0]],'article.php');
$art = plxUtils::getValue($values[$iTags[0]]);
$art = plxUtils::getValue($values[$iTags[0]]);
$art = plxUtils::getValue($values[ $iTags[0] ]);
$meta_description = plxUtils::getValue($iTags[0]);
$art = plxUtils::getValue($values[$meta_description]);
$meta_keywords = plxUtils::getValue($iTags[0]);
$art = plxUtils::getValue($values[$meta_keywords]);
$art = isset($iTags) ? plxUtils::getValue($values[$iTags[0]]) : '';
# Informations obtenues en analysant le nom du fichier
$art = $filename;
$tmp = $this->artInfoFromFilename($filename);
$art = $tmp;
$art = $tmp;
$art = $tmp;
$art = $tmp;
$art = $tmp;
$art = $this->getNbCommentaires('/^'.$art.'.[0-9]{10}.[0-9]+.xml$/');
# Hook plugins
eval($this->plxPlugins->callHook('plxMotorParseArticle'));
# On retourne le tableau
return $art;
}
En fait oin a un appel au hook plxmotorparsearticle donc si j'ai bien compris je m'embête pas je fais un plugin qui pointe sur ce hook dans lequel j'ajoute :
$art = plxUtils::getValue($values[$iTags[0]]);
$art = plxUtils::getValue($values[$iTags[0]]);
Tout simplement.
Les dévelopeurs ont pensé à tout c'est génial
Et du coup j'immagine que l'on peu fabriquer ses propres hook de la même manière ?
Je confirme, l'utilisation du hook plxMotorParseArticle est la bonne méthode pour récupérer des infos dans les fichiers xml des articles.
De le même façon, il y a d'autres hooks pour aller écrire dedans
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Ca se sont mes deux fonction que je veux ajouter plx show. Elles me permettent de récupérer les coordonnées x et y des position de mes éléments que j'ai préalablement enregistré dans des nouveaux champs de mes articles.
Et donc je veu appeler ces deux fonction ensuite pour repositionner mes éléments depuis le theme avec
Donc dans ce cas je pensais pouvoir utiliser un hook mais a prioris dans plx show je n'ai vu aucun hook à l'extérieur des fonctions. Et si je crée un hook et bien ca ne fonctionne pas.
Peut être est il question ici d'une extension de classe et que celà n'emploit pas les meme structure ou méthodes (je ne sais pas vraiment l'exprimer)?
Visu du dev sans architecture avec des plugins ici : https://sphynxDOTouvatonDOTorg/
exemple dans le constructeur de la classe de ton plugin, ajoute:
le corps de la méthode dans la classe
et l'appel du hook perso dans ton thème
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
il y a d'autres façons de faire, mais tout dépend du reste de ton code
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Ca existe des méthodes en POO pour comprendre comment tout s'articule ?
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'ai fait quelques ptites modifs sur des plugins existants ca fonctionne très bien si on veut faire quelques chose de simple.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Je repasserai plus tard, merci.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)