web-dev-qa-db-fra.com

Comment fonctionne la fonction de publication Finish pour les articles?

J'ai remarqué que les articles sont très utiles Start Publishing et Finish Publishing les champs qui vont automatiquement (du moins selon ce que je comprends) publiés ou non-publiés des articles entièrement basés sur ces deux champs. Je me demandais si quelqu'un pourrait expliquer où/comment exactement cette fonctionnalité fonctionne.

Existe-t-il un plugin qui vérifie et met à jour les articles en arrière-plan? L'état de l'article est-il mis à jour lors de l'extraction par JModelList ou JModelItem? Un déclencheur MYSQL est-il créé pour le gérer?

Je ne sais vraiment pas où chercher, je n'ai donc rien trouvé.

2
Chaosxmk

Rien ne doit être changé ou mis à jour en arrière-plan lorsque les dates Start Publishing Ou Finish Publishing Sont franchies. Laissez-moi vous expliquer comment ça marche. Je vais essayer de ne pas être trop technique.

Lorsque vous demandez une page qui charge un article, Joomla obtiendra les détails de cet article à partir de la base de données. Lorsqu’il obtient ces détails, il vérifie également si vous êtes autorisé à consulter cet article.

Si vous n'êtes pas autorisé à afficher l'article, aucune donnée n'est renvoyée et la page affiche une erreur ou quelque chose du genre (sur les pages qui chargent plusieurs articles, comme la page d'accueil par exemple, elle ne montrera tout simplement pas cet article).

Alors, quelles sont les choses que Joomla vérifie pour voir si cela devrait vous donner accès à cet article? Si vous êtes un visiteur normal qui vérifie un article normal, voici certaines choses à vérifier avant de renvoyer les données de l'article:

  • Est-ce que Status de l'article est défini sur "Publié"?
    Il s’agit des options "Publié", "Non publié", "Archivé", "Supprimé" des articles.

  • Le Access de l'article est-il défini sur "Public"?
    Ceci détermine quels groupes d'utilisateurs sont autorisés à voir l'article. "Public" signifie tout le monde.

  • La date/heure actuelle est-elle supérieure à la date Start Publishing OR est la date Start Publishing Vide? (0000-00-00 00:00 : 00 ")?
    Si vous visitez le site à "2017-09-09 10:36:10" (heure locale de Joomla) et que la date Start Publishing Est définie sur une date inférieure à cette date (ou la date Start Publishing est "0000-00-00 00:00:00"), alors l'article peut être consulté. Sinon, non.

  • La date/heure actuelle est-elle inférieure à la date Finish Publishing OR est-il la date Finish Publishing Est-elle vide? (0000-00-00 00:00 : 00 ")?
    Si vous visitez le site à "2017-09-09 10:36:10" (heure locale de Joomla) et que la date Finish Publishing Est définie sur une date supérieure à cette date (ou la date Finish Publishing est "0000-00-00 00:00:00"), alors l'article peut être consulté. Sinon, non.

Si les paramètres de l'article réussissent toutes ces vérifications, l'article peut être affiché à l'utilisateur. Sinon, ça ne peut pas être.

Ces vérifications sont effectuées (ou sont supposées être effectuées) pour toute page, composant ou module qui demande l'affichage des données d'article.

C'est pourquoi rien ne doit être changé lorsque les dates Start/Finish Publishing Sont dépassées, car la vérification de ces dates fait partie du processus à chaque fois qu'un article est extrait de la base de données.

Note
Une chose qui affecte ceci est la mise en cache. Si vous avez activé la mise en cache, les articles peuvent devenir disponibles ou indisponibles en raison du paramètre Start/Finish Publishing, Mais les pages mises en cache ne montreront pas ce fait jusqu'à ce qu'elles expirent ou soient effacées manuellement. Cela peut empêcher les pages actives de s'afficher dès que leur date Start Publishing Est atteinte, puis rester sur les pages de liste (telles que la page d'accueil ou une page de mise en page Category Blog) Pendant un certain temps. une fois qu'ils sont Finish Publishing la date est atteinte.

4
Drew G