Как сделать ссылку на URL отдельной новостной статьи через объект CONTENT

Я использую типографский текст ниже для отображения содержимого новостей через объект CONTENT. Все отлично работает, только ссылка не ведет на страницу статьи. Есть ли способ сообщить typolink, что это новостная статья и что для нее следует использовать кешированную ссылку CoolURI?

Кроме того, дополнительный параметр, который я пытаюсь добавить к строке запроса, не отображается.

    temp.MMtest = COA
temp.MMtest {

   10 = CONTENT
   10.table = tt_news
   #10.select.pidInList = 170  # Uid of the sysfolder where News records are stored
   10.select.pidInList = 18
   10.select.recursive = 10
   #10.select.where = uid=10 # Uid of an existing News record
   10.select.andWhere = deleted=0 AND hidden=0
   10.renderObj = COA
   10.renderObj {
     10 = TEXT
     10.field = title
     10.wrap = Title:&nbsp;|<br>
     10.typolink.parameter.field=uid
    typolink.parameter.dataWrap=|
    #typolink.additionalParams.insertData=1
    typolink.additionalParams.data=&my_extra_param=something
    #if.isTrue.field=header
   }
   10.renderObj.20=IMAGE
   10.renderObj.20{
          wrap=|
                            # show it only if inserted
          stdWrap.if.isTrue.field=image
          stdWrap.typolink.parameter.field=uid
          file.import=uploads/pics/
          file.import.field=image
          file.width=100
          file.height=100
   }
 }

person Erich    schedule 19.07.2013    source источник


Ответы (1)


Я не знаю, какие параметры вам нужны, поэтому вкратце:

10.typolink {
  # you need a page to link too
  parameter = PAGE_ID_OF_SINGLE_VIEW

  # create an cacheable link, that does not depend on cooluri or realurl.
  useCacheHash = 1

  # add the additional params
  additionalParams.wrap = &tx_ttnews[uid]=|

  # data expects special commands
  # "&my_extra_param=something" cannot work on .data
  additionalParams.data = field:uid
}

Если вам нужно больше, чем один дополнительный параметр, я бы сделал это следующим образом:

10.typolink {
  parameter = PAGE_ID_OF_SINGLE_VIEW
  useCacheHash = 1

  # Create an Content Object Array
  # so you can separat the different entries
  # the cObject will return &tx_ttnews[uid]=123&what[ever]=hardcodedvalue
  # additionalParams is filled with that string and added to the url
  additionalParams.cObject = COA
  additionalParams.cObject {
    10 = TEXT
    10.wrap = &tx_ttnews[uid]=|
    10.field = uid
    20 = TEXT
    20.wrap = &what[ever]=|
    20.value = hardcodedvalue
  }
}

Вам не нужно

10.select.andWhere = deleted=0 AND hidden=0

это автоматически добавляется объектом CONTENT.

Узнайте больше о typolink о COA и о stdWrap и данные его свойств и, наконец, взгляните на getText.

person maholtz    schedule 19.07.2013
comment
Спасибо Вам за информацию. Это работает хорошо. Я изменил &tx_ttnews[uid]=| в &tx_ttnews[tt_news]=| и добавил мой дополнительный параметр в обертку. Есть ли способ, которым это могло бы ссылаться на версию ссылки CoolURI вместо этого? - person Erich; 19.07.2013
comment
вам нужно создать точно такую ​​же ссылку. Поэтому деактивируйте CoolURI, а затем посмотрите, какие параметры присутствуют. Добавьте те же параметры в том же порядке. Затем CoolURI должен отображать те же ссылки. - person maholtz; 19.07.2013
comment
Я попробую. Спасибо за помощь - person Erich; 19.07.2013