MODX - Как да добавя допълнителни полета към ресурси, ИТ готвач

Статия, в която ще разгледаме начин за добавяне на допълнителни полета към ресурс без използване на телевизия.

За да съхраняваме допълнителни данни, ще използваме не системата (content_content), а нашата собствена таблица. Например с име site_content_extend. За да осигурим работа с него чрез xPDO, ще създадем компонент (работещ модел). За името на компонента, нека да изберем например, разширяванересурс.

За да представим допълнителни полета в администраторския панел, а именно на страниците за създаване и редактиране на ресурси, ще напишем приставка. Ако не се нуждаете от това действие, тогава създаването на този елемент може да бъде пропуснато.

Добавяне на таблица към базата данни

Добавянето на нови обекти към базата данни може да се извърши, например, с помощта на инструмента phpmyadmin.

Като пример, нека създадем таблица site_content_extend със следните полета:

SQL дъмп на таблицата "modx_site_content_extend" може да бъде изтеглен от тази връзка.

Създаване на директория за компонент

Създайте директория за разширяване на ресурсите в директорията/core/components .

След това нека създадем още няколко папки, за да получим следния път:

Създаване на XML схема за компонент

В директорията на схемата на компонента разширяванересурс поставете файла extensionresource.mysql.schema.xml със следното съдържание:

XML схема в MODX Revolution Е описание на обектите на базата данни на компонентите и техните взаимоотношения. Тя е необходима само за генериране на работещ модел на компонент.

Генериране на модел на компонент

В тази стъпка ще създадем модел. За да извършим това действие, ще използваме скрипта parse_schema.php.

Как работи със скрипта parse_schema.php:

След изпълнението на скрипта, php файлове (модел на компонент) ще бъдат създадени в директорията "core/components/extensionresource/model /".

MODX Revolution - Стъпка 1. Въвеждане на името на компонента в помощната програма parse_schema.php MODX Revolution - Стъпка 3. Отваряне на файла parse_schema.php от браузъра