Създайте връзки към тагове за новини с URL адреса realurl

Бих искал да създам списък с всички тагове за tx_news с URL от realurl.

RealURL Config за тагове:

'tag' => array(
                array(
                    'GETvar' => 'tx_news_pi1[overwriteDemand][tags]',
                    'lookUpTable' => array(
                            'table' => 'tx_news_domain_model_tag',
                            'id_field' => 'uid',
                            'alias_field' => 'CONCAT(title, "-", uid)',
                            'addWhereClause' => ' AND NOT deleted',
                            'useUniqueCache' => 1,
                            'useUniqueCache_conf' => array(
                                    'strtolower' => 1,
                                    'spaceCharacter' => '-'
                            )
                    )
                )
            ),

В момента списъкът се създава по следния начин:

newsTags = CONTENT
    newsTags {
      table = tx_news_domain_model_tag
      select {
        pidInList = 1,298
        hidden = 0
        deleted = 0
        orderBy = title
      }
      orderBy = title
      renderObj = COA
      renderObj {
        wrap = |
        1 = LOAD_REGISTER
        1 {
            Counter.cObject = TEXT
            Counter.cObject.data = register:Counter
            Counter.cObject.wrap = |+1
            Counter.prioriCalc = intval
        }
        2 = TEXT
        2.insertData = 1
        2.field = title
        2.wrap = <li data-index="{register:Counter}"><a href="/bg/labels/tag/|-
        3 = TEXT
        3.field = uid
        3.wrap = |">

        5 = TEXT
        5.field = title
        5.wrap = |</a></li>

      }
      wrap = <ul>|</ul>
    }

игнорирайте регистъра за сега. URL адресът просто се генерира с Title-UID. И понякога заглавието има точка в него и тогава URL адресът не работи. Така че бих искал да използвам URL адреса, създаден от realurl. Възможно ли е това?


person nbar    schedule 02.12.2014    source източник


Отговори (1)


Във вашето решение се опитвате да изградите връзката ръчно. Горещо препоръчвам да използвате typolink за генериране на връзки. Ако RealURL е наличен и съответните GET параметри са конфигурирани в конфигурацията на RealURL, Typolink генерира говорещи URL адреси. Просто трябва да зададете additionalParamsза UID на маркера:

newsTags = CONTENT
newsTags {
    table = tx_news_domain_model_tag
    select {
        pidInList = 1,298
        hidden = 0
        deleted = 0
        orderBy = title
    }
    orderBy = title
    renderObj = COA
    renderObj {
        1 = LOAD_REGISTER
        1 {
            Counter.cObject = TEXT
            Counter.cObject.data = register:Counter
            Counter.cObject.wrap = |+1
            Counter.prioriCalc = intval
        }
        2 = TEXT
        2.field = title
        2.insertData = 1
        2.typolink {
            # link to current page
            parameter.current = 1
            # the current tag
            additionalParams = &tx_news_pi1[overwriteDemand][tags]={field:uid}
            additionalParams.insertData = 1
        }
        2.wrap = <li data-index="{register:Counter}">|</li>

    }
    wrap = <ul>|</ul>
}

Разбира се, можете да зададете целевата страница по различен начин, като просто използвате parameter = 999.

person lorenz    schedule 02.12.2014
comment
О, това е хубаво, не знаех, че typolink дава говорещи URL адреси, ако са конфигурирани с RealURL. Едно допълнение, с този код Linktext е заглавието на страницата, а не на Newstag. За да имате това, просто добавете 2.insertData = 1 2.field = title - person nbar; 03.12.2014
comment
Току-що добавих последното към публикацията. Благодаря за попълването. TypoScript получи всичко :-). - person lorenz; 03.12.2014