Pods: ProblĂšme rĂ©el : les noms rĂ©servĂ©s ne doivent pas ĂȘtre ajoutĂ©s

CrĂ©Ă© le 13 juil. 2019  Â·  20Commentaires  Â·  Source: pods-framework/pods

DĂ©crivez le bogue
PremiÚre utilisation de Pods. J'ai rencontré ceci (reproduit à l'aide de master): classes/PodsAPI::save_pod sauve avant d'appeler cache_flush_pods lorsqu'il rencontre des erreurs lors de l'enregistrement des champs nouvellement ajoutés. Bien qu'il semble que les autres champs soient toujours enregistrés dans la base de données, ils ne sont pas visibles pour l'utilisateur final tant que le cache n'est pas vidé.

Numéro de ligne de révision actuelle 2356 :

if ( ! empty( $errors ) ) {
    return pods_error( $errors, $this );
}

$this->cache_flush_pods( $pod );

(PS Pour autant que je sache, il ne semble pas y avoir de gestion des erreurs en place pour ne pas enregistrer les champs.)

Reproduire
Étapes pour reproduire le comportement :

  1. Modifier un pod
  2. Ajouter un champ avec le nom 'foobar'
  3. Ajouter un champ avec le nom 'name' (ou 'post_title', ou le nom d'un champ existant)
  4. Enregistrer le module

Remarque : aucun des champs nouvellement ajoutés ne s'affiche aprÚs l'enregistrement

Reproduced Bug Documentation

Tous les 20 commentaires

Issue-Label Bot applique automatiquement l'Ă©tiquette Type: Bug Ă  ce problĂšme, avec une confiance de 0,98. Veuillez marquer ce commentaire avec :thumbsup: ou :thumbsdown: pour donner votre avis Ă  notre bot !

Liens : page d'accueil de l'application , tableau de bord et code pour ce bot.

+1 J'ai le mĂȘme problĂšme. La dĂ©finition de noms prĂ©servĂ©s ne gĂ©nĂšre pas d'erreur.

Voir #4122 Ceci devrait ĂȘtre appliquĂ© aux noms de champ, taxonomie, post-types, etc. Quelqu'un ne devrait pas ĂȘtre en mesure de taper AUCUN nom de champ, post-type ou taxonomie qui se trouve sur la liste de champs de noms RÉSERVÉS.

J'ai dĂ©posĂ© un rapport de bogue #5440 oĂč j'ai eu le mĂȘme problĂšme avec un champ intitulĂ© "statut". Cependant, « statut » ne figure pas sur la liste des termes rĂ©servĂ©s de Wordpress. Dans le cas mentionnĂ© ci-dessus, « nom » figure sur cette liste, mais pas « foobar ». Il en est de mĂȘme pour la liste PHP des mots rĂ©servĂ©s.

Liste Wordpress : (https://codex.wordpress.org/Reserved_Terms)
Liste PHP https://www.php.net/manual/en/reserved.php

Peut-ĂȘtre qu'une autre liste de mots rĂ©servĂ©s interfĂšre aussi ?

@raoulunger Avez-vous essayé les derniÚres RP concernant les mots-clés réservés ?

EDIT : status n'est pas un mot-clĂ© rĂ©servĂ© Ă  WordPress, mais il l'est pour les Pods car il est utilisĂ© comme l'un des champs d'objet Pod. (encore enquĂȘte en ce moment)

Salut, je vois que tu as rayĂ© la question ;-). Merci d'avoir enquĂȘté !

Oui, aprĂšs enquĂȘte, il s'avĂšre que status est un alias pour post_status dans les Pods (Ă  utiliser dans les Magic Tags, etc.).
Liste complÚte des clés et alias par défaut :

ID                     ==> id
post_title             ==> title & name
post_content           ==> content
post_excerpt           ==> excerpt
post_author            ==> author
post_date              ==> created & date
post_date_gmt
post_status            ==> status
comment_status
ping_status
post_password
post_name              ==> slug &  permalink
to_ping
pinged
post_modified          ==> modified
post_modified_gmt
post_content_filtered
post_parent            ==> parent
guid
menu_order
post_type              ==> type
post_mime_type
comment_count
comments

@sc0ttkclark @jimtrue Je pense que ce problĂšme peut ĂȘtre clos, d'accord ?

D'accord, cela clarifie les choses en ce qui concerne le « statut » – merci d'avoir compris cela, et pour la liste !

Pour résoudre le problÚme plus large de l'utilisation de mots réservés (ce sujet, ainsi que #4122), il semble qu'il y aurait plusieurs options :

  • le code est modifiĂ© afin que les alias pour les identifiants puissent en fait ĂȘtre utilisĂ©s, ou (si ce n'est pas faisable),
  • un avertissement s'affiche lorsqu'un mot 'interdit' est utilisĂ©, et
  • une rĂ©fĂ©rence est faite quelque part dans la documentation Ă  ce phĂ©nomĂšne et Ă  la liste ci-dessus pour les mots interdits.

Au fait, il m'est facile de suggérer tout cela bien sûr, car je ne peux pas vraiment vous aider ici - mes compétences en codage sont beaucoup trop limitées, désolé !

Acclamations!

L'ID est simplement un mot-clé réservé, je ne pense pas que nous puissions changer cela.
À propos des avertissements, ils sont actuellement affichĂ©s, mais cela se fait via AJAX (cĂŽtĂ© serveur) et non directement lors de la frappe. Je pense que c'est quelque chose que nous ajouterons Ă  l'avenir, mais pas en tant que version de maintenance.
La documentation est toujours une bonne idée. @jimtrue Pourriez-vous créer une page de documentation pour cela que je puisse utiliser ?

Ne peut pas ĂȘtre fermĂ© tant qu'il n'est pas documentĂ©. Y a-t-il un autre de ces « alias » qui ne fonctionnerait pas pour la crĂ©ation en tant que champ ? c'est-Ă -dire « titre », « parent », etc ?

C'est tout ce que j'ai pu trouver jusqu'à présent (à part les mots-clés de base WP déjà mentionnés)

Cela aurait encore besoin d'ĂȘtre corrigĂ© car nous devons expliquer POURQUOI nous n'autorisons pas l'ajout de ces champs. Pour le moment, nous ne leur donnons aucune information.

Ce n'est pas tout Ă  fait vrai, AJAX renvoie un message d'erreur, mais uniquement lors de l'enregistrement.

Je n'ai reçu aucune erreur visible lorsque j'ai dupliqué le problÚme. S'il n'y a pas d'erreur visible pour l'utilisateur, c'est un problÚme.

Avez-vous testé avec le dernier PR ? #5441
Gardez à l'esprit que ces mots-clés réservés sont autorisés pour les noms de champ. Mais pas pour les Pods (CPT/Tax), voir #5428.

Je n'ai pas non plus reçu de message d'erreur (d'oĂč la confusion). Je n'ai pas testĂ© avec le dernier PR, car je n'ai vraiment aucune idĂ©e de comment faire cela (dĂ©solĂ© encore - je suis assez novice ici).

Le 19 aoĂ»t 2019, Ă  17h50, Jory Hogeveen [email protected] a Ă©crit :

Avez-vous testé avec le dernier PR ? #5443 https://github.com/pods-framework/pods/pull/5443
Gardez à l'esprit que ces mots-clés réservés sont autorisés pour les noms de champs. Mais pas pour les Pods (CPT/Tax), voir #5428 https://github.com/pods-framework/pods/pull/5428 .

-
Vous recevez ceci parce que vous avez été mentionné.
RĂ©pondre Ă  cet e - mail directement, voir sur GitHub https://github.com/pods-framework/pods/issues/5420?email_source=notifications&email_token=AM2NSKDD43ZU2JY47LPKRV3QFK6LTA5CNFSM4ICZDB72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4TNDNQ#issuecomment-522637750 , ou couper le fil https://github.com/ notifications/unsubscribe-auth/AM2NSKESXEIVUY3PLHRRMW3QFK6LTANCNFSM4ICZDB7Q .

@sc0ttkclark @jimtrue Cela peut-il ĂȘtre fermé ?

Si nous déplaçons le vidage du cache avant d'envoyer le pods_error, nous pouvons résoudre le focus principal de ce ticket.

Corrigé dans #5459

Cette page vous a été utile?
0 / 5 - 0 notes