On our site, other admins add images via the "Resources" tab of the main page. These images are displayed as Banners in a Slider on the main page. However, now they want the ability to add links to specific images.

My first thought on this (after receiving some help on making a loop for images to be added to the page) was to perhaps let them be able to add the link to either the "Title" or "Caption" spot I saw there. And later, on the slider "create" function, pull the said data from the image and make <a> wrap around the image before the slider finished building. I've already tested the slider plugin with this functionality, and that would work fine, however, I can't seem to pull anything from the "Title" or "Caption" and add it to the image in any way.

My other thought would be, is there a way to extend the back end to give them an actualy spot to paste links on images so that I may pull that and wrap the image via the typoscript, or can i pull from caption and wrap image in <a> "if" the link is available.

In other words, does typoscript have a type of "if" statement? What I ahve so far, thanks to maholtz is as follows:

#BANNER IMAGES LOOP BEGIN
page.10.marks.topimage = TEXT
page.10.marks.topimage {
    # retrieve data
    data = levelmedia: -1, "slide"
    override.field = media
    # we have some filenames in a list, let us split the list
    # and create images one by one
    # if there are five images selected, the CARRAY "1" will be executed
    # five times where current is loaded with only one filename
    split {
        # the images are separated via ","
        token = ,
        # you can do funny stuff with options split, f.e. if you want to give first
        # and last image a different class... but thats another topic;)
        # we just say, render every splitted object via CARRAY "1"
        cObjNum = 1 
        1 {
            # just render the single image, 
            # now there should be one filename in current only
            10 = IMAGE
            10 {
                file.import.wrap = fileadmin/user_upload/|
                file.import.current = 1
                border = 0
                file.height = 670
                file.width = 1800
                altText = Banner
                titleText = Banner
                #   attempt to add link to image if available
                caption.1.typolink.parameter.field = image_link
                caption.1.typolink.parameter.listNum.stdWrap.data = register:IMAGE_NUM_CURRENT
            }
        }
    }
    wrap = <div id="slides">|</div> 
}
#BANNER IMAGES LOOP END

I was thinking perhaps I could do something like:

10 {
        file.import.wrap = fileadmin/user_upload/|
        file.import.current = 1
        border = 0
        file.height = 670
        file.width = 1800
        altText = Banner
        titleText = Banner
        #   attempt to add link to image if available
        caption.1.typolink.parameter.field = ???
        caption.1.typolink.parameter.listNum.stdWrap.data = register:IMAGE_NUM_CURRENT
}

But as you can see, I'm stumped on how that might even work right. Can anyone help point me the right way.

As before mentioned, perhaps I could do ONE of two things:

  1. Pull link from "Title" or "Caption" and add it to the IMAGE Date on output so that I can use that client side to wrap the image in appropriate a tag, |OR|
  2. Pull link from there and use typoscript to wrap the image in a tags
有帮助吗?

解决方案

When accessing the ressources via levelmedia = slide you're not directly accessing the FAL table. Therefore you have to load it again to access the fields you want. We solved exactly the problem you have with the following code. Insert it inside your 1 after 10 = IMAGE.

typolink{
    parameter{ 
        cObject                             = RECORDS
        cObject{
            source.current                  = 1
            tables                          = sys_file_reference
            conf.sys_file_reference         = TEXT
            conf.sys_file_reference.field   = #title or description
        }
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top