Customer
22.07.2009 00:53:50
Topic Starter
Poland
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg781#msg781
|
|
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 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!
|
|
|
IP Zapisane
|
|
|
|
Administrator
3wProducer
Imagination is more Important than Knowledge
08.05.2017 21:24:16
United States
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg782#msg782
Post #1 |
|
Witam, Dlaczego nie dopisałeś tego tematu do juz istniejącego? tu: http://poligon.ricoroco.com/fora/smf/index.php?topic=227.0No 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: $current_action = 'admin'; if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm'))) // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.027s | speed:9.01 KB/s i trzeba do niej dopisać buttona "Chat", to będzie tak: $current_action = 'admin'; if (in_array($context['current_action'], array('chat', 'search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm'))) // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.030s | speed:8.89 KB/s 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#msg470Oczywiś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
Attention! Testing modifications - Steam Profile
|
|
Last Edit: 28.06.2009 18:43:57 by: roco
|
IP Zapisane
|
|
|
|
Customer
22.07.2009 00:53:50
Topic Starter
Poland
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg783#msg783
Post #2 |
|
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...) 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 // 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
|
: : Attachment : :
|
|
IP Zapisane
|
|
|
|
Administrator
3wProducer
Imagination is more Important than Knowledge
08.05.2017 21:24:16
United States
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg784#msg784
Post #3 |
|
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- 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: echo ' </head ><body > <div id ="wrapper"> // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.031s | speed:1.54 KB/s To do tego echa dodamy skrypt: 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"> // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.041s | speed:12.98 KB/s 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: // Show the [chat] button. echo '<li><a href="chat/" onclick="openWindow(this.href);this.blur();return false;">Chat</a></li>'; // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.030s | speed:4.51 KB/s 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: // 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>'; // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.034s | speed:44.33 KB/s 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?
Attention! Testing modifications - Steam Profile
|
|
|
IP Zapisane
|
|
|
|
Customer
22.07.2009 00:53:50
Topic Starter
Poland
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg786#msg786
Post #4 |
|
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 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.
|
|
|
IP Zapisane
|
|
|
|
Administrator
3wProducer
Imagination is more Important than Knowledge
08.05.2017 21:24:16
United States
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg787#msg787
Post #5 |
|
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: 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">
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP (brief)] | load:0.007s | speed:64.24 KB/s 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 <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..
Attention! Testing modifications - Steam Profile
|
: : Attachment : :
|
|
IP Zapisane
|
|
|
|
Administrator
3wProducer
Imagination is more Important than Knowledge
08.05.2017 21:24:16
United States
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg789#msg789
Post #6 |
|
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.0Muszę 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.
Attention! Testing modifications - Steam Profile
|
|
|
IP Zapisane
|
|
|
|
Customer
22.07.2009 00:53:50
Topic Starter
Poland
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg790#msg790
Post #7 |
|
Haaaaaaaa! Dziaaaałaa! 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ę!
|
|
|
IP Zapisane
|
|
|
|
Administrator
3wProducer
Imagination is more Important than Knowledge
08.05.2017 21:24:16
United States
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg791#msg791
Post #8 |
|
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: 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">
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.031s | speed:15.21 KB/s Pozdrawiam roco
Attention! Testing modifications - Steam Profile
|
|
|
IP Zapisane
|
|
|
|
Administrator
3wProducer
Imagination is more Important than Knowledge
08.05.2017 21:24:16
United States
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg792#msg792
Post #9 |
|
..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.
Attention! Testing modifications - Steam Profile
|
|
|
IP Zapisane
|
|
|
|
Customer
22.07.2009 00:53:50
Topic Starter
Poland
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg793#msg793
Post #10 |
|
Dzięki za radę na przyszłość, pewnie jeszcze nie raz będziemy mieli okazję pogadać, trzymaj się i pozdrawiam!
|
|
|
IP Zapisane
|
|
|
|
Administrator
3wProducer
Imagination is more Important than Knowledge
08.05.2017 21:24:16
United States
|
|
Link: http://poligon.ricoroco.com/fora/smf/index.php?topic=301.msg794#msg794
Post #11 |
|
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
Attention! Testing modifications - Steam Profile
|
|
|
IP Zapisane
|
|
|
|
|