Креатив
Верный ход
Качество
Надёжность

Предположим, что у нас есть расширение, названное 'My Extension' и объект, названный foobar. Имя таблицы - #__ myextension_foobars. Эта схема описывает таблицу:

Мы можем использовать некоторые общие поля в наших таблицах. Использование этих полей позволит нам использовать в своих интересах платформу Joomla!. Мы обсудим, как реализовать и управлять этими полями, используя класс JTable, позже в этой главе.

Публикация

Мы используем публикации, чтобы определить, следует ли отображать данные. Joomla! использует специальное поле, названное published (опубликованный), типа tinyint (1); 0 = не опубликованный, 1 = опубликованный.

Хиты

Если мы хотим отслеживать число раз, которое запись была просмотрена, мы можем использовать специальное поле hits типа integer и со значением по умолчанию 0.

Проверка записи

Для предотвращения редактирования записи более чем одним пользователем, мы можем проверить записи (форма программной блокировки записи). Мы используем два поля, чтобы сделать это, checked_out и checked_out_time. checked_out, типа integer, содержит ID пользователя, который проверил запись. checked_out_time, типа datetime, содержит дату и время, когда запись была проверена. Если дата нулевая и идентификатор пользователя 0, запись не проверена.

Сортировка

Мы часто хотим позволить администраторам возможность выбрать порядок, в котором выводятся элементы. Поле ordering, типа integer, может использовать запись чисел последовательно, чтобы определить порядок, в котором они будут выведены на экран. Это поле не должно быть уникальным и может использоваться в сочетании с операторами WHERE, чтобы сформировать группы упорядочивания.

Параметры полей

Мы используем параметры полей, текстовое поле, обычно называемое params, чтобы сохранить дополнительную информацию о записях; это часто используется, чтобы хранить данные, которые определяют, как запись будет выведена на экран. Данные, сохраненные в этих полях, закодированы как INI  строки(которые мы обрабатываем используяе класс JParameter). Перед использованием параметра поля мы должны тщательно рассмотреть данные, которые мы намереваемся хранить в поле. Данные должны храниться только в поле параметра, если все следующие критерии - истина:

  • Не используется для сортировки записи
  • Не используется в поиске
  • Существует только для некоторых записей
  • Не является частью зависимостей в базе данных

Вернуться к оглавлению

У всех таблиц базы данных есть префикс, обычно это jos _, который помогает в использовании единственной базы данных для многократной установки Joomla!. Когда мы пишем SQL-запросы, чтобы разместить переменный табличный префикс, мы используем символьный префикс, который заменяется фактическим префиксом во время выполнения. Обычно символьный префикс - #__, но мы можем определить альтернативный префикс, если мы хотим.

 Вернуться к оглавлению

Когда мы создаём таблицы для наших расширений, мы должны следовать за некоторыми стандартными соглашениями. Самым важным из них является имя таблицы. Все таблицы должны использовать табличный префикс и должны начинаться с имени расширения. Если таблица хранит определенный объект, добавьте множественное число имени объекта до конца имени таблицы, разделенного подчеркиванием. Например, таблица элементов для расширения 'My Extension' будет называться #__ myExtension_items.

Табличные имена полей должны все быть нижним регистром и слова разделяться подчеркиванием; Вы должны избегать использования подчеркиваний, если они не необходимы. Например, Вы можете назвать поле адреса электронной почты как email. Если у вас есть основное и вторичное почтовое поле, то вы могли бы вызвать их mail и email_secondary; нет никакой причины назвать основной адрес электронной почты email_primary.

Если Вы используете записm ID первичного ключа, вы должны вызывая ID, сделать его из целого числа типа auto_increment и запретить нуль. Выполнение этого позволит Вам использовать платформу Joomla! эффективнее.

Вернуться к оглавлению

Когда мы создаем расширения, мы обычно хотим хранить данные в какой-либо форме. Если мы используем базу данных, важно расширить его правильным методом. Более подробная информация о расширении базы данных с компонентами доступно в Главе 4.

Вернуться к оглавлению

Войти на сайт

Запомнить меня

Новости

  • Перевод Mastering Joomla! 1.5

    14.03.2013

    Продолжается перевод книги "Mastering Joomla! 1.5". На данный момент полностью переведено 2 главы. Полностью перевод книги...

    Подробнее...

  • Модернизация сайта

    28.05.2012

    Уважаемые посетители! Мы полностью модернизировали наш сайт и надеемся что сейчас им станет...

    Подробнее...