我正在使用TYPO3 6.2.3和来自TER的扩展:(助焊剂7.0.0,fludipages 3.0.0,fluidcontent 4.0.0,VHS 1.8.5) 命名空间的正确实现是什么?在Documentation的fluidtypo3是它
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
{namespace v=Tx_Vhs_ViewHelpers}
xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"
xmlns:flux="http://typo3.org/ns/flux/ViewHelpers"
xmlns:v="http://typo3.org/ns/vhs/ViewHelpers">
在其他places上,它是:
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
{namespace v=Tx_Vhs_ViewHelpers}
<f:layout name="Content" />
<div xmlns="http://www.w3.org/1999/xhtml"
xmlns:flux="http://fedext.net/ns/flux/ViewHelpers"
xmlns:v="http://fedext.net/ns/vhs/ViewHelpers"
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
如果<f:layout name="Content" />
必须在命名空间div的内部或外部,我也有点困惑?
答案 0 :(得分:2)
定义名称空间有两种方法。第一个是流体自定义样式表示法中的命名空间标记:
{namespace x=Classname}
另一个是命名空间的正式XML表示法,因此如果您使用它,它会使您的模板完全符合XML。
<someTag xmlns:xyz="http://typo3.org/ns/Some/Package/ViewHelpers" />
对于TYPO3 CMS
,解决方案如下。
settings.namespaces.http://example\.org/url = className
,如果匹配,请使用此http://typo3.org.ns/
开头,然后将其后的所有内容解释为类名有关更多信息,请查看typo3/sysext/fluid/Tests/Unit/Core/Parser/TemplateParserTest.php
由流体检测和解释的AFAIK命名空间不会打印到输出中。
答案 1 :(得分:1)
xmlns-defintions仅供您的IDE获取代码完成。将它添加到div将在前端渲染它,我不认为你想要它。
这是我在模板和部分中使用的通用模板。
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<head>
<title>Template: Extension Index</title>
<f:layout name="Default" />
</head>
<body>
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
<f:section name="main">
// Content
<f:render partial="Example/Ex" section="main">
</f:section>
</body>
</html>
答案 2 :(得分:1)
Q: What is the right implementation of the namespaces?
A: I'm not sure myself. But in the case of vhs viewhelpers, this namespace declaration in a partial works for me (Typo3 6.2.12, vhs 2.3.2)
{namespace v=FluidTYPO3\vhs\ViewHelpers}
Side note
The following namespace declaration will not work, because it is not using the namespace notation (thx @kimomat):
{namespace v=Tx_Vhs_ViewHelpers}
On the other hand, for the namespace of my own viewhelpers, I have to use the above notation and it works
{namespace speciality = Tx_Speciality_ViewHelpers}
For reference, this is my complete partial.html
{namespace v=FluidTYPO3\vhs\ViewHelpers}
<f:if condition="1">
<f:then>SUCCESS</f:then>
<f:else>ERROR</f:else>
</f:if>