Hallo Roth, hallo Arne,

der Standard Namespace Präfix "f" wird automatisch von TYPO3 eingebunden, da
dieser in der Regel immer benötigt wird. Andere Namespaces lassen sich mit
der von Arne bereits gezeigten Variante leicht am Anfang jeder Templatedatei
einbinden:

{namespace v=FluidTYPO3\Vhs\ViewHelpers}

Alternativ lassen sich die Namespaces auf mit "xmlns" Deklarationen wie
folgt angeben:

<div xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers";
     xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers";>
   ...
</div>

Sprich: "http://typo3.org/ns/"; gefolgt von dem Namespace mit "/" statt "\".

Das ist besonders dann praktisch, wenn man die XSD Dateien nutzt um
autocompletion in der genutzten IDE (z.B. PHPStorm) nutzen zu können.

Gemischte Deklarationen sind AFAIK nicht möglich, d.h. man kann nicht die
xmlns Deklaration und die {namespace v=...} in der gleichen Datei nutzen.

Ich weiß aber nicht ab welcher Version es mit den xmlns deklarationen
funktioniert. Ich nutze gerade 6.2.14, und dort klappt es. Wenn ihr die 7.4
Version nutzt, dann wird eure HTML Ausgabe sogar von den xmlns Deklarationen
bereinigt, was bei älteren Versionen nunmal leider nicht der fall ist.

Grüße
Lars 

-----Original Message-----
From: typo3-german-boun...@lists.typo3.org
[mailto:typo3-german-boun...@lists.typo3.org] On Behalf Of Arne-Kolja
Bachstein
Sent: Wednesday, August 26, 2015 9:11 AM
To: German TYPO3 Userlist
Subject: Re: [TYPO3-german] <v:page.menu

Hallo,

nein, Du musst in jedem View Deine benutzten Namespaces definieren.
Zumindest kenn ich es bisher so. Wie der Standard-Namespace „f“ für Fluid
dann rein kommt, weiß ich aber gerade auch nicht. Wäre mal interessant zu
erörtern, vielleicht ergibt es ja doch Sinn, den Namespace quasi von der
Extension her schon zu „injecten“. Wobei das mutmaßlich auch unsinnigen
Overhead ergeben kann, wenn er dann nur selten gebraucht wird.

Hier ein Beispiel, wie (vereinfacht, hab viel custom stuff raus genommen)
ein Navigations-Partial bei mir aussieht:

{namespace v=FluidTYPO3\Vhs\ViewHelpers}

<v:page.menu expandAll="true" levels="3" entryLevel="1" as="menu">
  <ul class="main">
    <f:for each="{menu}" as="mainLevel">
      <li>
        <a href="{mainLevel.link}"
class="{mainLevel.class}">{mainLevel.title}</a>

        <v:page.menu pageUid="{mainLevel.uid}">
          <ul class="sub">
            <f:for each="{menu}" as="subLevel" iteration="it">
              <li class="{subLevel.class}">
                <a href="{subLevel.link}"
class="{subLevel.class}">{subLevel.title}</a>

                <v:page.menu pageUid="{subLevel.uid}">
                  <ul class="sub-sub">
                    <f:for each="{menu}" as="subsubLevel">
                      <li class="{subsubLevel.class}">
                        <a href="{subsubLevel.link}"
class="{subsubLevel.class}">{subsubLevel.title}</a>
                      </li>
                    </f:for>
                  </ul>
                </v:page.menu>
              </li>
            </f:for>
          </ul>
        </v:page.menu>
      </li>
    </f:for>
  </ul>
</v:page.menu>

VG

Arne

> Am 26.08.2015 um 08:15 schrieb Roth <x...@roth.biz>:
> 
> Hallo Arne,
> 
> vielen Dank für Deine schnelle Antwort.
> 
> Ja VHS ist installiert. Wie binde ich denn den Namespace ein? Macht das
> nicht Typo3 indem ich fluid per Include im Root Template einbinde?
> 
> Viele Grüße
> 
> Max
> 
> On Wed, 2015-08-26 at 07:51 +0200, Arne-Kolja Bachstein wrote:
>> Hallo Max,
>> 
>> hast Fu den Namespace auch eingebunden und VHS installiert?
>> 
>> Grüße
>> 
>> Arne
>> 
>>> Am 26.08.2015 um 07:13 schrieb Roth <x...@roth.biz>:
>>> 
>>> Hallo,
>>> 
>>> ich versuche mittels <v:page.menu den Inhalt aus Unterseiten zu holen:
>>> 
>>>   <v:page.menu levels="1" as="sections">
>>>       <nav>
>>>           <ul class="menu">
>>>               <f:for each="{sections}" as="section"
>>> iteration="iteration">
>>>                   <li><a href="#section-{section.uid}"
>>> title={section.title}">{section.title}</a></li>
>>>               </f:for>
>>>           </ul>
>>>       </nav>
>>>   </v:page.menu>
>>> 
>>> Allerdings wird bei mir zw. den <v:page.menu> Tags nichts ausgegeben.
>>> Fluid habe ich eingebunden.
>>> Den Code habe ich direkt in der layout.html eingefügt.
>>> 
>>> Hat jemand damit Erfahrung? Grundsätzlich scheint dieser ViewHelper sehr
>>> nützlich zu sein um Menüs zu bauen. Das sieht auch übersichtlicher aus
>>> als das HMENU und TMENU Konstrukt. Oder kann man damit diese Konstrukte
>>> nicht ersetzen?
>>> 
>>> Viele Grüße
>>> 
>>> Max
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german@lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german@lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german@lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an