Как создать список архивов в php? - PullRequest
1 голос
/ 15 февраля 2012

Я создаю блог своей компании и хотел бы узнать, как создать архивную страницу, на которой читатель может щелкнуть месяц / год и отобразить все сообщения в блоге за этот период.

В эти дни я очень часто вижу это в блогах и хотел бы знать, как я могу сам создать это.

Это будет выглядеть примерно так:

  • июль 2012
  • июнь 2012
  • март 2012

Очевидно, что я хотел бы, чтобы список создавался динамически путем ссылки на поле времени в моей таблице блога, но с чего начать?

Есть ли документация о том, как это реализовать?

Я создаю свой собственный блог с нуля.

Ответы [ 3 ]

2 голосов
/ 15 февраля 2012

Если вы используете базу данных, вы можете просто использовать временные метки для группировки статей на основе даты.

Если вы не используете базу данных, вы можете использовать файловую систему и поместить каждую статью в соответствующуюструктура:

/ статьи / 2011 / июль / article_name_here.html

1 голос
/ 15 февраля 2012

Учитывая, что вы не упомянули конкретную платформу / CMS, я представлю общую идею, которую я бы взял:

Получить список месяцев для визуализации

SELECT Month(`date`), Year(`date`) FROM articles GROUP BY Month(`date`), Year(`date`)

Отображение списка статей для данногопромежуток времени

SELECT * FROM articles WHERE Date(`date`) = foo, Year(`date`) = bar

Остальное - просто рендеринг, слишком сильно основанный на вашей текущей реализации, но это должно дать вам возможность начать с.

0 голосов
/ 15 февраля 2012

Есть несколько способов подойти к этому. Самый простой способ, о котором я могу подумать, это то, что вы создаете ссылку для каждого месяца, которая переводит вас на html-страницу со всеми публикациями за этот месяц. (Требуется сделать это вручную.каждый месяц).

Другой способ - сделать это с MySQL и сделать весь процесс динамичным и автоматическим.Каждый раз, когда ваше сообщение отправляется, ссылочная ссылка будет сохраняться в базе данных для каждого месяца.

Затем вы можете отобразить месяцы из вашей базы данных и дать им ссылку на php-файл или на ваш язык.Выведите сообщение только за этот месяц. Вам также понадобится передать переменные.Вы бы ссылку что-то вроде этого

index.php?month=september2012

У меня есть эта система на сайте.Есть также несколько способов ... как, например, в стиле CMS сохранить ваш файл в текстовом файле ... но я не пробовал, поэтому не могу вас поддержать.

Я надеюсь, что дал вам хотя бы некоторое представление о том, как это можно сделать.

...