Craft CMS – это мощная система управления контентом, которая позволяет разработчикам с легкостью создавать веб-сайты и управлять ими. Одним из распространенных требований в веб-разработке является получение даты последнего изменения определенного элемента или записи в Craft CMS. В этой статье блога мы рассмотрим различные методы выполнения этой задачи, используя разговорный язык и попутно предоставляя примеры кода.
Метод 1: использование свойства dateUpdated
Craft CMS предоставляет встроенное свойство dateUpdatedдля всех элементов, включая записи, категории и ресурсы. Это свойство хранит дату и время последнего обновления элемента. Вы можете получить доступ к этому свойству в коде шаблона или плагина, используя следующий синтаксис:
{{ entry.dateUpdated|date('F j, Y') }}
В этом примере извлекается дата последнего изменения записи и форматируется как «Месяц, День, Год».
Метод 2: использование функции getLastUpdatedTime().
Craft CMS также предоставляет полезную функцию под названием getLastUpdatedTime(), которая позволяет программно получить дату последнего изменения элемента.. Вы можете использовать эту функцию в коде своего собственного плагина или модуля следующим образом:
use craft\elements\Entry;
$entryId = 123; // Replace with the actual entry ID
$entry = Entry::find()->id($entryId)->one();
$lastUpdated = $entry->getLastUpdatedTime();
В этом примере мы получаем запись с указанным идентификатором, а затем вызываем функцию getLastUpdatedTime(), чтобы получить дату последнего изменения.
Метод 3: прямой запрос к базе данных
Если вы предпочитаете более прямой подход, вы можете запросить базу данных Craft CMS, чтобы получить дату последнего изменения. Craft CMS хранит данные элементов в базе данных, и вы можете использовать это, выполняя собственные запросы к базе данных. Вот пример использования синтаксиса построителя запросов Yii:
use craft\db\Query;
$entryId = 123; // Replace with the actual entry ID
$query = (new Query())
->select('dateUpdated')
->from('{{%elements}}')
->where(['id' => $entryId])
->scalar();
$lastModified = date('F j, Y', strtotime($query));
В этом методе мы создаем запрос для выбора столбца dateUpdatedиз таблицы elements, фильтруя по идентификатору записи. Затем мы преобразуем полученную временную метку в удобочитаемый формат с помощью функции date().
В этой статье мы рассмотрели три различных метода получения даты последнего изменения в Craft CMS. Используя встроенное свойство dateUpdated, функцию getLastUpdatedTime()или напрямую запрашивая базу данных, вы можете легко получить дату последнего изменения элементов в Craft CMS. Выберите метод, который лучше всего соответствует вашим потребностям, и интегрируйте его в свои проекты, чтобы эффективно отслеживать обновления вашего контента.