2012-03-22 10 views
1

私たちは引き継ぎ、typo3からオーチャードに移植しているサイトを持っています。現時点では、データベースとサイトファイルはありません。私はmysqlでデータベースの設定をして、データを問い合わせることができます。私は現在、それが使用しているtypo3のバージョンを知りません。必要であれば、私は知ることができるかもしれませんが、私が言ったように、今私が持っているのはデータベースです。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_テーブルがあるのを見ている...関係なく、これは始まりだ... by PageId、c.pid

+0

午前中に検索した後、私はこの質問をSOに投稿することに決めました。投稿した後、私は戻ってdbを見て、明らかに私が完全に見逃したtt_contentのテーブルがあります。私はこれを調べます...その間に他に誰かが何かを加えたいと思うなら、私に知らせてください。 – tjans

+0

**ページ**テーブルにはすべてのページが含まれています** ** tt_content **テーブルにはページのすべてのコンテンツが含まれています。しかし、私はすぐに1つの問題に遭遇するのではないかと思います。データベースに保存されたコンテンツは、TYPO3によって出力されるものと同じではありません。元のTYPO3ウェブサイトで作成された正しいHTML出力を得るために適用しなければならない変換が行われています。 – tmt

+0

深刻ですか?ですから、これらの変換をどのように適用するかを知る方法があるのですか、それともデータを取得する良い方法がありますか?ウェブサイトのインスタンスを起動して実行できたら、そこにエクスポート機能がありますか? – tjans

答えて

2

日付ベースの構造はかなり単純である。 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を見てください。イメージが定義されていますが、コンテンツ要素をテキストのみに変更したため、イメージはTYPO3でレンダリングされません。あなたもcolPosを見る必要があります。このフィールドは、コンテンツがどの列に表示されるかを示します。 colPos = 0は普通は普通の列です、colPos = 1 left、colPos = 2 rightなどですが、それは依存します。これらの列内では、並べ替えを使用して正しい順序を取得できます。

tt_contentに加えて、追加のテーブルとともに出荷される「プラグイン」または「拡張機能」があります。通常はtx_またはtt_で始まります。だから、彼らもレコードを保持します。

TYPO3を使用して各ページに必要なXMLをテンプレートなしでレンダリングすることは可能です。データベースで十分でしょう。しかし、そのためにはTypoScriptとTYPO3データベーススキームを理解する必要があります。純粋なデータを手に入れても問題ありません。

フィールドがいくつか追加されていますが、重要なものはかなりわかりやすいものです:deleted = 0/1、hidden = 0/1、starttime、endtime、uid、pid。

+1

作業を少し難しくするために、翻訳と作業領域が使用されている可能性があります。ここにいくつかのドキュメントへのリンクがあります(一時URLには申し訳ありませんが、実際のドキュメントは非常に遅いです)http://srv123.typo3.org/~mbless/DOCROOT_HTDOCS/TYPO3v4/doc_core_inside/html/02/02-06/02 -06-02-Relational_Database_Structure.htmlとhttp://srv123.typo3.org/~mbless/DOCROOT_HTDOCS/TYPO3v4/doc_core_inside/html/02/02-07/02-07-01-Versioning_in_TYPO3.htmlとおそらくhttp:///srv123.typo3.org/~mbless/DOCROOT_HTDOCS/TYPO3v4/doc_core_tca/html/ – pgampe

+0

親切にありがとう...私たちは今のところ生のデータを使用し、誰かが後でコンテンツを修正する必要があります... – tjans

関連する問題