Jump to content

neoxs

Member
  • Posts

    31
  • Joined

  • Last visited

Informacje o forum

  • Wersja
    IP.Board 3.4.7
  • Forum
    www.grasz24.pl/

neoxs's Achievements

Newbie

Newbie (1/14)

1

Reputation

2

Community Answers

  1. O takiej opcji to ja wiem Ale wtedy to trzeba by ręcznie kopiować zawartość teasera do description, tagi przepisywać do keywords. Ok da się, ale jest to trochę podwójna robota
  2. Dzięki za odpowiedź, dużo mi to pomogło Póki co zastosowałem coś takiego w globalTemplate: <if test="$this->registry->getCurrentApplication() == 'ccs'"> <meta property="og:description" content="dzialaaaa" /> <else /> {parse template="includeMeta" group="global" params="$metaTags"} </if> I spoko jak jestem na forum no to tagi są standardowe, jak w artykule ipcontent no to wyświetla mi się og:description o treści "dzialaaa". Mam taki plan aby w globalTemplate wywalić linijkę zaraz po ifie czyli wyglądałoby to tak: <if test="$this->registry->getCurrentApplication() == 'ccs'"> <else /> {parse template="includeMeta" group="global" params="$metaTags"} </if> A w IP.Content -> article templates -> article view dodać odpowiednio tagi. Jedyny problem na jaki napotykam w tym momencie to fakt, że tagi będą w sekcji body zamiast head - o co krzyczy np. facebook debuger + podejrzewam, że to gryzie też ze standardami. Masz jakiś pomysł jak to rozwiązać? Najlepiej byłoby jakieś zmienne powstawiać z IP.Content odpowiedzialne za treść tagów, teasera itd. do globalTemplate, niestety nie wiem czy się tak da, a jeśli tak to jak konstrukcja takowych zmiennych się przedstawia (próbowałem kombinować z tymi z article view ale nic mi z tego nie wyszło).
  3. Witam, Prowadzę serwis oparty na IP.Content i natrafiłem na problem z meta tagami w artykułach. Mianowicie mamy tutaj przykładowy artykuł: http://www.grasz24.pl/artykuly.html/_/artykuly/co-mo%C5%BCecie-poczyta%C4%87-na-graszu-r59 Jak widać jego description oraz og:description zaczyna się od "No dobra, z marudzeniem żartowałem[..]" czyli od body. Natomiast chciałbym aby w tym miejscu występował teaser paragraph (to co w artykule jest napisane pogrubioną czcionką). Kolejna rzecz to og:image, który powinien być brany ten: http://www.grasz24.pl/forum/uploads/f8312c30d48af7094dcce9f3ebd44d1d.jpgnatomiast system sobie wybiera takowy obrazek: http://www.grasz24.pl/forum/uploads/monthly_04_2015/ccs-3-0-31527200-1428695018.jpg I to zależy od artykułu, totalna losowość. I trzecia rzecz, keywords - byłoby świetnie gdyby brane były tam tagi artykułu. Przeszukałem google, byłem na community.invisionpower.com gdzie znalazłem topic z podobnym pytaniem do mojego ale niestety od ponad roku nikt na niego nie odpowiedział. Szukałem też tutaj na forum ale nie widziałem podobnego tematu. Próbowałem się bawić także szablonami globaltemplate oraz includeMeta, ale bez skutku. Jedyny pomysł jaki przyszedł mi do głowy to w article template dodać znaczniki meta tagów ale wtedy zaś będą podwójne. A jak usunę z global templates znaczniki to tematy na forum pozostaną bez tagów. Ma ktoś na to pomysł? Z góry dziękuję za każdą wskazówkę.
  4. Takie rozwiązanie jest mi znane jednak zajmuje ono sporo czasu (należy brać pod uwagę, że tych artykułów będzie wstawianych kilka-kilkanaście dziennie) i ręczne szukanie oraz kopiowanie bezpośrednich linków jest mozolne. Obecny system, na którym pracuje jest pod tym względem mega wygodny, wchodzę do współdzielonego folderu, klikam co chce zamieścić do tekstu i gotowe (potem tylko obrabiam wyśrodkowanie, rozmiary itp.). Funkcja "my media" świetnie się do tego też sprawdza bo błyskawicznie można takie rzeczy dodać do tekstu ale... tylko swoje i to jest duża bolączka.
  5. Witam, Po kilku dniach przeglądania forum invisionpower, google'a, a także invisionize postanowiłem założyć ten temat, bo niestety ale nie znalazłem rozwiązania mojego problemu i mam nadzieję, że tutaj uda mi się coś wspólnie z Wami wymyślić. Otóż chcę oprzeć serwis na IP.Content oraz forum + pozostałe aplikacje IPS. Jednakże natrafiłem na bardzo podstawowy problem. Dodając artykuł przez IP.Content chcąc wstawić do niego jakiekolwiek obrazki mogę skorzystać z opcji "My media" gdzie system pozwala na wstawienie zawartości z moich albumów, załączników itp. Ok. Teraz inny redaktor chce dodać jakąś wiadomość i wykorzystać obrazki, które wstawiłem wcześniej i... nie może. Musi dodać do swojego albumu (bądź jako załącznik) ten sam obrazek, co jest totalnym marnotrawieniem pojemności dysku serwera oraz dodatkowym utrudnieniem pracy. Analogicznie sytuacja wygląda przy wstawianiu "ikonki" (obrazek, który domyślnie pokazuje się w prawym górnym rogu artykułu) materiału, za każdym razem trzeba uploadować nową, co będzie prowadzić do sytuacji, gdzie ta sama grafika zostanie załadowana na serwer kilkadziesiąt albo i więcej razy. Na forum invisionpower zauważyłem, że sporo osób ma podobny problem, IPS ustosunkowało się do tego mniej więcej tak: "Pomysł ze współdzielonymi obrazkami nam się podoba, wykorzystajcie moduł galerii do tego" oraz "Być może coś takiego wprowadzimy w wersji 4.0 ale nie obiecujemy". Idealnym rozwiązaniem by było dla mnie gdyby np. takowe grafiki możnaby przeglądać po grupach. Na przykład mam grupę "redaktorzy" i osoby z tej grupy widzą w "my media" wpisy nie tylko swoje ale i kolegów z tej grupy. Niestety nic takiego póki co nie ma i nie wiadomo co z tym będzie. Jedyne sensowne rozwiązanie to jest jeszcze coś takiego http://www.plugobrowser.com/about-plugobrowser/ To plugin do CKE Editora, który pozwala zarządzać obrazkami jak na FTPie. Pytanie czy dałoby się to wgrać na przykład tylko do edytora dostępnego w panelu administracyjnym IP.Content przy dodawaniu artykułów, tak aby zwykły user na forum nie mógł się tym bawić podczas tworzenia posta/tematu. Ewentualnie jestem w stanie zlecić stworzenie jakiegoś moda, który by jakoś rozwiązał mój opisywany problem. Z góry dziękuję za jakiekolwiek uwagi, porady.
  6. Zrobiłem tak jak poradziłeś i okazało się, że należało po prostu zaktualizować skiny bo były w starej wersji (omg, że też o tym nie pomyślałem :|). Wszystko już działa dziękuję za pomoc.
  7. Nie mogę edytować posta więc podsyłam grafiki jeszcze raz: Chodzi mi o tę ikonkę po prawej Tutaj pokazuje się błąd pokazujący przez Operę Jak widać gdzie indziej to działa, jedynie w dodawaniu wydarzenia jest ten problem.
  8. Witam, Przeszukałem google, zawartość tego forum jak i invisionpower.com niestety nie znalazłem odpowiedzi na swój problem. Mianowicie dodając wydarzenie do kalendarzu mamy pole wyboru daty: Klikając na ikonkę kalendarzyka po prawej stronie powinien mi się pojawić panel wyboru daty. Niestety tak się nie dzieje, po prostu nie ma żadnej akcji. Sprawdzałem to na różnych przeglądarkach i problem jest ten sam. Dodatkowo Opera ma fajny system monitorowania błędów i po klinięciu ikonki kalendarzyka pokazała mi coś takiego: Zaktualizowałem kalendarz do najnowszej wersji i niestety bez skutku. Co z tym fantem zrobić? Dodam, że w wyszukiwarce, widoku tematów i innych miejscach bez problemu pojawia się wybór daty. Proszę o pomoc, rady, cokolwiek. P.S. Problem pojawia się na wszystkich stylach.
  9. Hmm przeczekam, aż pewne skiny zostaną przystosowane pod tą wersję i wtedy zrobię przedłużenie licencji. Póki co nie ma sensu się pchać i bawić ze skinami. Poza tym u mnie update wiąże się z dodatkowymi kosztami (prócz przedłużenia licencji...).
  10. neoxs

    GamesBlack

    Wiadomo coś o ewentualnej aktualizacji skinu do wersji forum 3.1.2 ?
  11. Temat do zamknięcia, już sobie poradziłem. Po prostu użyłem innego parsera rss i go trochę przerobiłem -> http://www.acornartwork.com/blog/2010/04/03/tutorial-rss-feed-parser-in-pure-php/
  12. Witajcie, Mam problem z RSS i kodowaniem znaków. Mianowicie chcę aby na www.left4dead.org.pl pobierało mi z kanału RSS pewne informacje. Niestety RSS jest zapisane w UTF8 , a strona w ISO i teraz trzeba to w locie przekonwertować.Jednak nie wiem za bardzo jak. Oto RSS: http://www.grasz.org/forum/index.php?/rss/forums/2-spolecznosc-left-4-dead/ Strona, która pobiera dane: http://www.left4dead.org.pl/ (jak widać krzaków w ostatnim newsie jest pełno). Kiedyś uratowało mnie w innym skrypcie takie coś: mb_convert_encoding($zmienna, "ISO-8859-2", "UTF-8"); Niestety teraz nie umiem sobie z tym poradzić. Oto kod źródłowy skrypty pobierającego RSS: <?php class rss_parser { var $update_interval = 10; /* How often to fetch the rss file A cached version will be used between updates */ var $data_directory = "/var/www/vhosts/left4dead.org.pl/httpdocs/zas"; /* Where to store the rss data from the feeds Note: an absolute path is better than a relative path here unless you plan on keeping the script to display the feeds in the same folder as this file and the feeds. */ /* NO NEED TO EDIT BELOW HERE UNLESS YOU KNOW WHAT YOU ARE DOING */ var $rss_url; var $num_to_show; var $do_update; var $tags = array(); var $content; var $rss = array(); var $feed_title; var $feed_link; var $feed_description; var $my_html; function rss_parser($url, $numtoshow = 10, $html = "", $update = 0) { $this->rss_url = $url; $this->num_to_show = $numtoshow; $this->do_update = $update; $this->my_html = preg_replace("/(#{.*?).*?})/", "\\1__\\2", $html); //xx:xx tag workaround $this->content = $this->fetch_feed(); $this->parse_feed(); $this->show(); } /* string */ function fetch_feed() { $url_parts = parse_url($this->rss_url); $filename = $url_parts['host'] . str_replace("/", ",", $url_parts['path']) . "_" . @$url_parts['query']; if(file_exists($this->data_directory . "/$filename")) { $last = filemtime($this->data_directory . "/$filename"); if(time() - $last > $this->update_interval * 60 || $this->update_interval == 0) { $update = 1; } } else { $create= 1; } if($create == 1 || ($this->do_update == TRUE && $update == 1)) { $fp = @fsockopen($url_parts['host'], 80, $errno, $errstr, 5); if (!$fp) { echo "Couldn't open rss feed {$this->feed_url} in {$_SERVER['PHP_SELF']}<br />\n"; return; } fputs($fp, "GET " . $url_parts['path'] . "?" . @$url_parts['query'] . " HTTP/1.0\r\n" ."Host: " . $url_parts['host'] . "\r\n" ."User-Agent: Drew's RSS Reader 0.1\r\n" ."Connection: Close\r\n\r\n"); while(!feof($fp)) { $rss_data .= @fgets($fp, 1024); } list(, $rss_data) = explode("\r\n\r\n", $rss_data, 2); $output = @fopen($this->data_directory . "/$filename", "w+"); if(!$output) { return $rss_data; } else { flock($output, LOCK_EX); fputs($output, $rss_data); flock($output, LOCK_UN); fclose($output); } } //update return file_get_contents($this->data_directory . "/$filename"); } /* void */ function parse_feed() { preg_match("/<title>(.*?)<\/title>/", $this->content, $title); $this->feed_title = @$title[1]; preg_match("/<link>(.*?)<\/link>/", $this->content, $link); $this->feed_link = @$link[1]; preg_match("/<description>(.*?)<\/description>/", $this->content, $description); $this->feed_description = @$description[1]; mb_convert_encoding($description[1], "ISO-8859-2", "UTF-8"); preg_match_all("/<item[^>]*>(.*?)<\/item>/s", $this->content, $items); if (sizeof($items[0]) == 0) { echo "No item elements found in rss feed.<br />\n"; } for($i = 0; $i < sizeof($items[0]); ++$i) { preg_match_all("/(?:<([\w:]*)[^>]*>(?:<!\[CDATA\[)?(.*?)(?:]]>)?<\/\\1>)+?/si", preg_replace("/<item[^>]*>/", "", $items[0][$i]), $elements); for($j = 0; $j < sizeof($elements[0]); ++$j) { $elements[1][$j] = str_replace(":", "__", $elements[1][$j]); //regex fix for items with : like dc:date $this->rss[$i][$elements[1][$j]] = trim(html_entity_decode($elements[2][$j])); } } } /* void */ function show() { if($this->my_html == "") { $this->show_html(); } else { $this->show_user_html(); } } function show_html() { $show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss)); for($i = 0; $i < $show; ++$i) { echo "- <a href=\"{$this->rss[$i]['link']}\" target=\"_new\">{$this->rss[$i]['title']}</a><br />\n"; } } function show_user_html() { $show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss)); for($i = 0; $i < $show; ++$i) { extract($this->rss[$i]); $item = preg_replace("/#\{([^}]+)}/e", "$\\1", $this->my_html); echo $item; } } } // end class ?> A to kod, który służy za wyświetlanie: <?php include_once "./zas/rss_fetch.php"; $html = " <div><table cellpadding='0' cellspacing='0' align='center' width='600'><tr> <td style='background:url(../images/newsa.gif); height: 50px; width: 600px; background-repeat: no-repeat;'>\n"; $html .= " <div style='font-size: 13px; color: #E6E6E6; margin-left: 8px; margin-top: 5px;'><a href='#{link}' ><b>#{title}</b></a></div>\n"; $html .= " <div style='font-size: 10px; color: #E6E6E6; margin-left: 8px; margin-top: 5px;'> Opublikowano: #{pubDate}</div></td></tr>"; $html .= " <tr><td><div style='font-size: 11px; color: #CBCBCB; margin-left: 4px; margin-top: 5px; margin-bottom: 10px; text-align:justify;'> #{description}</div></td></tr></table></div><br>\n"; $rss = new rss_parser("http://www.grasz.org/forum/index.php?/rss/forums/2-spolecznosc-left-4-dead/", 5, $html, 1); ?>
  13. Ok jakoś się dogrzebałem na laptopie do tego i owego. Ticket z zapytaniem poszedł
  14. To ja bym prosił o wstępną radę i wycenę przez IPSlink.pl na PW (tak mam u Ciebie tam konto ale teraz jestem na urlopie stąd wygodniej byłoby mi być póki co wyłącznie tutaj na forum)
  15. Witam, Mam forum IPB ( http://www.grasz.org/forum ) i chciałbym do niego dodać bazę użytkowników oraz postów z for: - http://www.left4dead.org.pl - http://www.fear.org.pl - http://www.avp.org.pl - http://pk.fear.org Najlepiej aby odbyło się to w ten sposób, że na forum Grasz.org mamy kategorię "Fansajty" i w niej fora: fear, left4dead, avp, painkiller. Czy jest to w ogóle wykonalne? Po prostu zależy mi na tym aby dane z fansajtów zostały przeniesione na Grasza. Jeśli macie inne pomysły to chętnie wysłucham.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.