Получение данных из Typo3 - PullRequest
1 голос
/ 22 марта 2012

У нас есть сайт, который мы переносим и переносим из typo3 в Orchard.На данный момент у нас есть только база данных и ни один из файлов сайта.У меня есть настройка базы данных на MySQL и могу запросить данные.В настоящее время я не знаю, какую версию typo3 он использует.При необходимости я мог бы это выяснить, но, как я уже сказал, сейчас все, что у меня есть, это база данных.

Мне нужно вывести данные в удобной форме, чтобы я мог втиснуть их вXML необходимо импортировать в сад.Проблема в том, что я не могу найти никакой документации о том, как настроена база данных typo3, поэтому я не смог получить доступ к содержимому ... до сих пор единственная полезная таблица, которую я нашел, это таблица "pages", но на самом деле, кажется, просто хранится экземпляр страницы, за вычетом содержимого.Вот что мне нужно:

Page Title
Parent Page (for hierarchical concerns)
Content for a page

Может ли кто-нибудь пролить свет на то, какие таблицы мне нужно искать, чтобы извлечь этот контент?

  • Редактировать * Я смогзаставить что-то работать, используя:

Что я сделал, так это собрал данные с помощью этого запроса:

select p.Uid PageId, p.pid ParentId, Title, c.BodyText, concat('index.php?id=',p.Uid) OriginalUrl,
p.deleted, c.deleted
from pages p
left join tt_content c on p.Uid = c.Pid
where p.deleted = 0 and c.deleted = 0

И затем прошел через каждую из записей tt_content и объединил их вместе, чтобы сгладить исформировать несколько связный HTML для страницы ... это лучше, чем ничего.Я еще ничего не делал с плагинами, но я вижу там таблицы tx_ ... независимо от того, это начало ... порядок по PageId, c.pid

1 Ответ

2 голосов
/ 22 марта 2012

Структура базы данных довольно проста. У вас есть таблица страниц, в которой есть uid и pid. PID всегда определяет, на какой странице создается запись.

Page Title => pages.title
Parent Page (for hierarchical concerns) => pages.pid
Content for a page => tt_content.* where pid = pages.pid order by sorting

Существуют разные типы страниц, некоторые из них являются просто папками, в которых хранятся записи, но страница не существует в меню.

То же самое с tt_content. Существует множество различных элементов содержимого (таких как текст, изображение, текст / изображение, заголовки и т. Д.). Посмотрите на tt_content.CType для этого. Может случиться так, что у вас есть определенное изображение, но кто-то изменил элемент содержимого только на TEXT, поэтому изображение не будет отображаться в TYPO3. Вам также нужно взглянуть на colPos. В этом поле указывается, в каком столбце будет отображаться содержимое. colPos = 0 обычно является нормальным столбцом, colPos = 1 слева, colPos = 2 справа и т. д. Но это зависит. В этих столбцах вы можете использовать сортировку, чтобы получить правильный порядок.

Помимо tt_content есть "плагины" или "расширения", которые поставляются с дополнительными таблицами. Обычно начинаются с tx_ или tt_. Так что они тоже будут вести записи.

Было бы возможно отобразить нужный вам XML для каждой страницы с TYPO3 - без какого-либо шаблона. База данных будет достаточно. Но для этого вам нужно понять TypoScript и схему базы данных TYPO3. Я думаю, вы будете в порядке с получением чистых данных.

Есть несколько дополнительных полей, но важные из них довольно просты для понимания: удалено = 0/1, скрыто = 0/1, время начала, время окончания, uid, pid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...