2010-11-05 3 views
0

J'ai une question. J'ai quelques CMS, à la section Posting, nous avons une option: "Post to future". Si nous le vérifions, nous pouvons lui donner une date et une heure pour publier cet article. (par exemple, 01/01/2011). Et quand le jour viendra, (01/01/2011), le CMS publie cet article automatiquement.Post avenir? Comment?

Comment ??? (Est-ce possible ou je me trompe?)

+1

Besoin de clarifier. Cela ne semble pas lié au codage. On dirait de l'aide avec "post scheduling" pour quelque chose comme Wordpress ou le contenu. – Jakub

+1

Demandez-vous maintenant d'utiliser un CMS ou comment ajouter cette fonctionnalité à un CMS? –

+0

Les CMS ne publient pas d'articles. Ils les demandent simplement dans des bases de données. * Selon certaines règles * –

Répondre

5

Ceci est très spécifique à tout CMS que vous utilisez, mais je vais deviner qu'il stocke simplement la "date de publication", puis lorsqu'on lui demande de afficher tous les articles, il fait quelque chose comme: SELECT * FROM articles WHERE post_date <= NOW().

+1

Ils utiliseraient une fonctionnalité similaire pour expirer des articles. – GalacticCowboy

2

Il existe plusieurs façons d'implémenter une fonctionnalité comme celle-ci.

Je pense que le plus simple serait d'avoir un champ startTime dans votre base de données. Lorsque vous chargez la liste d'articles, vous pouvez faire WHERE startTime < NOW(). Cela fera en sorte que les articles n'apparaissent qu'après l'heure indiquée.

Vous pouvez également utiliser cron ou un certain nombre d'autres méthodes.

+0

Vraisemblablement, vous voulez dire 'WHERE startTime '. –

+0

Oui, bonne prise, a écrit trop vite. Je l'ai édité pour corriger. –

0

Dépend.

Dans de nombreux cas, il s'agit simplement d'articles qui ne sont pas publiés (résultats de recherche, page principale, archives ...), ce qui peut être fait en stockant une date de publication dans la table article et en la testant :

SELECT * FROM article WHERE publishDate < NOW() 

Cependant, il est assez fréquent que certaines tâches doivent être effectuées au moment précis où l'article est publié (comme Pingbacks/trackbacks, l'envoi d'e-mails aux abonnés ...) et la solution pour que est d'avoir une tâche planifiée exécutée de temps en temps (par exemple, toutes les cinq minutes) qui interroge la base de données pour les articles non publiés qui ont leur date de publication dans le passé, et fait tout ce qui est nécessaire pour les publier.

+1

Devrait être une comparaison LT, pas GT. – ryeguy