Вывод измененных записей с пояснением

Приведу абстрактный пример, чтобы было понятно.

Делаем запись о программе Notepap++, там описание и всё что касается классификации. Идет вывод на главную - Новые добавленный программы. Затем через месяц выходит новая версия программы, нужно поле, где можно указать, что такого-то числа было обновление, вот это обновлено и это пофиксено. И на главной блок "Недавно обновленные программы" выводится название, дата и часть текста об обновлении.

Как так сделать? Как вывести недавно обновленные записи знаю, но ведь исправление ошибки в тексте описания тоже будет считаться обновлением, да и заметку об обновлении надо выводить последнюю, а не все, что есть.

В какую сторону двигаться?

0
campusboy
9 лет назад 4938
  • 1
    Kama 9792

    Как-то кастомизировать надо: тут пожалуй выбора нет, кроме как где-то записывать дату изменение блока "Обновления программы". В метаполях это не очень хорошо, потому что там строки сохраняются, а значит выборка будет не самая быстрая...

    Как самый быстрый вариант, но не очень оптимальный правда: допустим в тексте есть блок "Обновления" и ниже дата и текст, дата и текст. Так вот при сохранении поста вырезаем первую дату из этого блока и пишем её в метаполе как штамп времени. Потом выводим записи отсортированные по этому метаполю, как числовое значение.

    Другой вариант, создать отдельную таблицу в БД с полями:

    • дата изменение (тип datetime)
    • поле с текстом
    • ID записи (для связки).

    И при обновлении данных в этой таблице, обновлять поле даты. Затем получать последние записи на основе этой таблицы...

    Так работы больше будет конечно, но зато запросы будут быстрые, если нагруженный ресурс...

    campusboy 9 лет назад

    Спасибо за развернутый ответ. Тоже к этому прихожу, скорость + удобство. Создать кастомную таблицу несложно ведь.

    Kama 9 лет назад

    Не сложно, просто управление ею требует лишнего кода. Например удалять поля, при удалении записи. SQL запрос для получения придется писать отдельно, добавление, удаление полей тоже как-то отдельно выводить нужно будет. А если с метаполями, то там половина уже готова...

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

    campusboy 9 лет назад

    У меня вот возникла такая идея. В таблице wp_post есть поле "Дата обновления". Так вот, есть произвольное поле, к нему галочку "Есть обновления". Если галочка стоит - обновить "дату обновления", если не стоит - нет. Ну а в самом произвольном поле типа textarea при надобности вывести текст о последнем изменении не сложно (к примеру, это будет последний абзац в этом поле) с помощью регулярочки.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация