[TYPO3-german] CONTENT table = pages geht nicht

Markus Kolb markus-052007 at tower-net.de
Tue May 29 23:52:34 CEST 2007


JoH asenau wrote on 29.05.2007 18:22:
>>> ich will die pages Table für das title und alias Feld abfragen.
>>> Aber irgendwie mach ich wahrscheinlich was falsch, weil der wrap
>>> leer ist.
>>>
>>> Ich brauche das Alias Feld für meine Menüs. So weit ich das aus dem
>>> T3 Sourcen herausgefunden habe, steht das field:alias im draft mode
>>> nicht zur Verfügung. Weshalb auch immer...
>>> Da ich aber sowohl im Draft als auch Live eine Konsistenz brauche,
>>> dachte ich... ok dann hole ich mir das alias-Feld eben aus der
>>> Datenbank mit dem CONTENT.
>>>
>>> Aber was mach ich jetzt falsch, dass da nichts vom renderObj
>>> ausgegeben wird?
>>>
>>> Hier der Teil meines TS:
>>>
>>> temp.menu.1 = TMENU
>>> temp.menu.1 {
>>>   NO {
>>>     before.cObject = COA
>>>     before.cObject {
>>>       5 = TEXT
>>>       5.value = <img src=
>>>       10 = CONTENT
>>>       10 {
>>>         table = pages
>>>         select {
>>>           selectFields = title,alias
>>>           uidInList.field=uid
>>>           max = 1
>>>           where = hidden=0
>>>         }
>>>         renderObj = COA
>>>         renderObj {
>>>           10 = TEXT
>>>           10.field = alias
>>>           10.wrap = "fileadmin/templates/images/|.gif"
>>>         }
>>>         wrap = |
>>>       }
>>>       13 = TEXT
>>>       13 {
>>>         field = title
>>>         noTrimWrap = | border="0" alt="image: |"|
>>>       }
>>>       15 = TEXT
>>>       15 {
>>>         field = title
>>>         noTrimWrap = | title="image: |" |
>>>       }
>>>       20 = TEXT
>>>       20 {
>>>         field = alias // nav_title // title
>>>         case = lower
>>>         wrap = name="|" />
>>>       }
>>>     }
>>>     allWrap = <li>|</li>
>>>   }
>>> }
> 
> Well - why do you use a CONTENT element at all?
> This will fire an additional MySQL SELECT for each menu element instead of
> taking the data which is already available in cObj->data.
> As far as I can see a simple TEXT element would do the job perfectly well.

Nein, weil field:alias wird im Draft Mode bzw. bei unpublizierten Dingen
nicht gefüllt. Daher brauch ich ja die zusätzliche Abfrage um an den
alias auch im Draft Mode zu kommen.
Bei
before.cObject {
            field = alias // nav_title // title
wird das bei unpublished Dingen immer nav_title bzw. title.
Hab ich doch geschrieben.
Für mich ist das ein Bug in T3. Ich versteh zwar, dass die für die
Seitenauslieferung über Aliase prüfen müssen, ob die Seite überhaupt
published ist, aber die Lösung ist für mich falsch angegangen. Im Moment
hat im ganzen T3 eine nicht publizierte Seite keinen Alias (obwohl
ausgefüllt) weil der SELECT Befehl auf den published status prüft.

Vielleicht hilft mir dann doch jemand mit dem CONTENT für eine
zusätzliche eigene MySQL SELECT abfrage.

Markus


More information about the TYPO3-german mailing list