Uwaga! Od sierpnia 2017 forum jest w trybie tylko do odczytu.

Dlaczego? Dlatego, że społeczność TYPO3 przeniosła się na slack'a i stackoverflow:
  • Przeczytaj artykuł wprowadzający do slacka, w którym dowiesz gdzie i jak się zarejestrować.
  • Jeżeli masz pytania odnośnie Polskiej Społeczności TYPO3 zapraszamy na kanał slack'a #community-pl. Rozmawiamy tam w języku polskim.
  • Pytania dotyczące samego TYPO3 zadawaj po angielsku na stackoverflow oznaczając je tagiem "typo3". Następnie posługując się linkiem do tego pytania postaraj się zachęcić ludzi z kanału slack'a #typo3-cms lub bardziej pasujących kanałów tematycznych, żeby na nie odpowiedzieli.
  • Możesz też oczywiście zadawać pytania na slacku bez zakładania wątków na stackoverflow, ale wówczas wiedza ta nie jest indeksowana przez googla i część osób nie będzie chciała Ci z tego powodu pomagać.
  • Dla części osób dzielących się wiedzą ważne jest też budowanie reputacji na stackoverflow. Jest to kolejny powód dla którego powinieneś zadawać pytania na stackoverflow by zwiększyć swoje szanse na znalezienie odpowiedzi. Pamiętaj, żeby oceniać odpowiedzi!
Tematy bez nowych odpowiedzi

Typo3 6.0 + TemplaVoila, strona wielojęzykowa i brak DataStructure dla języka


Autor Wiadomość
Napisane: 04.01.2013 [10:50]
shvr
Twórca tematu
zarejestrowany: 04.01.2013
Posty: 6
Witajcie!

Od kilku dni walczę z problematyką strony wielojęzykowej w Typo3.
Moja konfiguracja:
Typo3 6.0.0
+ TemplaVoila 1.8.0
+ Static Info Tables 2.3.0
+ sr_language_menu 1.5.2

Szukałem trochę tu (forum) i w zagranicznych źródłach. Niestety, wiele materiałów podlinkowanych tutaj to martwe już linki. W Typo3 siedzę na tyle krótko, że dokumentacja nie zawsze jeszcze jest dla mnie jasna i oczywista, więc posiłkuję się tutorialami i snippets`ami jakie googluje w necie.
Stronę wielojęzkową tworzyłem na podstawie tego materiału: Typo3 multilanguage punktu o 1 do 7 (na razie bez RealURL).

Wszystko wygląda OK, nawet wydaje się że Typo3 działa dobrze (gdy przejdę na inną wersję językową, <title> strony się zmienia na odpowiednik w wybranym języku). Niestety, TemplaVoila krzyczy że brak mu DataStructure dla danego języka (to już we frontendzie). Dokładny komunikat brzmi:
HTML
TemplaVoila ERROR:
 
Couldn't find a Data Structure set for table/row "pages:2".
Please select a Data Structure and Template Object first.


Gdzieś znalazłem poradę, że powienienem stworzyć sub-template dla głównego szablonu w TV i tworząc sub-template powinienem wybrać język dla którego jest on przeznaczony, po czym zmapować szablon tak jak to robiłem z głównym szablonem. Niestety, nie przyniosło to skutku.

Prawdopodobnie gdzieś popełniłem drobny, niewidoczny błąd, lub też nie wiem o czymś, co powinienem zrobić. Bardzo proszę o jakieś wskazówki

Z góry dzięki,
Wojtek
Napisane: 07.01.2013 [13:26]
shvr
Twórca tematu
zarejestrowany: 04.01.2013
Posty: 6
Problem rozwiązany.

Okazuje się, że wszystko było dobrze ustawione, a problem sprawiała wtyczka templavoila.

Dokonałem zmian w pliku typo3conf/ext/templavoila/pi1/class.tx_templavoila_pi1.php
Według tego źródła:
Opis błędu i dyskusja Rozwiązanie (patch)

Ponieważ w sieci materiały odnośnie TYPO3 ulegają przedawnieniu, znikają etc. (to wiem z własnych doświadczeń), pozwolę sobie wkleić kod, który trzeba zastosować w ww. pliku (zaczynamy od linii 175):
PHP
if ($pageRecord['uid'] != $pRec['uid'])	{
	if ($pRec['tx_templavoila_next_ds'])	{	// If there is a next-level DS:
		$pageRecord['tx_templavoila_ds'] = $pRec['tx_templavoila_next_ds'];
		$pageRecord['tx_templavoila_to'] = $pRec['tx_templavoila_next_to'];
                break;
	} elseif ($pRec['tx_templavoila_ds'])	{	// Otherwise try the NORMAL DS:
		$pageRecord['tx_templavoila_ds'] = $pRec['tx_templavoila_ds'];
		$pageRecord['tx_templavoila_to'] = $pRec['tx_templavoila_to'];
                break; 
	}
}


Problemem było niedziedziczenie szablonów w różnych wersjach językowych (jeśli dobrze wszystko zrozumiałem)