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

Zmiana Template w zaleznosci od typeNum


Autor Wiadomość
Napisane: 27.04.2012 [12:36]
saren_as
Twórca tematu
zarejestrowany: 02.12.2010
Posty: 16
Witam!
Czy wie ktos w jaki sposob moge poprosic tv, aby w momencie, gdy do url dodam parametr ?type wyswietlony mi zostal alternatywny template:

[globalVar = GP:type = 5000]
Alternative_Template
[global]

Pozdrawiam
Artur

Napisane: 27.04.2012 [14:28]
sim_co
zarejestrowany: 18.02.2010
Posty: 168
To myślę, że powinno Cię naprowadzić:

http://www.dmitry-dulepov.com/2009/04/creating-mobile-version-of-web-site.html



simcode.pl
Napisane: 12.07.2012 [16:57]
saren_as
Twórca tematu
zarejestrowany: 02.12.2010
Posty: 16
Dzieki za link. Ciekawe rozwiazanie, ktore prawie mi pasujeicon_smile.gif Mianowicie w tym przykladzie moge przelaczac pomiedzy "tx_templavoila_pi1.childTemplate", zas ja chcialbym w zaleznosci od typeNum odwolywac sie do roznych DS po ich ID czyli cos takiego:
[globalVar = GP:type = 5000]
tx_templavoila_ds = 4
[global]

Jak ma wygladac taki zapis, bo probowalem juz chyba wszystkiego, a nie wiem gdzie cos takiego moge sprawdzic (np.: plugin.tx_templavoila_pi1.tx_templavoila_ds = 4 lub page.10.tx_templavoila_pi1.tx_templavoila_ds = 4)

Pozdrawiam!
saren_as
Napisane: 19.07.2012 [10:09]
natic.evo
zarejestrowany: 05.07.2011
Posty: 23
ja się nie znam, ale może coś takiego ? (rady od laika ^_^ ...komiczne)

TYPOSCRIPT
[globalVar = GP:type = 5000]
    10 = USER
    10.userFunc = tx_templavoila_pi1->main_page
    10.childTemplate = RodzajTemplate
[global]


[Ten temat był edytowany 1 razy. Ostatnio 19.07.2012 o 10:09.]
Napisane: 20.07.2012 [09:35]
saren_as
Twórca tematu
zarejestrowany: 02.12.2010
Posty: 16
Dzieki za checi, ale to rozwiazanie mi wlasnie nie do konca odpowiada. W ten sposob moge zmienic TO (dziecko jakiegos DS), a ja zas chcem zmienic DS czyli dac mu calkiem inny Template. Zmieniajac TO (childTemplate) mam dalej ten sam xml i w momencie, gdy chcem dodac/usunac jakis element, oddzialywuje to rowniez na moj glowny Template (parent).

W sieci znalazlem cos takiego:
TYPOSCRIPT
[globalVar = TSFE:page|tx_templavoila_ds = XX]
  jakies ustawienia
[global]


ale ja chcial bym osiagnac cos takiego:
TYPOSCRIPT
[globalVar = GP:type = 5000]
  plugin.tx_templavoila_pi1.tx_templavoila_ds = XX
[global]


Niestety taki zapis nie funkcjonuje u mnie. Macie jeszcze jakies pomyslyicon_smile.gif

Pozdrawiam i dzieki za wszystkie rady!
saren_as
Napisane: 20.07.2012 [11:09]
artur2000
zarejestrowany: 09.12.2008
Posty: 65
Przelaczanie na inny DS w Twoim przypadku jest nie konieczne abu uzyskac efekt jakiego potrzebujesz. Wystarczy, ze tak jak sugeruja przedmowcy i dmitry dulepow zdefiniujesz sobie dodatkwoy typ child od Twojego TO. W TO jest mozliwosc nadpisywania wybranych czasci DS przy urzyciu "Local processing" (patrz wlasciwosci TO). Teraz musisz nadpisac definicje wszystkich kontenerow, ktorych nie potrzebujesz czyms co wyrenderuje Ci pustke.

Przyklad DS:

TYPOSCRIPT
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
	<meta type="array">
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">
		<tx_templavoila type="array">
			<title>ROOT</title>
			<description>Select the HTML element on the page which you want to be the overall container element for the template.</description>
		</tx_templavoila>
		<type>array</type>
		<el type="array">
 
			<field_header type="array">
				<tx_templavoila type="array">
					<title>Header container</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>TypoScriptObject</eType>
					<proc type="array">
						<int>0</int>
						<HSC>0</HSC>
						<stdWrap></stdWrap>
					</proc>
					<preview></preview>
					<TypoScriptObjPath>lib.header</TypoScriptObjPath>
				</tx_templavoila>
			</field_header>
			<field_nav_container type="array">
				<tx_templavoila type="array">
					<title>Menu container</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>TypoScriptObject</eType>
					<proc type="array">
						<int>0</int>
						<HSC>0</HSC>
						<stdWrap></stdWrap>
					</proc>
					<preview></preview>
					<TypoScriptObjPath>lib.menu.main</TypoScriptObjPath>
				</tx_templavoila>
			</field_nav_container>
 
		</el>
	</ROOT>
</T3DataStructure>


i zakladamy, ze chcesz sie pozbyc kontenera "field_nav_container", wiec w localProcessing twojego child TO wrzucilbym cos takiego aby w miejsce tego kontenera wskoczyla pustka, w momencie kiedy ma on mapping mode=outer znikaja tez nie potrzebny mapowany tag.
Patrz "<TypoScriptObjPath>temp.cosnieistniejacegonapewno</TypoScriptObjPath>".

TYPOSCRIPT
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
	<ROOT type="array">
		<el type="array">
 
			<field_nav_container type="array">
				<tx_templavoila type="array">
					<title>Menu container</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>TypoScriptObject</eType>
					<proc type="array">
						<int>0</int>
						<HSC>0</HSC>
						<stdWrap></stdWrap>
					</proc>
					<preview></preview>
					<TypoScriptObjPath>temp.cosnieistniejacegonapewno</TypoScriptObjPath>
				</tx_templavoila>
			</field_nav_container>
 
		</el>
	</ROOT>
</T3DataStructure>


Swoja droga jesli w child TO potrzebujesz struktur, ktorych nie ma jeszcze w DS to przeciez mozesz je spokojnie dodac, w TO, gdzie ich nie zmapujesz na struktury HTML i tak nie beda one mialy znaczenia. A jesli chcesz sie czegos pozbyc w child TO co juz jest w DS to uzywasz metody powyzej lub tez poprostu nie mapujesz danego kontenera podpinajac pod child TO inny plik HTML niz ten dla ktorego byl robiony DS. Z tego co mi sie zdaje to TV w nowych wersjach nie pokazuje nawet w backendzie edycji nie zmapowanych struktur DS, wiec nie jest juz tak nieprzejzyscie jak w przeszlosci i mysle, ze naprawde powinno Ci to wystarczyc.

Czolem. Artur.

Certified Level 2 TYPO3 Night Crew Member