sql >> データベース >  >> RDS >> Mysql

Typo3 V6:コンテンツ要素コンテナを作成する方法は? (テレビなし)

    私はFluid拡張スイート(flux、fluidcontent、fluidpagesなど)の作成者です。もちろん、FluidContentを使用してFCEを作成する方法について学習できるように支援したいと思います。恐れるほど進んでいません。少なくとも、上記の例よりもはるかにコンパクトです。以下は、FluidContentでの例と同じ結果を達成します:

    TypoScript(静的ロード:css_styled_content、fluid_content)

    plugin.tx_fed.fce.yourname {
        templateRootPath = fileadmin/Templates # if you don't want to use an extension (1)
        # partial and layout root paths not defined (2)
    }
    

    (1)あなたは本当に、本当にすべきです。拡張機能を使用すると、ユーザーがアップロードしたメディアなどがサイトのコンテンツから分離されます。代わりにそれを行う場合は、プライベートリソースフォルダへのEXT:...パスを使用するだけです。また、(2)に関しては、これらのパスは、実際にパーシャルを使用したい場合にのみ必要です。

    次に、テンプレートファイル自体(ファイルが配置されているパスがTSに追加されたときに自動検出されます):

    {namespace flux=Tx_Flux_ViewHelpers}
    <f:layout name="Content" />
    <f:section name="Configuration">
        <flux:flexform id="columns" label="Columns" icon="path/to/iconfile.jpg">
            <flux:flexform.grid>
                <flux:flexform.grid.row>
                    <flux:flexform.grid.column>
                        <flux:flexform.content name="left" label="Left content" />
                    </flux:flexform.grid.column>
                    <flux:flexform.grid.column>
                        <flux:flexform.content name="right" label="Right content" />
                    </flux:flexform.grid.column>
                </flux:flexform.grid.row>
            </flux:flexform.grid>
        </flux:flexform>
    </f:section>
    <f:section name="Preview">
        <flux:widget.grid />
    </f:section>
    <f:section name="Main">
        <div class="row">
            <div class="span6">
                <flux:flexform.renderContent area="left" />
            </div>
            <div class="span6">
                <flux:flexform.renderContent area="right" />
            </div>
        </div>
    </f:section>
    

    ご覧のとおり、任意のHTMLを自由に追加し、任意のViewHelperを使用できます(それが必要な場合は、TSオブジェクトをレンダリングすることもできます)。コンテンツ要素を追加するには、新しいテンプレートファイルを追加するだけです。それらは自動的に認識されます。

    ただし、IRREとは動作が異なります(また Fluxフィールドを使用して達成する-そのデモを見たい場合はお知らせください):TYPO3のネイティブドラッグアンドドロップを使用して、子コンテンツ要素を実際のコンテンツコンテナに配置することができます-以前のようにテレビ付き。

    そのため、FluidContentはおそらくテレビに最も近いものです。

    Fluxがやり過ぎであるということに関して、私はあなたにそれが実際に何を実行するかについての考えを与えたいと思います:

    • パスを知るためのTSのキャッシュ読み取り
    • 検出されたテンプレートのキャッシュリスト
    • FluidはネイティブPHPにキャッシュされ、FluxはFluidのみを使用して構成を保存します(つまり、FluidはずっとネイティブPHPです)
    • Flux自体は、保存されているコンテンツに反応するフックサブスクライバーを登録します。これにより、バックエンドが遅くなります(目立たないように)
    • Flux自体は、1つの例外を除いて、FEに負荷をかけません。キャッシュされていないプラグインの場合(FluidContentはキャッシュされます)、FluxはネイティブのPHPキャッシュコードを呼び出して構成を読み取る場合があります。
    • FluidContentは、非常に単純なコントローラーで構成されています。出力は完全にキャッシュされます。
    • VHS ViewHelperコレクションを追加することをお勧めします-それ自体は完全にゼロの負荷を作成します:それはあなたがそのViewHelpersを使用する場所でのみリソースを使用します。たくさんのViewHelpersが含まれているので便利だと思います。

    最初は圧倒されるように見えるかもしれませんが、pibase、FlexForm XML、TS、またはネイティブExtbaseプラグインよりも、知っておくべきことや覚えておくべきことが少ないことを保証します。さらにセーフティネットが必要な場合は、エディターでXSDスキーマを使用することを強くお勧めします。これにより、特別な<flux:....>がオートコンプリートされます。 タグなど。

    ただし、Fluidのロジックについて少し学ぶ必要があります:レイアウトとパーシャルとは何か(ある時点でそれらを使用する可能性が最も高い)と、特別なタグを使用して変数を参照する方法(他のユースケース-ただし、手元にあるものではありません。必要なのは単純なViewHelperタグのみです。

    これがお役に立てば幸いです。そして、Fluxがやり過ぎで、学ぶには多すぎるというあなたの恐れを減らしました;)

    乾杯、
    クラウス別名。 NamelessCoder



    1. リレーショナルデータベースのカスタムフィールドのデザインパターン

    2. MySQLフルテキストハッシュタグの検索(インデックスの#記号を含む)

    3. ファイルまたはアセンブリを読み込めませんでした'MySql.Data、Version =6.3.6.0

    4. Firebaseの概要