2013-07-26 5 views
0

На нашем сайте другие администраторы добавляют изображения через вкладку «Ресурсы» на главной странице. Эти изображения отображаются в виде баннеров в слайдере на главной странице. Однако теперь им нужна возможность добавлять ссылки на определенные изображения.TYPO3: Попытка добавить ссылку на изображения

Моя первая мысль об этом (после получения некоторой помощи по созданию цикла для изображений, которые будут добавлены на страницу), должна была позволить им добавить ссылку на «Title» или «Caption» пятно I видел там. И позже, на слайдере «создайте» функцию, вытащите указанные данные из изображения и сделайте <a> оберните изображение перед тем, как закончите строительство ползунка. Я уже тестировал плагин слайдера с этой функциональностью, и это будет работать нормально, однако я не могу ничего вытащить из «Title» или «Caption» и каким-либо образом добавить его в изображение.

Моей другой мыслью было бы, есть ли способ расширить задний конец, чтобы дать им фактическое пятно, чтобы вставлять ссылки на изображения, чтобы я мог вытащить это и обернуть изображение через typoscript, или я могу вытащить из заголовка и оберните изображение в <a> «, если» доступна ссылка.

Иными словами, существует ли у typoscript тип выражения «если»? То, что я ahve до сих пор, благодаря maholtz выглядит следующим образом:

#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 

Я думал, возможно, я мог бы сделать что-то вроде:

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 
} 

Но как вы можете видеть, я озадачен о том, что может даже работать правильно. Кто-нибудь может указать мне правильный путь.

Как упоминалось ранее, возможно, я мог бы сделать ONE из двух вещей:

  1. Выдвижная ссылку с «Название» или «Подпись» и добавить его к IMAGE Дата на выходе, так что я могу использовать, что клиентская сторона для обертывания изображения в соответствующем теге a, | OR |
  2. Толкай ссылку оттуда и использовать TypoScript, чтобы обернуть изображение в a теги
+0

Не все в TYPO3 должно быть выполнено с помощью typoscript. Вы думали о расширении для этого? Это делает его гораздо более гибким, простым в редактировании и также очень простым в настройке (например, http://typo3.org/extensions/repository/view/flexslider). Я могу порекомендовать его, это просто. – Michael

+0

@ Michael У меня есть и до сих пор, каждое расширение, которое я тряслось, не удалось и даже полностью разбило сервер. До сих пор это единственный простой способ, который я нашел, чтобы сделать это без слишком большого редактирования на самом content.php. Честно говоря, я программист, несмотря на внешнюю помощь, чтение всей документации, просмотр часов видео (для каких английских я мог найти). Я действительно не понимаю эту вещь вообще. И я единственный, кто может заставить его работать. Мне нужно решение, которое соответствует тому, что я знаю, или имеет инструкции «пошаговое». Вы можете найти баннер на странице @ http: //www.mtmww.com/ – SpYk3HH

+0

, который сказал, что я мог бы просто сделать это через php в файле содержимого, но это нежелательно для людей, которые владеют сайтом, поскольку они хотят, насколько это возможно, через «бэкэнд», чтобы они могли в конечном итоге научиться делать это сами ... – SpYk3HH

ответ

2

При обращении к RESSOURCES через levelmedia = скользят вы не прямой доступ к таблице FAL. Поэтому вам нужно снова загрузить его, чтобы получить доступ к полям, которые вы хотите. Мы решили именно эту проблему с помощью следующего кода. Вставьте его внутри 1 после 10 = ИЗОБРАЖЕНИЕ.

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 
     } 
    } 
} 
Смежные вопросы