Mau*_*ice 10 php mysql typo3 fluid extbase
对于一个我正在使用Typo3 v6.0的项目.我正在寻找创建嵌套的内容元素或内容元素容器.我希望能够在不使用特定模板的情况下创建内联双列布局.我希望不使用templavoila 这样做.
我曾尝试扩展是gridelements,kb_nescefe,bs_fce,multicolumn但这些不工作,因为它们与TYPO3的V6兼容.
我的目标是像附加图像那样的最终结果.内联双列内容可以省略,使用一次或多次使用,包含任何其他内容元素.
我在这里寻找最简单的解决方案.我更喜欢不需要在flux诸如此类的解决方案中投入大量学习时间(http://fedext.net/ - 看起来很酷,但现在也耗费时间)
有任何想法吗?

Cla*_*Due 14
我是Fluid扩展套件的作者(流量,流体含量,流体页面等),当然希望帮助您了解使用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)
}
Run Code Online (Sandbox Code Playgroud)
关于(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>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,您可以完全自由地添加任何您想要的HTML,使用任何ViewHelpers(如果那是你的东西,甚至渲染TS对象).要添加其他内容元素,只需添加新模板文件 - 它们将自动被识别.
但它的工作方式与IRRE不同(你也可以使用Flux字段实现 - 如果你希望看到它的演示,请告诉我):它会让你使用TYPO3中的原生拖放来放置你的孩子将内容元素转换为实际内容容器 - 就像您以前使用电视一样.
因此,Fluid Content可能是您最接近电视的内容.
关于Flux过度杀戮,我想告诉你它实际上的表现:
一开始看起来可能看起来很难,但我保证你不会知道和记住比pibase,FlexForm XML,TS或本机Extbase插件更少.如果您想要更多的安全网,我强烈建议您在编辑器中使用XSD架构 - 这可以让您自动完成特殊<flux:....>标签和其他标签.
但是:它需要你学习一点关于Fluid的逻辑:什么是Layouts和Partials(你很可能想在某些时候使用它们)以及如何使用特殊标签并引用变量(这将是其他用例 - 但不是手头的用例;它只需要简单的ViewHelper标记).
我希望这有帮助.而且我已经减少了你对Flux过度杀戮和太多学习的恐惧;)
干杯,
克劳斯又名.NamelessCoder
有一个startnext项目,其中grid_elements中的已知错误已得到修复.Afaik下一步是使grid_elements与TYPO3 6兼容.但是我想,它们需要几周才能发布.但是,也许他们将从版本2开始(这些日子将与TYPO3 6兼容......).
看看锻造项目.
好吧,我有半解决方案。我使用WEC 内容元素插件来管理自定义内容元素。
然后我使用了以下 Flexform:
<T3DataStructure>
<ROOT>
<type>array</type>
<el>
<leftColumn>
<TCEforms type="array">
<label>Left column</label>
<config>
<type>inline</type>
<foreign_table>tt_content</foreign_table>
<maxitems>100</maxitems>
<appearance>
<showSynchronizationLink>0</showSynchronizationLink>
<showAllLocalizationLink>0</showAllLocalizationLink>
<showPossibleLocalizationRecords>0</showPossibleLocalizationRecords>
<showRemovedLocalizationRecords>0</showRemovedLocalizationRecords>
<expandSingle>1</expandSingle>
</appearance>
</config>
</TCEforms>
</leftColumn>
<rightColumn>
<TCEforms type="array">
<label>Right column</label>
<config>
<type>inline</type>
<foreign_table>tt_content</foreign_table>
<maxitems>100</maxitems>
<appearance>
<showSynchronizationLink>0</showSynchronizationLink>
<showAllLocalizationLink>0</showAllLocalizationLink>
<showPossibleLocalizationRecords>0</showPossibleLocalizationRecords>
<showRemovedLocalizationRecords>0</showRemovedLocalizationRecords>
<expandSingle>1</expandSingle>
</appearance>
</config>
</TCEforms>
</rightColumn>
</el>
</ROOT>
</T3DataStructure>
Run Code Online (Sandbox Code Playgroud)
以及以下前端打字稿设置:
tt_content.twoColumnContainer = COA
tt_content.twoColumnContainer {
10 = < lib.stdheader
20 = COA
20 {
wrap = <div class="twocolumn-container"> | </div>
10 = RECORDS
10 {
tables = tt_content
dontCheckPid = true
source.data = t3datastructure : pi_flexform->leftColumn
wrap = <div class="twocolumn-left"> | </div>
}
20 = RECORDS
20 {
tables = tt_content
dontCheckPid = true
source.data = t3datastructure : pi_flexform->rightColumn
wrap = <div class="twocolumn-right"> | </div>
}
}
Run Code Online (Sandbox Code Playgroud)
这导致了使用IRRE编辑器添加/编辑内容元素的后端内容元素。不过,容器元素没有预览,并且两列位于彼此下方(而不是彼此相邻)。所有这一切都是我经过几个小时的谷歌搜索和尝试各种方法/插件后找到的唯一可行的解决方案。
希望这对某人有帮助。