Zum Inhalt springen

TV und das ypMenu

Erstellt am 7. Oktober 2005 · 5 Antworten · letzte Antwort am 11. Juli 2006

Tags: Frage

rosieres ·

Hello ich versuche in ein TV Template das ypMenu einzubinden aber leider will mir das nicht gelingen.
ich hab also die datei temp.ypMenu fertig konfiguriert
und versuche das jetzt im SETUPCODE des normalen Template einzubinden aber es will mir bei besten willen nicht gelingen.

      page = PAGE
      page.typeNum = 0
      page.stylesheet = fileadmin/templates/main.css
      page.8 = USER
      page.8{
      userFunc = tx_templavoila_pi1->main_page
      marks.MENU = COA
      marks.MENU {
      9 < temp.ypMenu
      20 < temp.user_menu
         }
      }

kann mir da jemand helfen ?
habe ich vielleicht einen völlig falschen ansatz gewählt ?

ich hab auch schon so versucht:
alles inst main template nehmen... aber auch ohne erfolg ...

config.no_cache = 1
page.includeLibs.ypMenu = fileadmin/scripts/ypMenu.php
page.headerData.11 = TEXT
page.headerData.11.value = <script type="text/javascript" src="fileadmin/scripts/ypSlideOutMenus.js" language="JavaScript"></script>
#temp.ypMenu.special = directory
temp.ypMenu.special.value = 1
temp.ypMenu = HMENU
temp.ypMenu {
     1 = GMENU
     1 {
          IProcFunc = user_menu->firstLevel
          expAll = 1
          wrap = |
          NO = 1
          NO {
               wrap = |
               XY = [50.w]+20, 25
               30 = IMAGE
               30.file = fileadmin/templates/Bilder/menu_bg.png
                transparentBackground = 1 
               50 = TEXT
               50 {
                   text.field = title
                   hide = 0
                    fontFile = fileadmin/templates/fonts/IMPACT.TTF                    
                    offset = 2,20
                    fontColor = #FFFFFF
                    transparentBackground = 1
              }
               
          }
          IFSUB < temp.ypMenu.1.NO
          IFSUB = 1
          
          RO < temp.ypMenu.1.NO
          RO = 1
          RO {
               
               30 >
          }
       IFSUBRO < temp.ypMenu.1.NO
        IFSUBRO = 1
          IFSUBRO {
               
               30 >
          }
     }  
      
     2 = TMENU
     2 {
          IProcFunc = user_menu->secondLevel
          expAll = 1
          NO.linkWrap = <li>|</li>
     }
 
     3 = TMENU
     3 {
          IProcFunc = user_menu->thirdLevel
          expAll = 1
          NO.linkWrap = <li>|</li>
     }
 
     4 = TMENU
     4 {
          IProcFunc = user_menu->fourthLevel
          expAll = 1
          NO.linkWrap = <li>|</li>
     }
}

temp.user_menu = USER
temp.user_menu.userFunc = user_menu->menuEnd 

#################################################
page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/templates/main.css
page.8 = USER
page.8.userFunc = tx_templavoila_pi1->main_page

hier die DS XML DAZU :

<T3DataStructure>
    <ROOT type="array">
        <tx_templavoila type="array">
            <title>ROOT</title>
            <description>Select the HTML element on the page which you want to be the overall container element for the template.</description>
        </tx_templavoila>
        <type>array</type>
        <el type="array">
            <field_menu type="array">
                <tx_templavoila type="array">
                    <title>Menu</title>
                    <sample_data type="array">
                        <numIndex index="0">Hier kommt das Hauptmenu hin</numIndex>
                    </sample_data>
                    <eType>TypoScriptObject</eType>
                    <eType_EXTRA type="array">
                        <objPath>temp.ypMenu</objPath>
                    </eType_EXTRA>
                    <TypoScriptObjPath>temp.ypMenu</TypoScriptObjPath>
                </tx_templavoila>
            </field_menu>
            <field_content type="array">
                <tx_templavoila type="array">
                    <title>Content</title>
                    <sample_data type="array">
                        <numIndex index="0">hier kommt der content</numIndex>
                    </sample_data>
                    <eType>ce</eType>
                    <TypoScript>
	10= RECORDS
	10.source.current=1
	10.tables = tt_content
							</TypoScript>
                </tx_templavoila>
                <TCEforms type="array">
                    <config type="array">
                        <type>group</type>
                        <internal_type>db</internal_type>
                        <allowed>tt_content</allowed>
                        <size>5</size>
                        <maxitems>200</maxitems>
                        <minitems>0</minitems>
                        <multiple>1</multiple>
                        <show_thumbs>1</show_thumbs>
                    </config>
                    <label>Content</label>
                </TCEforms>
            </field_content>
        </el>
    </ROOT>
</T3DataStructure>
AFisch ·

Moin

Schau dir mal im FTB Tutorial den Teil an wo das Menu realisiert wird. Mit deinem YPMenu machst du das nicht anders. Du musst nur die beiden Funktionen 9 und 10 in ein COA packen.

Gruß AFisch

rosieres ·

Hi ich hatte das FTb mir schon genau angeschaut aber bin trotzdem nicht dahinter gekommen ... wenn ich es so nachbaue wie im ftb gehts auch aber wenn ich das ypMenu benutze dann gehts nicht...
ich hab das ypMenu jetzt wieder in einer eigenen Datei temp.ypMenu und nicht weiter verändert und so sieht jetzt
das normale setup aus

##################################################
#  TV PAGE
##################################################
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
page.10 {
          temp.ypMenu = COA
          temp.ypMenu {
          10 < temp.ypMenu
          20 < temp.user_menu
          }

meinst Du das so ? ... leider Funkt es nicht ...

rosieres ·

So dank tatkräftiger Hilfe bin ich nun doch noch zu einem Ergebnis gekommen ...
wie es scheint.
Man muss aus irgend einem Grund der mir völlig verborgen ist is der DS und in der TS Datei ein lib.ypMenu beutzen ....

Die TS SETUP DATEI

lib.ypMenu = COA
lib.ypMenu {
      1 < temp.ypMenu
      2 < temp.user_menu
          }

userFunc = tx_templavoila_pi1->main_page
}
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page

Die DS XML ( Auszug )

...
<tx_templavoila type="array">
                    <title>Menu</title>
                    <sample_data type="array">
                        <numindex index="0">Hier kommt das Hauptmenu hin</numindex>
                    </sample_data>
                    <etype>TypoScriptObject</etype>
                    <etype_extra type="array">
                        <objpath>lib.ypMenu</objpath>
                    </etype_extra>
                    <typoscriptobjpath>lib.ypMenu</typoscriptobjpath>
                </tx_templavoila>
webdeveloper ·

EDIT:

Yannis schrieb

Ich habe das Problem mit dem IE gelöst:

Benennt den DIV-Container in dem die Menu-Zeile liegt in

<div id="MenuNavigation"></div>

um, dann sollte das Menu auch im IE funktionieren.
Bei mir hieß der Container vorher nur "menu", aber jetzt gehts!
Ich weiß aber nicht, was das soll.

Viel Glück,
der Yannis

Hallo,

bei mir funktioniert das ypMenu zwar mit TV, aber nur im FF, Opera etc... Im IE erscheint immer eine JS-Fehlermeldung:

zeile:   116
zeichen: 2
'container' ist Null oder kein Objekt

Das gleiche für Zeile 137.

Mein Verdacht liegt hier bei TV, aber auch nur deshalb, weil ich bereits ein Projekt OHNE TV erfolgreich mit dem ypMenu umgeseztt habe. Nun bekomme ich o.g. Fehler bereits bei dem zweiten Projekt, bei beiden benutze ich TV...

Vllt. weiss jemand rat?
Die o.g. Fehlermeldung ist bei beiden Projekten identisch. Selbe Zeile.

Danke und Gruss
Alex