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

Dynamiczna zamiana elementow na stronie


Autor Wiadomość
Napisane: 16.10.2012 [09:36]
mwolanski
Twórca tematu
zarejestrowany: 23.11.2011
Posty: 88
Witam,

Dotyczy to mojego wczesniejszego tematu na ktory tylko ja sam sobie odpowiadam > tutaj <

Chodzi o to, ze EXT: TS_DIALOGIN ma problem z dzialaniem w Internet Explorer 9, poprzednie wersje o dziwo dzialaja.

1.5. Known problems
Some Show/Hide Effects for the Dialog seem to have problems in Microsofts Internet Explorer. The Username and Password fields won't appear when opened twice. We need to wait until jQuery-UI or Microsoft fixes this Problem. For the time being use another effect.


Aby rozwiazac ten problem zamierzam uzyc TS:

TYPOSCRIPT
[browser = msie]
[version = 9]
plugin.ts_dialogin >
[end]


Jezeli dobrze obstawiam, to przy wejsciu na stronie z IE9, plugin powinien zostac wylaczony.

Chce teraz, aby zamiast guzika login ktory zostal wylaczony, pojawil sie ten sam identyczny guzik login, ale juz ze zwyklym odnosnikiem do strony logowania ktora zawiera zwykly loginbox.


Poniewaz ts_dialogin nie lezy w TS Object Patch, zastanawiam sie czy nie lepiej go tam umiescic, co by ulatwilo mi jego zarzadzaniem i podmienieniem.

Wtedy podejrzewam ze dla danego TS Object Patch moglbym napisac:

lib.login = plugin.ts_dialogin ???
a w przypadku IE9:
lib.login = CONTENT
lib.login {
table = tt_content
select.uidInList = x
select.pidInList = x
}

co wskazalo by na pobranie guzika login ktory ma w sobie ustawiony link do strony logowania.

Prosze o informacje czy moje rozumowanie jest poprawne, czy mozna zrobic to w inny sposob, ewentualnie prosze o podeslanie swoich pomyslow.


P.S. Rozwazam jeszcze opcje, ze ten nowy loginbox pojawil by sie zamiast obecnego contentu na stronie - da sie tak zrobic w TS? ze jezeli klikne na guzik login ktory zostawnie wyswietlony przez TS jak bede w IE9, to ze to wcisniecie spowoduje zamiane na obecnej stronie danego pola TS Object Patch oznaczonego np. lib.topbild gdzie jest wyswietlany jakis content, na content z loginboxem - da sie tak? ktos pomoze?


Napisane: 16.10.2012 [14:21]
mwolanski
Twórca tematu
zarejestrowany: 23.11.2011
Posty: 88
Udalo mi sie juz stworzyc nowy loginbox w IE9

Niestety nie moglem za chiny wylaczyc pluginu przy uzyciu >
wiec uzylem innej opcji - rownie skutecznej:

TYPOSCRIPT
[browser = msie]
[version = 9]
page.CSS_inlineStyle (
.tx_tsdialogin_button { display: none; }
)
[end]


Wylaczylem widoczny guzik do logowania ktory wywolywal plugin - i juz

Wiec we wszystkich przegladarkach jest on widoczny, oprocz IE9, gdzie okno logowania jest caly czas widoczne.

Tutaj wlasnie mam problem. Chcialbym aby to okno nie bylo widoczne caly czas.

Wiec chce stworzyc login button dla IE9 ktory bedzie powodowal pojawienie sie loginboxu.

Potrzebny mi TS, w ktorym skonfiguruje ze po wcisnieciu na wyswietlone zdjecie Login (button), pojawi sie content w okreslonej pozycji TS object patch.

Jest taka mozliwosc ??

Jezeli nie ma, to tak zwyczajnie moglbym skopiowac strone startowa, z podlinkowana zawartoscia do strony oryginalnej i wyswietlic tylko loginbox na tej skopiowanej stronie.
Guzik login (button) mialby prosta funkcje - zwykly link do tej wlasnie strony.

Boje sie jednak, ze to moze skomplikowac troche prace, poniewaz dodawanie nowych elementow do strony startowej nie doda ich na stronie skopiowanej wiec bede musial za kazdym razem linkowac zawartosc. Po za tym opcja ze sterowaniem tego przez TS wydaje sie bardziej logiczna i rozsadna, dodatkowo moglbym dynamicznie sterowac guzikiem i zamienic go na Logout z uzyciem javaskryptu javascript:tx_tsdialogin.try_logout(); - coprawda z innego ext, ale dziala i w tym przypadku.


Strone mozna zobaczyc > tutaj <
Napisane: 16.10.2012 [15:26]
mwolanski
Twórca tematu
zarejestrowany: 23.11.2011
Posty: 88
A wiec kolejny raz "glosno myslac na forum" doszedlem do rozwiazania sam.

Wybralem prostrza droge oporu:

1. Dla przegladarki IE9 - guzik logowania modulu dialogin zostal ukryty w CSS
2. Dla przegladarki IE9 - zamiast guzika pojawia sie content poprzez TS Object Patch:

TYPOSCRIPT
[browser = msie] 
[version = 9]
 
lib.login_button = CONTENT
lib.login_button {
  table = tt_content
  select.uidInList = 733
  select.pidInList = 33
}
 
lib.logout_button = CONTENT
lib.logout_button {
  table = tt_content
  select.uidInList = 734
  select.pidInList = 33
}
 
[end]


3. Content pojawiajacy sie w opcji lib.logout_button ma ustawienia Access: Hide at login
Czyli uzytkownik zalogowany zobaczy zamiast tego kolejny element ktory jest w tym samym miejscu .lib.logout_button ktory przywoluje content z ustawieniem: Show at any login. Content login ma a href do strony logowania, content logout ma a href z javascriptem wylogowujacym ze strony.

4. Odpowiednie ustawienia CSS tak aby ikony znajdowaly sie w tym samym miejscu.

Dziala!

Coprawda nie tak, jak w pozostalych przegladarkach - czyli ze mozna wywolac okno logowania na dowolnej podstronie, jednakze biorac pod uwage fakt, ze na czyjakolwiek pomoc moge nie liczyc i musze zrobic to sam - postanowilem wybrac latwiejszy wariant.

W ten oto sposob polaczylem EXT: dialogin ktory nie dziala w IE9 wraz z felogin, tworzac podobne dzialanie i wyglad.


Wciaz pozostaje u mnie jeden problem:

- Logout! Wylogowywanie z automatycznym przekierowaniem na strone glowna startwowa!

Zauwazylem ze moze latwo bylo by to zrobic gdybym tylko uzywal felogin, ale poniewaz glownym modulem jest dialogin, to potrzebuje pomocy w przerobieniu JavaScriptu:

JAVASCRIPT
try_logout: function()
	{
		post_data = {
			logintype: 'logout'
		};
 
		jQuery.post(location.href,post_data,function(data,textStatus,xmlHttpRequest) {
			location.reload();
		});
	},


Ktory wywoluje za pomoca:

HTML
<a href='javascript:tx_tsdialogin.try_logout();'>Logout</a>


Znalazlem w internecie:

JAVASCRIPT
function Redirect(url)
{
 location.href = url;
}
This can be called as
Redirect ("http://address.com " ) ;


Ale niestety moje proby uzycia tego nie przyniosly skutku - jestem noga z JS!

Prosze o pomoc!

[Ten temat był edytowany 2 razy. Ostatnio 16.10.2012 o 15:28.]
Napisane: 17.10.2012 [08:54]
mwolanski
Twórca tematu
zarejestrowany: 23.11.2011
Posty: 88
Kolejny raz znalazlem rozwiazanie - tym razem pomogl mi bezposrednio tworca dialogin z trisinus.de


Rozwiazanie bylo bardziej banalne niz podejrzewalem:

JAVASCRIPT
try_logout: function()
	{
		post_data = {
			logintype: 'logout'
		};
 
		jQuery.post(location.href,post_data,function(data,textStatus,xmlHttpRequest) {
			location.href = '/index.php?id=34';
		});
	},


Wystarczylo zmienic location na href i przekierowanie odrazu zaczelo dzialac.

location.href = '/index.php?id=34';

Dalbym sobie reke uciac ze probowalem tego, ale byc moze wpisywalem to z jakims bledem dlatego stwierdzilem ze pewnie nie dziala icon_smile.gif

Dostalem rowniez wskazowke ze moglem ta funkcja sterowac bezposrednio ze strony (bez koniecznosci zmiany pliku js)

JAVASCRIPT
<script src="typo3conf/ext/ts_dialogin/ts_dialogin.js?1350397856" type="text/javascript"></script>
<script>
	tx_tsdialogin.try_logout = function() {...}
</script>


Temat zamkniety lecz nie rozwiazany, bo pierwszy problem zostal jedynie ominiety - wiec doszedlem do celu troszke w inny sposob niz zamierzalem icon_smile.gif

[Ten temat był edytowany 1 razy. Ostatnio 17.10.2012 o 08:55.]