Аз съм автор на пакета за разширения 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, който желаете, да използвате всякакви ViewHelpers (дори да изобразявате TS обекти, ако това е вашето нещо). За да добавите допълнителни елементи на съдържанието, просто добавете нови шаблонни файлове - те ще бъдат разпознати автоматично.
Но той ще работи по различен начин от IRRE (което можете също постигнете с помощта на Flux полета - уведомете ме, ако искате да видите демонстрация на това):ще ви позволи да използвате естественото drag-n-drop в TYPO3, за да поставите елементите на вашето дете съдържание в реални контейнери за съдържание - както правехте преди с телевизор.
Като такова, Fluid Content е вероятно най-близкото до телевизията.
По отношение на това, че Flux е излишен, бих искал да ви дам представа какво всъщност изпълнява:
- Кеширано четене на TS, за да се знаят пътищата
- Кеширани списъци с открити шаблони
- Fluid кешира към собствен PHP, Flux използва само Fluid за съхраняване на конфигурация (което означава, че е естествен PHP докрай)
- Самият Flux регистрира кука абонат, който реагира на записаното съдържание, това забавя бекенда (незабележимо)
- Сами по себе си Flux не създава натоварване на FE с едно изключение:когато е в некеширани плъгини (FluidContent е кеширан!) Flux може да извика собствения PHP кеширан код за четене на конфигурации.
- FluidContent се състои от изключително прост контролер; изходът е напълно кеширан.
- Може да искате да добавите колекцията VHS ViewHelper – тя сама по себе си създава абсолютно нулево натоварване:използва ресурси само там, където използвате неговите ViewHelper. Съдържа куп ViewHelpers, сигурен съм, че ще ви бъде полезен.
Отначало може да изглежда поразително, но ви гарантирам, че има по-малко неща, които трябва да знаете и запомните, отколкото в pibase, FlexForm XML, TS или родни плъгини Extbase. Ако искате още повече от защитна мрежа, силно препоръчвам да използвате XSD схеми във вашия редактор - това ви осигурява автоматично довършване на специалния <flux:....>
етикети и други.
Въпреки това:това ще изисква от вас да научите малко за логиката на Fluid:какво представляват Layouts и Partials (най-вероятно ще искате да ги използвате в даден момент) и как да използвате специалните тагове и да се позовавате на променливи (които ще се изискват в други случаи на употреба - но не и този, който е под ръка; изисква само прости маркери на ViewHelper).
Надявам се това да помогне. И че намалих страха ви, че Flux е излишен и твърде много за научаване;)
Наздраве,
Клаус, известен още като. Безименен код