|  | Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community | 
| 
 | |||||||
|  | 
|  | Опции темы | Опции просмотра | 
|  07.07.2010, 17:33 | #1 | 
| Новенький Регистрация: 07.07.2010 
					Сообщений: 4
				 |  При использовании table=pages в CONTENT данные возвращаются без локализации 
			
			Написал следующий скрипт для вывода списка, состоящего из краткой информации, взятой из полей abstract из подстраниц, также должен выводиться nav_title в качестве заголовка и ссылка на соответствующую страницу. На сайте настроены 4 языка. Все хорошо работает, за исключением того, что при выборе другого языка информация для этих полей выводится со значениями дефолтного языка (как я понял, в таблицу pages_language_overlay при этом Typo3 даже не лезет). В чем может быть проблема? Заранее благодарен. Код: [globalVar = TSFE:id = 98]
lib.cityInfo = COA
lib.cityInfo {
  10 = TEXT
  10.value = Краткая информация о городах:
  10.wrap = <h3>|</h3>
  20 = CONTENT
  20 {
    table = pages
    select{
      where = abstract != ""
      pidInList = 98
      selectFields = uid,nav_title,abstract
    }
    renderObj = COA
    renderObj {
      wrap = <div style="border:1px solid #e1e8f3; margin-top:10px; margin-bottom:10px; padding:10px;">|</div>
      10 = TEXT
      10 {
        field = nav_title // title
        typolink.parameter.field=uid
        wrap = <div style="font-size:10pt; font-weight:bold;">|</div>
      }
      20 = TEXT
      20 {
        field = abstract
        wrap = <div style="margin:10px;">| 
      }
      30 = TEXT
      30 {
        wrap=|</div>
        value=[подробнее]
        typolink.parameter.field=uid
      }
    }
  }
} | 
|   |   | 
|  07.07.2010, 18:13 | #2 | 
| Senior Member Регистрация: 02.10.2009 
					Сообщений: 134
				 |   
			
			select.languageField ?
		 | 
|   |   | 
|  07.07.2010, 18:16 | #3 | 
| Новенький Регистрация: 07.07.2010 
					Сообщений: 4
				 |   
			
			При установке этого значения в sys_language_uid все вообще напрочь пропадает. Если устанавливать его в конкретное значение, то инфа показывается только для этого языка, но в любом случае не переводится - значения остаются дефолтными (в моем случае - русскими)
		 | 
|   |   | 
|  07.07.2010, 18:52 | #4 | 
| Senior Member Регистрация: 02.10.2009 
					Сообщений: 134
				 |   
			
			а, ну так логично . select делает только ту выборку, что ему сказали, так что пишите хитрую выборку.
		 | 
|   |   | 
|  07.07.2010, 19:00 | #5 | 
| Новенький Регистрация: 07.07.2010 
					Сообщений: 4
				 |   
			
			Если бы я знал, каким образом можно с помощью .select добраться до локализованных значений... Просто в таблице page локализованные значения не хранятся
		 | 
|   |   | 
|  08.07.2010, 13:24 | #7 | 
| Новенький Регистрация: 07.07.2010 
					Сообщений: 4
				 |   
			
			Проблему решил. Все заработало. Пришлось запрос немного подкорректировать. Хотя есть небольшое НО: теперь для TypoLink'ов нельзя было использовать uid, так как идентификатором страницы в таблице pages_language_overlay является pid. Пришлось делать копию объекта и заменять соответствующие данные: Код: [globalVar = TSFE:id = 98]
lib.cityInfo = COA
lib.cityInfo {
  10 = TEXT
  10.value = {$cityShortInfoTitle}
  10.wrap = <h3>|</h3>
  20 = CONTENT
  20 {
    table = pages
    slide = -1
    select.pidInList = 98
    renderObj = COA
    renderObj {
      wrap = <div style="border:1px solid #e1e8f3; margin-top:10px; margin-bottom:10px; padding:10px;">|</div>
      10 = TEXT
      10 {
        field = nav_title // title
        typolink.parameter.field=uid
        wrap = <div style="font-size:10pt; font-weight:bold;">|</div>
      }
      20 = TEXT
      20 {
        field = abstract
        wrap = <div style="margin:10px;">| 
      }
      30 = TEXT
      30 {
        wrap=|</div>
        value={$moreFieldTitle}
        typolink.parameter.field=uid
      }
    }
  }
}
[globalVar = GP:L > 2 ]
lib.cityInfo >
lib.cityInfo = COA
lib.cityInfo {
  10 = TEXT
  10.value = {$cityShortInfoTitle}
  10.wrap = <h3>|</h3>
  20 = CONTENT
  20 {
    table = pages
    slide = -1
    select{
      join = pages_language_overlay ON (pages_language_overlay.pid=pages.uid)
      andWhere {
        data = TSFE:sys_language_uid
        wrap = sys_language_uid=|
      }
    }
    renderObj = COA
    renderObj {
      wrap = <div style="border:1px solid #e1e8f3; margin-top:10px; margin-bottom:10px; padding:10px;">|</div>
      10 = TEXT
      10 {
        field = nav_title // title
        typolink.parameter.field=pid
        wrap = <div style="font-size:10pt; font-weight:bold;">|</div>
      }
      20 = TEXT
      20 {
        field = abstract
        wrap = <div style="margin:10px;">| 
      }
      30 = TEXT
      30 {
        wrap=|</div>
        value={$moreFieldTitle}
        typolink.parameter.field=pid
      }
    }
  }
}
[global] | 
|   |   | 
|  | 
| Опции темы | |
| Опции просмотра | |
| 
 | 
 | 
|  Похожие темы | ||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение | 
| Проблемы при использовании AJAX | Prost | Общие вопросы | 8 | 05.02.2007 14:37 |