Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость

Префиксы экстраполей в базе данных Cotonti

  • 298 просмотров
  • 3 октября, 2023
  • Обновлено: 2 ноября, 2023
  • admin
  • Время чтения: 2 минуты

Работая с расширениями или базовым функционалом сайта под управлением Cotonti, часто приходится иметь дело с экстраполями. Это удобный инструмент для наполнения вашего сайта любой типовой информацией. Экстраполя можно использовать как логические "флажки", в них можно помещать, например, количества, даты, цены на товары, размеры изделия, указывать производителя, другими словами размещать в них дополнительную информацию в любом формате, который понимает MySQL.

При добавлении экстраполя можно заметить, что в соответствующую таблицу они помещаются не под введенным именем, а в виде ПРЕФИКС_ВВЕДЕННОЕИМЯ. Это необходимо для стандартизации имен.

Зачем нужно знать полные имена экстраполей в таблице?

В обычной ситуации это совершенно необязательно. Но на уровне разработчика или, по крайней мере, “сборщика” сайта под управлением CMF Cotonti вы должны понимать принцип именования экстраполей.

Это,в том числе, необходимо для использования плагинов линейки Pagelist, в которых соответствующие функции часто получают в виде аргумента имена экстраполей для дальнейшей передачи в оператор WHERE.

Основное правило следующее:

Префикс экстраполя расширения всегда будет создаваться в соответствии с префиксом первого поля, присутствующего в соответствующей таблице.

Приведем примеры префиксов в наиболее часто используемых расширениях с экстраполями:

  • Структура (ядро) – structure_ для элементов структуры сайта
  • Модуль Forums – ft_ для тем и fp_ для постов на форумах
  • Модуль Page – page_ для страниц
  • Модуль Users – user_ для данных пользователя
  • Плагин Comments – com_ для комментариев
  • Плагин Contact – contact_ для сообщений

Понимая этот принцип, вы сможете более уверенно использовать функции плагинов, например вызывать в шаблоне функцию sedby_postlist со следующими аргументами:

{PHP|sedby_postlist('postlist', 5, 'fp_updated DESC', 'fp_somefield = 1')}

В данном примере в выборку форумных постов попадут только те, для которых значение экстраполя ft_somefield равно 1. При этом в списке экстраполей в админке имя данного экстраполя будет выведено как somefield.

Новый комментарий

Имя:
Для редактирования комментария осталось 10 минут
Комментарии отсутствуют