3

私が最後にTYPO3を集中的に使用したのは何年も前のことです。ですから、TYPO-Scriptはあまり覚えていません。6.0にアップデートしたとき、このコードが機能しなくなっていることがわかりました。

marks.CONTENT.30 = PHP_SCRIPT
marks.CONTENT.30.file = fileadmin/db/db.php

それは単にdb.phpのhtml出力を挿入しました(それはいくつかのデータベース要求を行い、それからカスタマイズされたhtml / cssテーブルを形成しました)。

どうすればこれをすばやく修正できますか?PHP_SCRIPTが非推奨になり、別のキーワード(USER)があると聞きましたが、使用方法がわかりません。覚えておいてください:私はもうTYPO-Scriptの専門家ではないので、自由に詳細に説明してください。;-)

ありがとう!インゴ。

4

1 に答える 1

6

基本的な拡張機能が必要なようです。これは、おっしゃるように、単にUSERまたはUSER_INTコンテンツオブジェクトです。

最初のものはページコンテンツ内にキャッシュされるため、スクリプトが静的またはめったに変更されない情報を出力する場合は、ユーザータイプの選択を検討する必要があります。

頻繁に変更される動的データがある場合(新しいページが読み込まれるたびに新しい出力がもたらされる)、USER_INTを使用する方がよいでしょうが、注意してください。ページが読み込まれるたびにUSER_INTスクリプトが呼び出されるため、次のように最適化する必要があります。可能。

これら2つのタイプの使用法に関するこの基本情報を読むことをお勧めします。

したがって、最後にPHPクラスが必要です。このクラスの名前は、「user_」または「tx_」から始まり、main()メソッドを使用します。このメソッドは2つのパラメーター$content$confを取ります。これらのパラメータは使用されませんが、参考までに、$ contentには前処理されたコンテンツが含まれる場合があり、$confにはスクリプトに必要な構成データが含まれる場合があります。

main()内で、HTML出力を作成し、それを(文字列として)返すだけです。

USERの場合はTS部分が続きます:

includeLibs.something = fileadmin/db/db.php
marks.CONTENT.30 = USER
marks.CONTENT.30 {
  userFunc = user_db->main
}

USER_INTの場合:

marks.CONTENT.30 = USER_INT
marks.CONTENT.30 {
  includeLibs = fileadmin/db/db.php
  userFunc = user_db->main
}

注:私はあなたのケースのための汚い、しかし簡単な方法を説明しました。CONTENT cObjectの使用を検討する方がはるかに優れています。これは、必要なことを正確に実行するためです。つまり、DBからレコードをフェッチし、好みの方法でページに出力します。

于 2013-03-10T16:42:33.380 に答える