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!
Temat zamknięte

[Zamknięty] Nie działa warunek w TS wewnątrz DataStructure (Flexible Content)


Autor Wiadomość
Napisane: 19.11.2013 [14:37]
porno88
Twórca tematu
zarejestrowany: 08.11.2010
Posty: 24
Hej,

Optymalizuję stronę i chciałem umożliwić dodawanie do niektórych linków atrybutu "nofollow", bo wujek Google mówi, że tak jest lepiej. W związku z tym dodałem sobie w szablonie pole typu "check" z etykietką "czy link nofollow?" i w zależności od tego czy jest zaznaczony czy odznaczony robię coś takiego:

TYPOSCRIPT
10 = TEXT
	10.current = 1
	10.typolink.parameter.field = pole_link
	10.typolink.ATagParams.field = pole_onClick
	[pole_noFollow = 1]
	10.typolink.ATagParams.wrap = onclick=" | " rel="nofollow"
	[else]
	10.typolink.ATagParams.wrap = onclick=" | " 
	[end]


pole_link - atrybut href linku
pole_onClick - tu jest nazwa funkcji wywoływanej przy zdarzeniu onclick
pole_noFollow - to jest mój checkbox

I teraz z jakiegoś powodu cały czas wskakuje do pozycji [else], nie wiem co robię źle. Jak wypisuję sobie to co zwraca pole_noFollow to pokazuje mi '1', ale tak czy inaczej wchodzi do [else]

Macie jakiś pomysł co robię źle?

PS
Tak wygląda definicja "pole_noFollow":
TYPOSCRIPT
<pole_noFollow type="array">
<type>attr</type>
<tx_templavoila type="array">
	<title>nofollow</title>
	<sample_data type="array">
		<numIndex index="0"></numIndex>
	</sample_data>
	<eType>check</eType>
	<TypoScript> </TypoScript>
	<preview> </preview>
</tx_templavoila>
<TCEforms type="array">
	<config type="array">
		<type>check</type><default type="integer">0</default>
		<numIndex index="1" type="array">
		</numIndex>
	</config>
	<label>Czy link jest NoFollow?</label>
</TCEforms>
</pole_noFollow>


[Ten temat był edytowany 1 razy. Ostatnio 19.11.2013 o 14:43.]

If it ain't broke, don't fix it!
Napisane: 20.11.2013 [12:16]
porno88
Twórca tematu
zarejestrowany: 08.11.2010
Posty: 24
Nie macie pomysłu? A może mogę tego checkboxa jakoś inaczej obsłużyć?

EDIT: No Panowie, aż tak coś skiepściłem? icon_wink.gif

[Ten temat był edytowany 1 razy. Ostatnio 22.11.2013 o 08:31.]

If it ain't broke, don't fix it!
Napisane: 25.11.2013 [00:48]
zigzag
admin
zarejestrowany: 18.05.2010
Posty: 72
A szukajka nie bangla? icon_wink.gif
http://forum.typo3.pl/forum/post/menu/337.html
Napisane: 25.11.2013 [08:36]
porno88
Twórca tematu
zarejestrowany: 08.11.2010
Posty: 24
Dzięki za sugestie - znam ten wątek, czytałem, przemyślałem i nie bez powodu założyłem inny wątek i zadałem w nim zgoła inne pytanie.

Pierwszym problemem jest to, że pola "subtitle" używam już do innych rzeczy i cieżko byłoby mi znaleźć pole, które na każdej podstronie jest puste (serwis jest już dość rozbudowany, od ładnych paru lat się rozwija). Drugim to, że ja nie generuje menu na stronie jak hudini, tylko buduję sobie FCE, które składa się z wielu elementów, nie tylko linku. Trzecim z kolei to, że tworząc FCE z linkami do zewnętrznych serwisów nie mogę skorzystać z ich nieużywanego pola w tabeli pages. Kolejna sprawa jest taka, że to ma być idiotoodporne rozwiązanie, więc lepiej żeby nikt nie wpisywał parametrów z ręki. Nie chcę też globalnie przypisywać wszystkim wychodzącym linkom nofollow.

Tak generalnie to najbardziej ciekawi mnie dlaczego cały czas if-else wskakuje właśnie do else'a, choć wg tego co widzę warunek jest spełniony? Jak zbudować podobny warunek, żeby działało?

[Ten temat był edytowany 1 razy. Ostatnio 25.11.2013 o 08:37.]

If it ain't broke, don't fix it!
Napisane: 26.11.2013 [01:30]
zigzag
admin
zarejestrowany: 18.05.2010
Posty: 72
Ach, przepraszam ale godzina sprawiła że zupełnie nie przyjrzałem się twojemu problemowi.

To co mi na tą chwilę przychodzi do głowy to, to że możesz link mapować po atrybutach. Kiedyś walczyłem z podobnym problemem, z tą tylko różnicą że potrzebowałem "class"
Czyli: "href" jako link, "rel" jako select i dodać mu odpowiednie dwie właściwości i musisz jeszcze dodać na cały link input dla tekstu. Niestety takie rozwiązanie wymusza ręczne wprowadzanie tekstu dla linku :/

Przy innym projekcie miałem też podobne wyzwanie, chodziło o target i tam też rozwiązałem ten problem za pomocą selecta, jutro wieczorem sprawdzę czy to rozwiązanie rozwiąże twój problem.

Pozdr.
Napisane: 27.11.2013 [09:46]
porno88
Twórca tematu
zarejestrowany: 08.11.2010
Posty: 24
Ha! Wygląda na to, że się udało icon_smile.gif

Znalazłem w necie taki wątek: http://typo3.3.n7.nabble.com/TYPO3-english-If-with-else-in-TS-config-td85485.html i zamiast zwykłego if/else'a skorzystałem z isTrue i isFalse, dokładnie tak jak na listingu poniżej.

TYPOSCRIPT
10 = TEXT
	10 {
		current = 1
		if.isTrue.field = pole_noFollow
		typolink.parameter.field = pole_link
		typolink.ATagParams.field = pole_onclick
		typolink.ATagParams.wrap = onclick=" | " rel="nofollow"
	}
	20 = TEXT
	20 {
		current = 1
		if.isFalse.field = pole_noFollow
		typolink.parameter.field = pole_link
		typolink.ATagParams.field = pole_onclick
		typolink.ATagParams.wrap = onclick=" | "
	}


Nie wiem na ile jest to "eleganckie" rozwiązanie, ale przynajmniej działa dokładnie tak, jak tego chciałem icon_smile.gif

[Ten temat był edytowany 1 razy. Ostatnio 27.11.2013 o 09:49.]

If it ain't broke, don't fix it!


Tylko admin może dodawać nowee posty do tego tematu