Tytuł: Nowy przycisk - chat Wiadomość wysłana przez: ketch 25.06.2009 12:55:13 Witam,
Mam w planach na swoim forum zrobić coś podobnego jak jest tutaj, dokładnie chat. Czytałem 2 inne wątki na ten temat, ale mało z nich rozumiem. Postanowiłem więc napisać. Google też niewiele pomogło. Wrzucam kod, jak będzie trzeba to mogę załączyć cały index.template.php Code: [select] function template_menu() { global $context, $settings, $options, $scripturl, $txt; // Work out where we currently are. $current_action = 'home'; if (in_array($context['current_action'], array('admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers'))) $current_action = 'admin'; if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm'))) $current_action = $context['current_action']; if ($context['current_action'] == 'search2') $current_action = 'search'; Może ktoś mi powiedzieć jak dodać ten przycisk? Będę bardzo wdzięczny! :) Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 25.06.2009 15:24:28 Witam, :)
Dlaczego nie dopisałeś tego tematu do juz istniejącego? tu: http://poligon.ricoroco.com/fora/smf/index.php?topic=227.0 (http://poligon.ricoroco.com/fora/smf/index.php?topic=227.0) No nic. Z tym czatem to są dwie opcje: - albo tak jak jest tu, czyli niezależnośc, lub druga opcja to istalka moda, który prznicuje Ci forum i wrzuci w gł. index. I tu jest później trochę zabawy z integracją na innych stylach. Osobiście uważam, że tak jak tu jest lepiej, a druga opcja powstała dla leniwych.. Jeśli chcesz, żeby było tak jak tu, (a pytając o sam button, rozumiem, że chat już jest zainstalowany), to musisz wiedzieć, że moim buttonem jest wyskakujące okno. Doszedłem do wniosku, że tak jest fajniej, ponieważ możemy przegladać forum, a jednocześnie czatować. Chcąc dodać nowy button "Chat" jako wyskakujące okno, jak tu, - trzeba dokonac 3 wpisów w 3 miejsca, pliku index.template.php Kod, który tu wkleiłeś to jedno z takich miejsc. Nie wiem jaki masz styl, więc, wrzuć tu jeszcze 2 wklejki kodu. - Pierwsza wklejka to tam gdzie sekcja head przechodzi w sekcję body czyli potrzebuję z 10 linijek licząc od dołu czyli 2 linijki kodu pod < body > i jakieś 4 linijki nas < /head > Ponieważ w sekcji head trzeba wkleić kawałek JavaScript, który powoduje wyskakiwanie okienka z chatem Druga wklejka to miejszcze z buttonami, czyli to będzie z paręnaście lini poniżej tego miejsca, które teraz wkleiłeś. Potrzebny mi Twój kod z buttonami, żebym mógł dopisać buttona od czatu w utrzymanej konwencji innych buttonów. Potrzebne mi również info - w którym miejscu ma być ten button. Teraz wróćmy do tego kawałka kodu który tu wkleiłeś.... Jak widzisz jest tam tablica od - $ current_action = ' admin '; czyli: UWAGA! Poniżej jest pokazana - Tablica z buttonami: GeSHi -› Code: [select] i trzeba do niej dopisać buttona "Chat", to będzie tak: GeSHi -› Code: [select] Tu kolejność nie gra roli, jest to tablica asocjacyjna, z której jest czerpane info jaki mają być urzyte butony.. to tak w skrucie myslowym... Po za tym miejscem trzeba dopisać w sekcji head kawałek JS, co podawałem tu: --> http://poligon.ricoroco.com/fora/smf/index.php?topic=227.msg470#msg470 (http://poligon.ricoroco.com/fora/smf/index.php?topic=227.msg470#msg470) Oczywiście trzeba uważać na string itp.. nie mogę Ci pomóc bardziej dokąd nie dostanę od Ciebie reszty kodu, o czym pisałem powyżej. Wrzuć resztę, czyli brakujące 2 wkeiki kodu, plus info gdzie ma byc button Chat, a ja pokażę Ci jak to zrobic, ok? Pozdrawiam :) roco Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: ketch 25.06.2009 17:18:14 Sorry, nie widziałem tego postu :/
Instalowałem już Chat'a na swoim forum z instalki, ale raczej mnie to mało satysfakcjonuje. Głównie chodzi mi o stworzenie buttona na forum, a co sobie pod to "podhacze" (w tym przypadku chat) to chyba nie robi dużej różnicy - to tylko podczepienie linka (tak?). Jak się tego nauczę to zrobię pewnie jeszcze połączenie do strony głównej (mam serwis w Joomli, dawniej korzystałem z komponentu joomlowego, jakiś czas temu wyszedłem z założenia że porozbijam stronę na kilka elementów takich jak galeria, forum itp.) Teraz to wszystko łącze. Linia kodu (jeśli o to chodziło...) Code: [select] if ($context['user']['is_guest']) echo ' document.cookie = "upshrinkIC=" + (mode ? 1 : 0);'; else echo ' smf_setThemeOption("collapse_header_ic", mode ? 1 : 0, null, "', $context['session_id'], '");'; echo ' document.getElementById("upshrink_ic").src = smf_images_url + (mode ? "/expand.gif" : "/collapse.gif"); document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : ""; current_header_ic = mode; } // ]]></script>'; echo ' </head> <body> <div id="wrapper"> <div id="header"> <div id="logo"><a href="'.$scripturl.'" title=""></a></div>'; // Show a random news item? (or you could pick one from news_lines...) if (!empty($settings['enable_news'])) { echo '<div id="news">', $context['random_news_line'] , '</div>'; } echo ' </div> <div id="toolbar"> <div id="nav">',template_menu(),' a pewnie nie, dlatego dołączam swój index.template.php bo jestem zupełnym laikiem jeśli chodzi o php... Z racji tego że nie ma na forum możliwości załączenia czegoś w rozszerzeniu php, dlatego zapisuje w .txt jako index.template1.txt W razie czego przerzucę sobie. Druga wklejka Code: [select] // Show the [home] button. echo '<li><a href="', $scripturl, '">' , $txt[103] , '</a></li>'; // Show the [help] button. echo '<li><a href="', $scripturl, '?action=help">' , $txt[119] , '</a></li>'; // How about the [search] button? if ($context['allow_search']) echo '<li><a href="', $scripturl, '?action=search">' , $txt[182] , '</a></li>'; // Is the user allowed to administrate at all? ([admin]) if ($context['allow_admin']) echo '<li><a href="', $scripturl, '?action=admin">' , $txt[2] , '</a></li>'; // Edit Profile... [profile] if ($context['allow_edit_profile']) echo '<li><a href="', $scripturl, '?action=profile">' , $txt[79] , '</a></li>'; // Go to PM center... [pm] if ($context['user']['is_logged'] && $context['allow_pm']) echo '<li><a href="', $scripturl, '?action=pm">' , $txt['pm_short'] , ' ', $context['user']['unread_messages'] > 0 ? '[<strong>'. $context['user']['unread_messages'] . '</strong>]' : '' , '</a></li>'; // The [calendar]! if ($context['allow_calendar']) echo '<li><a href="', $scripturl, '?action=calendar">' , $txt['calendar24'] , '</a></li>'; Ten element kodu co mi tłumaczyłeś rozumiem, już próbowałem właściwie to robić, ale nie było widać jakichkolwiek zmian dlatego skapitulowałem - metoda prób i błędów :) Info gdzie ma być button to chyba ważne jest tylko to żeby było w górnym panelu, kolejność nie gra roli. Jeżeli byś mi tylko wytłumaczył na jakiej zasadzie się to ustala, byłbym bardzo wdzięczny. Pozdrawiam! ketch Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 25.06.2009 19:02:15 Witam, :)
Pytanie czy instalowałeś, jako modyfikację, czy oddzielną instalkę z SourceForge.net http://sourceforge.net/project/downloading.php?group_id=214758&filename=ajax_chat-0.8.2_SMF.zip&a=88868602 (http://sourceforge.net/project/downloading.php?group_id=214758&filename=ajax_chat-0.8.2_SMF.zip&a=88868602) - dla smf? To drugie rozwiązanie jest mniej krępujące i wg. mnie lepsze, ale to bez znaczenia, dla Twojego pytania o dodanie buttona. Okay, mamy już dodany chat do tablicy Teraz dodamy skrypt wyskakującego okna do sekcji head... Masz tak: GeSHi -› Code: [select] To do tego echa dodamy skrypt: GeSHi -› Code: [select] echo ' <script language="JavaScript" type="text/javascript"> // <![CDATA[ function openWindow(url,width,height,options,name) { width = width ? width : 800; height = height ? height : 600; options = options ? options : 'resizable=yes'; name = name ? name : 'openWindow'; window.open( url, name, 'screenX=' (screen.width-width)/2 ',screenY=' (screen.height-height)/2 ',width=' width ',height=' height ',' options ) } // ]]> </script> </head> <body> <div id="wrapper"> Teraz, kiedy mamy wpis w tablicy i dodany skrypt, czas na dopisanie buttona.. Akurat w tym wypadku to łatwizna, w ogóle nie potrzeba dopisywać żadnych akcji.. Zakładam, że chat masz zainstalowany w katalogu forum, np. ja mam tu tak: w katalogu smf mam katalog chat, czyli w tym wypadku href w linku = będzie taki -> href = " chat/ " Czyli button powinien wyglądać tak: GeSHi -› Code: [select] // Show the [chat] button. echo '<li><a href="chat/" onclick="openWindow(this.href);this.blur();return false;">Chat</a></li>'; I teraz w całości czyli w tym kawałku, który mi podałeś. - skompletuję wrzucając przed kalendarzem. To jest też wyjaśnienie - linki w menu maja tę samą kolejność co w kodzie, i jeśli przestawisz gdzie indziej to tam będzie! Ja tego buttona chat wrzucam przed kalendarzem: GeSHi -› Code: [select] // Show the [home] button. echo '<li><a href="', $scripturl, '">' , $txt[103] , '</a></li>'; // Show the [help] button. echo '<li><a href="', $scripturl, '?action=help">' , $txt[119] , '</a></li>'; // How about the [search] button? if ($context['allow_search']) echo '<li><a href="', $scripturl, '?action=search">' , $txt[182] , '</a></li>'; // Is the user allowed to administrate at all? ([admin]) if ($context['allow_admin']) echo '<li><a href="', $scripturl, '?action=admin">' , $txt[2] , '</a></li>'; // Edit Profile... [profile] if ($context['allow_edit_profile']) echo '<li><a href="', $scripturl, '?action=profile">' , $txt[79] , '</a></li>'; // Go to PM center... [pm] if ($context['user']['is_logged'] && $context['allow_pm']) echo '<li><a href="', $scripturl, '?action=pm">' , $txt['pm_short'] , ' ', $context['user']['unread_messages'] > 0 ? '[<strong>'. $context['user']['unread_messages'] . '</strong>]' : '' , '</a></li>'; // Show the [chat] button. echo '<li><a href="chat/" onclick="openWindow(this.href);this.blur();return false;">Chat</a></li>'; // The [calendar]! if ($context['allow_calendar']) echo '<li><a href="', $scripturl, '?action=calendar">' , $txt['calendar24'] , '</a></li>'; Jak widzisz jest podany link ralatywny, to też zależy od Twojej instalki, czyli jak masz tak jak tu na SMF-Help! to wystarczy, inaczej musisz wpisać jako href= konkretnego linka, czyli tego który wywołuje chat. Możesz też podać link absolutny. Chodzi też o to, żeby link powodował wyskoczenie okienka z chatem np: Go to Chat. Jest tu gdzieś topik z dopisywaniem buttons, odnajdź go i poczytaj, bo ta wiedza z pewnością Ci się przyda. Po raz kolejny o tym piszę... To co dałeś w załączniku, owszem pobiorę, ale tę pracę wykonaj sam, to łatwizna, a wiedza Ci się przyda, skoro jesteś Adminem, nieprawdaż? Dopiero kiedy sobie nie poradzisz, to oczywiście najpierw napisz, podrążymy temat, a dopiero na końcu obrobiony plik, ok? Podpowiem Ci, dla mnie to mniej niż jedna! minuta, dla Ciebie z szukaniem gdzie co idzie i porównywaniem ..hmm max 5 minut. Dasz na pewno radę! ;) Pozdrawiam :) roco // Edit: Proszę pakuj załączniki np. do zipa lub 7z, ok? Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: ketch 25.06.2009 22:07:49 Zrobiłem krok po kroku tak jak mi powiedziałeś :) nie było problemu.
Pojawił się dopiero teraz, po podmienieniu index.template.php Wygląda to tak: Template Parse Error! There was a problem loading the /Themes/mysticjade115/index.template.php template or language file. Please check the syntax and try again - remember, single quotes (') often have to be escaped with a slash (). To see more specific error information from PHP, try accessing the file directly. You may want to try to refresh this page or use the default theme. Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in .../Themes/mysticjade115/index.template.php on line 177 Code: [select] 168: // ]]></script>'; 169: 170: echo ' 171: 172: <script language="JavaScript" type="text/javascript"> 173: // <![CDATA[ 174: function openWindow(url,width,height,options,name) { 175: width = width ? width : 800; 176: height = height ? height : 600; [color=red]177: options = options ? options : 'resizable=yes';[/color] 178: name = name ? name : 'openWindow'; 179: window.open( 180: url, 181: name, mysticjade115 to nazwa mojego templarka na forum. Co do tego, to oczywiste ze ta wiedza mi się przyda, nie wspominając o tym że jednym z najlepszych sposobów, jeśli nie najlepszych, jest zrobienie tego samemu :) Jestem bardzo wdzięczny za pomoc :) Wiesz co z tym fantem teraz? Mam backupa pliku, więc nie ma problemu, podmieniłem. Zrobiłem 2x to co mi napisałeś i ciągle to samo. Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 25.06.2009 23:04:36 Okay, nie przejmuj się to mój błąd. Wiesz pisałem to "z palca" a tam przecież jest już echo, a w echo wszystkie apostrofy i cudzysłowy takiego np. js muszą być poprzedzone -
Czyli jak masz np 'screenX=' (blabla to powinienes to zapisać tak: 'screenX= ' (blabla tylko bez spacji Pokażę to na twoim kawałku, który wkleisz: GeSHi -› Code: [select] echo ' <script type="text/javascript"> // <![CDATA[ function openWindow(url,width,height,options,name) { width = width ? width : 800; height = height ? height : 600; options = options ? options : 'resizable=yes'; name = name ? name : 'openWindow'; window.open( url, name, 'screenX=' (screen.width-width)/2 ',screenY=' (screen.height-height)/2 ',width=' width ',height=' height ',' options ) } // ]]> </script> </head> <body> <div id="wrapper"> Widzisz w czym jest różnica? To ważne w echo itp ponieważ apostrofy i cudzysłowy są traktowane jako string i naturalnie zróci errora. Co by nie powiedzieć to też nauka, np. wrzucamy skrypt od reklam czy coś innego, a to są pliki php i gł. to przejścia przez echo, które wyświetla html'a, dlatego warto to sobie zapamiętać, że wszelkie obce cudzysłowy i apostrofy w echo muszą być poprzedzone lewym ukośnikiem: - Podmienisz ten kawałek kodu i będzie gitarka :) Oczywiście w razie pytań czy nie jasności - pisz! Pozdrawiam :) roco Sorry nie wiem czemu zamienia mi, tj wycina ukośniki spróbuje z quote Quote: [select] <script type="text/javascript"> // <![CDATA[ function openWindow(url,width,height,options,name) { width = width ? width : 800; height = height ? height : 600; options = options ? options : 'resizable=yes'; name = name ? name : 'openWindow'; window.open( url, name, 'screenX=' (screen.width-width)/2 ',screenY=' (screen.height-height)/2 ',width=' width ',height=' height ',' options ) } // ]]> </script> To był sam skrypt siax! spróbuje soft <script type="text/javascript"> // <![CDATA[ function openWindow(url,width,height,options,name) { width = width ? width : 800; height = height ? height : 600; options = options ? options : 'resizable=yes'; name = name ? name : 'openWindow'; window.open( url, name, 'screenX=' (screen.width-width)/2 ',screenY=' (screen.height-height)/2 ',width=' width ',height=' height ',' options ) } // ]]> </script> Widać to nie moja wina.. pewnie po ostatniej aktualce.. wrzucę to za chwile jako txt Niestety wycina mi ukośniki przed apostrofami i nie moge zaprezentować kodu.. chyba coderzy z smf.org tym razem przesadzili z bezpieczeństwem.. Załączam plik textowy tego kawałka. kolejna edycja - dorzucam spakowane do zipa, bo np. pod Operą otwiera tez załącznik.. Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 25.06.2009 23:38:48 Okay znalazłem fix na to g*wno.. że ja wcześniej na to nie wpadłem, tak wiec koleżko Dzięx! ponieważ się przyczyniłeś do znalezienia bug'a
Chyba przekleję tamten topik podając źródło ofcourse.. zobacz sam: http://mschat.net/forum/index.php?topic=293.0 (http://mschat.net/forum/index.php?topic=293.0) Muszę teraz ponaprawiać sporo for hmm a miałem zainstalować moda: "Podobne wąki" ..poczeka.. Jak przekopiujesz to z pliku txt, to będzie ok, na stewkę! Narka :) r. Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: ketch 25.06.2009 23:44:13 Haaaaaaaa! Dziaaaałaa! :D Nawet nie wiesz jak się cieszę, dziękuje Ci :)
A co do znalezienia buga to dobrze, tylko że ja się nie znam na tym za bardzo, mimo dużych chęci. Jeszcze raz dziękuję! :) Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 25.06.2009 23:57:31 To nie była moja wina, teraz sprawdziłem i za każdym razem to dobrze podałem tylko wycięło pojedyncze backslah'e
No nic muszę to naprawić, to ważne, ponieważ prezętuję tu kod.. Wymyśliłem, że wkleje ten kawałek z podwójnym backslash'em, to jak jeden wytnie, to drugi powinien zostać.. Okay.. test test: GeSHi -› Code: [select] echo ' <script type="text/javascript"> // <![CDATA[ function openWindow(url,width,height,options,name) { width = width ? width : 800; height = height ? height : 600; options = options ? options : \'resizable=yes\'; name = name ? name : \'openWindow\'; window.open( url, name, \'screenX=\' (screen.width-width)/2 \',screenY=\' (screen.height-height)/2 \',width=\' width \',height=\' height \',\' options ) } // ]]> </script> </head> <body> <div id="wrapper"> Pozdrawiam :) roco Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 26.06.2009 00:00:49 ..cd nie edytuje, bo juz wycięło po jednym i tak jak tera to jest ok..
Zapomniałem powiedzieć "Welcome" lub jak wolisz - na zdrowie hehe Staraj się wszystko uważnie robić samemu, to wiele się nauczysz.. Narka ;) r. Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: ketch 26.06.2009 00:07:05 Dzięki za radę na przyszłość, pewnie jeszcze nie raz będziemy mieli okazję pogadać, trzymaj się i pozdrawiam! :)
Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 26.06.2009 00:20:56 Okay, zapraszam :)
W miarę możliwości czasowych.., nie odmawiam nikomu pomocy. Jestem Webmasterem, więc zapraszam z różnymi sprawami, nie tylko ze skryptem smf. Pozdrawiam and cześć :) roco Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: ketch 26.06.2009 00:50:06 Szybki powrót, jednak pytanie krótkie.
Co zmienić w kodzie, aby strona nie otwierała się w nowej ramce, tylko nowym oknie z paskiem nawigacji? Kod wygląda następująco: Code: [select] // Show the [skaut] button. echo '<li><a href="http://www.23dsh.wedrownik.net/" onclick="openWindow(this.href);this.blur();return false;">23 DSH</a></li>'; Jak widać ciągle odwołuje się do skryptu, który mi podałeś Roco. Żeby otworzyła się strona w nowym oknie z paskiem nawigacji, musi być inny skrypt dorzucony jeszcze? tutaj już dorzuciłem hasło Code: [select] if (in_array($context['current_action'], array('skaut', 'chat', 'search', 'admin', 'calendar', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm'))) $current_action = $context['current_action']; Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 26.06.2009 05:54:06 Sorry, jestem dość mocno zapracowany.. ale znalazłem chwilkę qrna wiesz że słynny Majkel J. spotkał się z Elvisem? hmm nie mogę w to wręcz uwierzyć..
Dobra co tu mamy.. Jeśli już masz w tablicy dopisany chat, to spoko, jeśli ma dojść jeszcze jakiś button, to trzeba nazwać akcję, jak przy czacie.. Ale zostawmy to, chat jest dopisany i ok. Akurat w tym wypadku menu jest tak proste, że nic nie trzeba, jednak trzeba trzymać fason nie? To jedna z lepszych wersji wyskakującego okienka, dość uniwersalna i odporna na Stop-pup-up'y, ale później pokażę to na innych przykładach Możesz dopisać do swojego buttona, tj do wyskakującego okna również jego opcje. Defaultowo ma powyłączane. Spróbuj dopisać tak: GeSHi -› Code: [select] // Show the [skaut] button. echo '<li><a href="http://www.23dsh.wedrownik.net/" onclick="openWindow(this.href,470,600,\'menubar=yes,location=yes,toolbar=yes,status=yes,directories=yes,scrollbars=yes,resizable=yes\');this.blur();return false;">23 DSH</a></li>'; Jeśli nie zadziała, (ale sprawdź najpierw pod różnymi przeglądarkami czyszcząc cache), to wtedy dopiszesz w sekcji head do tego skryptu, tam gdzie "option" to: GeSHi -› Code: [select] options = options ? options : \'menubar=yes\',\'location=yes\',\'toolbar=yes\',\'status=yes\',\'directories=yes\',\'scrollbars=yes\',\'resizable=yes\'; Jednak najpierw sprawdź bez dopisywania w sekcji head, tylko po dopisaniu do buttona. Tych opcji chyba nie trzeba tłumaczyć co? --> to da Ci pełne okno ze wszystkim.. Nie jestem tylko pewien czy zadziała pod różnymi przeglądarkami, trzeba by zajrzeć do specyfikacji DOM, bo być może coś nie działać na FireFoxa.. nie wiem tego, ale lekturę można spoko osiągnąć na ten temat. A teraz kilka innych przykładów.. np. to jest taki js standarcik nie odporny na różne stopery wyskakujących okien.. GeSHi -› Code: [select] Wystarczy wyłączyć JavaScript i nie zadziała.. Teraz podam jeszcze poważniejsze przykłady, tak jak poważny jest przykład z Chatem.. To ładuje do okna, (określenie Target'u), nawet przy stoperach, jeśli nie ma JS zadziała html GeSHi -› Code: [select] I kolejny już bardziej zaawansowany przykład z Targetem i return false; GeSHi -› Code: [select] Jest wiele rozwiązań, gorszych i lepszych.. multum wystarczy trochę poszukać, ja niestety nie mam czasu na poszukiwania i robię to przy okazji innych spraw.. Zastosuj to co na samym początku tego postu, dopiero kiedy nie zadziała dopisanie do buttona, to dopisz trochę tych opcji i zauważ, że inna trochę jest konstrukcja niż w linku buttona.. No nic, mam nadzieję, że Ci to ułatwi zrozumienie sprawy. Sam korzystam z gotowych rozwiązań, ponieważ w necie znajdziesz dowolne skrypty.. itd. Ok muszę wracać do swojej pracy... Przykro mi z powodu Majkela.., młody chłop był.., miał zaledwie 50.. [ * ] Pozdrawiam :) roco // Edit: jednak wyedytowałem, trzeba pamietać, że php po echo trzeba poprzedać apostrofy backslashem inaczej wywali errora.. Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 26.06.2009 05:58:08 siax! ...dobra nie edytuję.. tam gdzie widzisz podwójne backslashe to dajesz pojedyncze, to ja tu dałem podwójne sądząc, że powycina, jednak we wklejkach kodu nie wycięło.. Uczulam Cię na to, a wszystkim innym proponuję, zanim cokolwiek -należy przeczytać uważnie cały top! dopiero później zabierać się za dłubanko w kodzie..
Narka Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: ketch 26.06.2009 15:27:52 Ok, wszystko zadziałało za pierwszy razem, zmieniłem sobie tylko ten element
Code: [select] (this.href,470,600, na większą rozmiarówkę, potem ludzie sobie już sami zmaksymalizują, to nie jest problem :) Dzięki jeszcze raz! Co do słynnego spotkania, Michaela Jacksona nie słucham, wole inną scenę rockową :) Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: ketch 26.06.2009 17:04:09 Zabrałem się za inne moje forum, chciałem zrobić to samo, już na pamięć. Wywaliłem kilka guzików i jest ok,
nie wiem gdzie dodać ten skrypt o którym mi pisałeś, element między head a body wygląda tak: Code: [select] // the routine for the info center upshrink echo ' <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[ var current_header_ic = ', empty($options['collapse_header_ic']) ? 'false' : 'true', '; function shrinkHeaderIC(mode) {'; if ($context['user']['is_guest']) echo ' document.cookie = "upshrinkIC=" (mode ? 1 : 0);'; else echo ' smf_setThemeOption("collapse_header_ic", mode ? 1 : 0, null, "', $context['session_id'], '");'; echo ' document.getElementById("upshrink_ic").src = smf_images_url (mode ? "/expand.gif" : "/collapse.gif"); document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : ""; current_header_ic = mode; } // ]]></script> </head> <body>'; echo ' <div class="tborder" ', $context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? ' style="width: 100%;"' : '', '> Jak dodaje nad head to jest problem, dopisałem sobie echo i nic z tego, próbowałem z echo ' i jest kolejny problem. Robiłem na wzór innych elementów i za każdym razem nie wiem jak to dodać, zawsze po odświeżeniu jest template error. W tym dodałem chyba wszystko jak należy, bo trudno tutaj się pomylić :) Code: [select] function template_menu() { global $context, $settings, $options, $scripturl, $txt; // Work out where we currently are. $current_action = 'home'; if (in_array($context['current_action'], array('admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers'))) $current_action = 'admin'; if (in_array($context['current_action'], array('buczyna', 'zasady', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'pm'))) $current_action = $context['current_action']; jeżeli chodzi o dodawanie buttonów to po dodaniu tego pod //The [buczyna] rezultat jest marny... Code: [select] // The [calendar]! if ($context['allow_calendar']) echo ($current_action == 'calendar' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '"> </td>' : '' , ' <td valign="top" class="maintab_' , $current_action == 'calendar' ? 'active_back' : 'back' , '"> <a href="', $scripturl, '?action=calendar">' , $txt['calendar24'] , '</a> </td>' , $current_action == 'calendar' ? '<td class="maintab_active_' . $last . '"> </td>' : ''; //The [buczyna] echo '<li><a href="http://www.23dsh.wedrownik.net/buczyna/" onclick="openWindow(this.href,470,600,'menubar=yes,location=yes,toolbar=yes,status=yes,directories=yes,scrollbars=yes,resizable=yes');this.blur();return false;">Buczyna</a></li>'; // the [member] list button if ($context['allow_memberlist']) echo ($current_action == 'mlist' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '"> </td>' : '' , ' <td valign="top" class="maintab_' , $current_action == 'mlist' ? 'active_back' : 'back' , '"> <a href="', $scripturl, '?action=mlist">' , $txt[331] , '</a> </td>' , $current_action == 'mlist' ? '<td class="maintab_active_' . $last . '"> </td>' : ''; Nie wrzuca mi się jako kolejny button, tylko zwykły wypunktowany link nad panelem menu. Wiem, że nie mogę się odwoływać do czegoś, czego nie ma (jak w tym przypadku scrypt openWindow) ale jeśli go wrzucę w odpowiednim miejscu, a system nie wykryje błędu, wtedy button wygeneruje się normalnie, czy o czymś zapomniałem? Wyrzuciłem jeszcze kilka buttonów z panelu, ale wszystko działa poprawnie, dlatego to chyba nie jest błąd. Chyba to kwestia wstawienia koło tego skryptu gdzieś apostrofu, ale nie mam bladego pojęcia gdzie, bo wszystkie pomysły swoje już wykorzystałem. Any idea? Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 26.06.2009 20:55:12 Cytat: ketch 26.06.2009 15:27:52 [select] Co do słynnego spotkania, Michaela Jacksona nie słucham, wole inną scenę rockową :) Ja też nie, jednak niezaprzeczalnie był wielki, i tak jak Elvis był Królem R'n'R tak Michael był królem Popu.. Zaskoczyło mnie to, że że umarał tak młodo.. i wydało mi się to nawet dziwne.. Sam słucham zupełnie innej muzy.... Co do rozmiaru, to tak, to był rozmiar z mojego pop-upa od miniwrzuty fotek - to ta ikonka "wizard" nad polem textowym po prawej.. Powinno być 800,600, Wracając do buttonów.. jesteś kolego nieuważny.., napewno czytałeś ten topik: http://poligon.ricoroco.com/fora/smf/index.php?topic=25.0 (http://poligon.ricoroco.com/fora/smf/index.php?topic=25.0) ? To co zrobiłeś z samym buttonem to czarna magia.. Nie wolno tak robić.. jest kilka buttons, nie widzisz jak wygladają pozostałe? Bez precyzji w edycji kodu.. hmm zrobisz sobie kuku.. Po kolei.. Ten skrypt który leci do heda wrzucasz direct po : GeSHi -› Code: [select] document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : ""; current_header_ic = mode; } // ]]></script> // --> czyli tu! A przed: GeSHi -› Code: [select] Oczywiście kod JavaScript Musi wszedzie tam gdzie a'postrofy tj. tuż przed każdym z nich zastosowany lewy-ukośnik czyli backslash Ok znowu spróbuję wrzucić ten JS ale w tym podświetleniu z GeSHi Czyli tuż przed < /head > wrzucasz ten kawałek JavaScript, (bez żadnego echo, bo ono jest powyżej wkodzie): GeSHi -› Code: [select] <script type="text/javascript"> // <![CDATA[ function openWindow(url,width,height,options,name) { width = width ? width : 800; height = height ? height : 600; options = options ? options : \'resizable=yes\'; name = name ? name : \'openWindow\'; window.open( url, name, \'screenX=\' (screen.width-width)/2 \',screenY=\' (screen.height-height)/2 \',width=\' width \',height=\' height \',\' options ) } // ]]> </script> </head> Jeśli wytnie backslashe to nie edytuje.. mają być zastosowane pojedyńcze backshashe przed każdym z a'postrofów Co do buttona, to coż, trochę mało wkleiłeś tych buttons, więc odwzoruje to do buttona od kalendarza.. Podam kod ale w butonie muszą być dwa pojedyncze backslashe, ja wkleję to podwójnie, mając nadzieję, że po jednym zostawi, oczywiście, jakby przeły takie podwójne to dasz pojedyńcze, tuż za 800,600 i przed ostatnim a'postrofem na końcu linka przed nawiasem ') ok: GeSHi -› Code: [select] // The [calendar]! if ($context['allow_calendar']) echo ($current_action == 'calendar' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '"> </td>' : '' , ' <td valign="top" class="maintab_' , $current_action == 'calendar' ? 'active_back' : 'back' , '"> <a href="', $scripturl, '?action=calendar">' , $txt['calendar24'] , '</a> </td>' , $current_action == 'calendar' ? '<td class="maintab_active_' . $last . '"> </td>' : ''; //The [buczyna] echo ($current_action == 'buczyna' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '"> </td>' : '' , ' <td valign="top" class="maintab_' , $current_action == 'buczyna' ? 'active_back' : 'back' , '"> <a href="http://www.23dsh.wedrownik.net/buczyna/" onclick="openWindow(this.href,800,600,\'menubar=yes,location=yes,toolbar=yes,status=yes,directories=yes,scrollbars=yes,resizable=yes\');this.blur();return false;">Buczyna</a> </td>' , $current_action == 'buczyna' ? '<td class="maintab_active_' . $last . '"> </td>' : ''; // the [member] list button if ($context['allow_memberlist']) echo ($current_action == 'mlist' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '"> </td>' : '' , ' <td valign="top" class="maintab_' , $current_action == 'mlist' ? 'active_back' : 'back' , '"> <a href="', $scripturl, '?action=mlist">' , $txt[331] , '</a> </td>' , $current_action == 'mlist' ? '<td class="maintab_active_' . $last . '"> </td>' : ''; Musisz uważać i nie robić nic na pałę, ponad to korzystaj z wyobraźni, zobacz jak wyglądają inne itp.. Zajrzyj też do topa, gdzie podałem linka, bo tam znajdziesz kilka przykładów.. Style są różne i różną mają konstrukcję, dlatego zanim cokolwiek, należy dokładnie przeanalizować taki plik i porównać z innymi podobnymi, to jest jasne? Pozdrawiam :) roco PS. chyba powinienem napisać - Czuwaj! :laugh: Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: ketch 27.06.2009 22:41:12 Próbowałem robić na wzór, ale to ciągle dla mnie czarna magia, stawiam pierwsze kroki :)
Dzięki za pomoc, wszystko działa! Haha, no już tyle razy linkowałem tutaj tą stronę, że widzę że zajrzałeś :) Tak, tak - Czuwaj :) Trzymaj się, dzięki jeszcze raz :) Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: Sandra 28.06.2009 12:44:04 Witam!
Zainstalowałam sobie ajax_chat-0.8.3_SMF na dwóch portalach: www.drlucy.pl (http://www.drlucy.pl) i www.latoma.net (http://www.latoma.net) i o ile w tej pierwszej lokalizacji jest prawie ok, o tyle w drugiej mam pewien problem. Po pierwsze - wymaga logowania, a po zalogowaniu (gdy podam hasło) chat wraca do strony głównej portalu - takie to trochę nielogiczne :mysli:. No i chciałabym, żeby chat otwierał się tak jak tu, w wyskakującym okienku - to jest naprawdę wygodne, ale nie bardzo wiem, w którym miejscu dokonać właściwe wpisy, zwłaszcza że samo menu jest jakieś javowe... Bardzo prosze o pomoc. Pozdrawiam - Sandra Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 28.06.2009 15:03:54 Cześć Sandra! :)
Czy Chat był zainstalowany w lokalizacji: www.latoma.net/chat (http://www.latoma.net/chat) ? Może być coś z ustawieniami coocis w PA. Pamiętam to menu, ale jak pamiętasz to dopisywałaś na końcu linka (jakby po za menu), do Dr.Lucy, więc może się da? Trzeba dopisać kawałek JavaScript na początki, czyli w sekcji head, później dopisać do tablicy: 'chat' i po niżej dodać linka do innych, wg. procedury już istniejących i wg. tipsów zawartych w tym topie. To nie jest skomplikowane, ale wymaga uwagi.. @Keth Jeśli potraktujesz to personalnie, to nabawisz się tylko gniota.. Widzisz, jak ja jestem precyzyjny? Od ludzi którzy sami są adminami i zabierają się za grzebanko w kodzie, wymagam rozwagi i dokładności inaczej moja praca nie ma sensu, to chyba jasne, nie? Staraj się robić wszystko dokładnie, jak masz wątpliwości, to pytaj bez obciachu, jak zauważę, że ..zresztą nie tylko Ty, ale ktokolwiek robi głupotki w kodzie, to pozwolę sobie skomentować.. ot parę kropelek zimnej wody nikomu nie zaszkodzi, okay? Wiem, że nie jesteś webmasterem, ale chcąc dłubać w kodzie, musisz to robić dokładnie i z wyobraźnią, każdy powinien.., przynajmniej się starać.. niektórzy tego nie robią i nie dość, że są leniwi i myślą, że wszyscy za nich zrobią, to jeszcze są niechlujni choćby w edycji kodu. Nie przejmuj się, zakładam, że się przejmujesz i chcesz się czegoś by the way nauczyć, to jest ok! Tak widziałem tę stronkę, wygląda na przerobioną skórkę ze staruszki joomli, ale jest ok. Możesz się tu dopisać, zewsze będzie o jeden link więcej.. Tylko jak chcesz wrzucić coś co nie dotyczy smf/tp to tu: http://poligon.ricoroco.com/fora/smf/index.php?board=23.0 (http://poligon.ricoroco.com/fora/smf/index.php?board=23.0) a jak chcesz wrzucić swoje forum czy portal na silniku smf to tu: http://poligon.ricoroco.com/fora/smf/index.php?board=33.0 (http://poligon.ricoroco.com/fora/smf/index.php?board=33.0) Sam byłem Harcerzem, zdobyłem wszystkie możliwe sprawności, miałem białą podkładkę i kiedy miałem juz dostać zieloną, to przyszli i powiedzieli, że teraz są nowe mundurki.. takie w kolorze piasku z czerwoną krajką.. czyli to tak jak wyobraź sobie że dziś jeszcze mieszkasz w kraju, który zwie się Polska, a jutro ktoś przychodzi i mówi, że owszem dalej tu mieszkasz jesteś u siebie bla bla, ale ten kraj nazywa się Związek Wrogich nam Sowieckich Republik... Ale zabawa w harcerstwo trwała około 10 lat.. komuchy przegrały w mojej budzie! To Czuwaj! No dobra rozpisałem się z lekka.. Pozdrawiam :) roco Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: Sandra 28.06.2009 16:07:52 Tak, chat jest zainstalowany w tej właśnie lokalizacji.
Problem jest z samym skryptem, który próbuję wkleić do head: (http://latoma.net/Picture0004.png) Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: Sandra 28.06.2009 17:34:19 Hmmm....
udało mi się zwalczyć ten błąd, ale chat w dalszym ciągu nie otwiera się w popupie :dobani: Wstawiłam go do menu na dwa sposoby Code: [select] <a href="chat/" onclick="openWindow(this.href);this.blur();return false;">Chat</a> <a href="chat/" class="active_now" target=_blank">CHAT</a> ale oba nie najlepsze.... pierwszy otwiera chat w tym samym oknie, drugi w nowym oknie... Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 28.06.2009 17:38:22 A widzisz co jest w opisie błędu? Skarbie nie czytałas uwaznie..
Od update chyba do --> v1.6 albo od 1.4 gdzie odkryto z powodu bugu w php że za pomocą backslasha \\ można wykonac kod i to do bazy.. od tej pory kiedy napisze coś z apostrofem i poprzedzę backslashem to smf wycina backslash zostawiając tylko apostrof.. i puste miejsce (spację spasje pousuwaj) masz tu wszystko dokładniusieńko podane po parę razy z powodu tych backslashy.. chyba muszę Ci to pokazać palcem.. (załącznik) Popraw i będzie super.. Nasz Drużynowy poprawił i był happy :D Pozdrawiam ;) roco Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 28.06.2009 17:42:09 Wstaw pierwszym sposobem, ale w skrypcie po tych backslashach zostały niepotrzebne spacje, - pousuwaj je...
Po za tym musi być (powyżej buttons) dopisane 'chat', do tablicy.. pisałem o tym w tym topie.. i w innym też.. Sandra, to klasyczna klasyka.. buttona na smf.. ale jak nie wiesz gdzie to zadaj to pytanie.. Narka :) r. Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: Sandra 28.06.2009 17:44:07 OK. ale nie wiem do jakiej tablicy i gdzie :krzyk:
Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 28.06.2009 18:31:04 Sandra, zamiast po raz kolejny się powtarzać, to:
w tym topie moja odpowiedź Nr.1 - http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg782#msg782 (http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg782#msg782) Po za tym poczytaj ten wartościowy topik: http://poligon.ricoroco.com/fora/smf/index.php?topic=25.0 (http://poligon.ricoroco.com/fora/smf/index.php?topic=25.0) Chodzi o to, że trzeba dodać do tablicy bla bla admin akcje, którą ma wykonać klick na nowy button, to zależy od stylu, czasami nie potrzeba, zwykła proste linki.. ale Należy to zrobić, wg. tego co napisałem w linkach które tu przytaczam. Przeczytasz a wszystko stanie sie klarowne, mam nadzieję.. To potrzebna wiedza.. wiesz choćby po to, żeby to umiec samemu zrobić, a do zrobienia jest ledwie bzdecik.. Buttony sa wczytywane z tej tablicy, która jest w kodzie powyżej sekcji z buttons.. proste... Przeczytaj uważnie i dasz radę.. czy mam to któryś z kolei raz przytaczać? Napisałem to tyle razy, że wystarczy, teraz albo przykleje, może tego topa też i będę dawał tylko linki. Zostało powiedziane w tej kwestii niemal wszystko, niemal, ponieważ style nieco się róznia od siebie, jednak zasada pozostaje ta sama..... Wierzę, że dasz radę :) tym czasem roco Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: Sandra 28.06.2009 19:02:27 Roco, poddaję się :dobani: nie ma u mnie żadnej tablicy z buttonami, do której mogłabym dodać chat :bezradny:
Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 28.06.2009 19:20:13 Sandra, nie poddawaj się :)
Może nie być.. mogą być zapisane gdzie indziej, lub gł. index korzysta z innego sposobu i tablica niepotrzebna.. napisz o jaką skórkę chodzi, czy o default, czy o ta Twoją? jeśli tak, to pewnie jeszcze ja mam tylko napisz gdzie na jakim stylu to robisz. Zresztą i tak możesz sobie ustawić we własnym profilu styl default i na nim to zrobić.. to jakby Ci się nudziło.. Dobra muszę być pewien.. zaglądam tu co jakiś czas.. Kwestia ustalenia co jest co to tylko kilka minut, więc jak jestes to odpisz szybko i postaram się rozwikłac tę zagadkę.. Tym czasem :) r. Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: Sandra 28.06.2009 19:29:42 Robię to w stylu Definition. Na wszelki wypadek wrzuciłam mój index.template do mini-wrzuty
Będę ogromnie wdzięczna za pomoc!! Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 28.06.2009 20:08:14 Sandra, pobrałem i wrzuciłem z powrotem, zarzuć na serwa i rzeknij słowo..
Wyjaśnię co było nie tak i co z tym stylem. Otóż w tym stylu jest inaczej i role tablicy spełnia JavaScript, więc trochę odpada, żeby do JavaScript wrzucać JavaScript, chyba, że można zlać w jedno.. Co było nie tak, otóż zabrakło w tym kawałku JavaScript, który ląduje w sekcji HEAD nie tylko backslesh'y ale również apostrofów, a powinno byc jak na wrzuconej fotce z "rączkami". Natepnie zabrakło w samym linku klasy jak w sąsiednich, czyli mechanizmu upodobniającego i reagujacego na zdarzenie mouseOver. To tyle.. miejmy nadzieje, że teraz będzie wszystko ok, a Ty Sandra napiszesz, czy tak jest w istocie, okay? ;) Pozdrawiam :) roco Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: Sandra 28.06.2009 20:26:04 Dziękuję Ci DOBRY CZŁOWIEKU!!!
Działa!!! Chyba miałam zaćmienie :krzyk: tyle razy czytałam i nie załapałam, ze te backslashe tam maja zostać i z uporem maniaka je usuwałam :krzyk: Jeszcze raz wielkie dzięki!!! Tytuł: Odp: Nowy przycisk - chat Wiadomość wysłana przez: roco 28.06.2009 20:47:42 Na zdrowie!, jednak bądź czujna z ..wiesz z kodem hehe
Ok, pozdrawiam :) roco |