[RESOLU]PlxMotor Ligne 685 , un bogue possible.
En bricolant les tableaux des catégories et articles , j'ai découvert un défaut sur un morceau de code de PluXml, en tout cas j'ai réussi à provoqué une erreur.
La ligne 685 de PlxMotor effectue ce test :
if(count($artCats) == 1 and $artCats[0] == 'draft') {
Il se trouve que j'ai parfois, 1 seule entrée mais avec un index qui n'est pas [0], mais qui peut-être d'une autre valeur, là c’était [2] qui se déclenche lorsque l'article n'est pas aussi relié à la catégorie mère de sa catégorie.
Pour palier à cette erreur hautement improbable, j'ai modifié ce test de cette façon, bien sur ce n'est pas une modif perrene mais il ne s'agit que de tests :
if(count($artCats) == 1 and key($artCats) == 'draft') {
comme il n'y a qu'une clé, tout rentre dans l'ordre apparemment.
edit ... et comme ce n'est pas la clé, mais la valeur qui nous interesse, j'en suis arrivé à:
if(count($artCats) == 1 and array_values($artCats)[0] == 'draft') {
pour finalement, sur le bon conseil de @bazooka07 , en arriver à
if(count($artCats) == 1 and in_array('draft', $artCats)) {
Je viens de découvrir le plugin de Stéphane et imaginais qu'il pourrait servir à partir d'un 3eme niveau avec mon plugin. Sur le fond cela permettais de déroulé/découvrir ces autres niveaux qu'a partir du second .
Forcément c'est un peu incompatible dés qu'on arrive au troisième niveau .Alors j'ai voulu vérifiez ce que cela donnerais si j'ajoutais seulement un troisième niveau qui se déroulerait à partir du second sur mon plugin (en éditant categories.xml) et du coup ça coince parfois sur la ligne 685. Ce n'est qu'un test de curiosité parmi d'autres, je n'envisage pas de me pencher sur une telle fonctionnalité pour le moment. edit : bon finalement c'est en cours sans provoquer d'erreur, reste coté admin à revoir pour le faire d'un simple click/choix
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
Réponses
Voici une autre situation sans avoir de bidouilles à faire pour générer cette erreur:
Installer et activer le plugin plx_gc_categorie (v.3) Aux prochaines mise à jour, cette mise en situation d'erreur ne devrait plus appaaraitre sauf bidouilles volontaires.
installer et activer le plugin plxAllMyArchive// ou pas
creer un article et le mettre en page d'acceuil.
Cliquer sur le lien archives puis cliquer sur l'article classé en page d'accueil ou allez directement sur cette article sans passer par la page archive.
dans la fonction
public function artInfoFromFilename($filename) {
le testif(count($artCats) == 1 and $artCats[0] == 'draft') {
ne passe pas car la clé/index [0] n'est pas forcement celle contenu dans le tableau .Du coup en tombant sur un exemple que l'on peut reproduire facilement, je me suis permis de faire un pullrequest https://github.com/pluxml/PluXml/pull/554 car cette fonction ne dispose pas de hook pour la modifier à la volée.
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
Bonjour,
D'après php.net, l'usage de la fonction key() est inapproprié. Il vaut mieux utiliser in_array(). Démo :
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
oups, oui je vient aussi de m'apercevoir que la logique etait mauvaise et du coup je suis parti sur
La gestion des tableaux reste encore assez mystérieuse pour moi , serais je encore à coté de la plaque ?
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
utilise in_array() pour tester si 'draft' est dans le tableau. Comme cela on ne tient pas compte de la valeur de l'indice.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Merci de ton conseil
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci