1

3 つの画像 (コンテンツ オブジェクト) があります。

tempProjectImage = IMAGE                                                                  
                tempProjectImage {
                    file{
                        #Nur der erste Eintrag.
                        import.listNum = 0

                        #Datei wird aus DAM gelesen
                        import.cObject = USER                               
                        import.cObject {
                            userFunc = tx_dam_tsfe->fetchFileList
                            refField = project_picture
                            refTable = tx_nmshowroom_items
                        }                            
                        width = 298
                        height = 200                            
                    }

                    altText.field = title
                    titleText.field = title
                    params = class="previewImage"                                                                                                       
                }

tempItemImage = IMAGE                                                                  
                tempItemImage {
                    file{
                        #Nur der erste Eintrag.
                        import.listNum = 0

                        #Datei wird aus DAM gelesen
                        import.cObject = USER                               
                        import.cObject {
                            userFunc = tx_dam_tsfe->fetchFileList
                            refField = images
                            refTable = tx_nmshowroom_items
                        }                            
                        width = 298
                        height = 200                            
                    }

                    altText.field = title
                    titleText.field = title
                    params = class="previewImage"                                                                                                       
                }

custImage = IMAGE
                    custImage {
                        file{
                            #Nur der erste Eintrag.
                            import.listNum = 0

                            #Datei wird aus DAM gelesen
                            import.cObject = USER                               
                            import.cObject = USER                               
                            import.cObject {
                                userFunc = tx_dam_tsfe->fetchFileList
                                refField = images
                                refTable = tx_nmshowroom_customers
                                refUid.field = tx_nmshowroom_customers
                            }                        
                            width = 298
                            height = 200                            
                        }

                        altText.field = title
                        titleText.field = title
                        params = class="previewImage"                                                                                                       
                    }

私のHTMLテンプレートには

###IMAGE###

私がやりたいのは、一種の複数のオーバーライドです:

tempItemImage が空の場合は tempProjectImage を表示し、tempProjectImage も空の場合は custImage を表示します。

私はから始めました:

image < .customers.custImage
image.file.import.override.cObject < .tempProjectImage.file.import.cObject

そして、これは完全に機能します。しかし、別のオーバーライドを追加すると:

image < .customers.custImage
image.file.import.override.cObject < .tempProjectImage.file.import.cObject
image.file.import.override.cObject < .tempItemImage.file.import.cObject

もう機能しません。tempItemImage (存在する場合) が他の画像をオーバーライドすることはありません。

私は何を間違っていますか?

前もって感謝します、 ダビデ

4

1 に答える 1

2

stdWrap 関数「ifEmpty」があります。それはあなたがやりたいことに合っていると思います。

(未テスト)

# you need only one IMAGE object,
# but you add an ifEmpty statement, two times with
# the fall back USER-Object
tempProjectImage = IMAGE                                                                  
tempProjectImage {
  file{
    import.listNum = 0
    import.cObject = USER                               
    import.cObject {
      # default
    }
    import.ifEmpty.cObject = USER
    import.ifEmpty.cObject {
       # Fallback 
    }
    import.ifEmpty.ifEmpty.cObject = USER
    import.ifEmpty.ifEmpty.cObject {
       # second fallback
    }
  }
}
于 2012-10-30T16:14:06.817 に答える