![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przedstawiam klasę PHP generującą mapy stron zgodne z protokołem Sitemap 0.90. Założeniem była 100% zgodność ze specyfikacją oraz maksymalna możliwa prostota. Cechy klasy:
Przykład wygenerowanej mapy: http://wydluz.net/sitemap.xml Download i przykłady użycia w języku angielskim: http://www.phpclasses.org/browse/package/5838.html Przykłady użycia i opis w języku polskim: http://antczak.org/2009/12/sitemap-generat...ie-mapy-strony/ Ten post edytował korro 11.12.2009, 10:15:04 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Klasa zapowiada się ciekawie - w wolnej chwili przejrzę.
Ale mała sugestia: daj może link do pobrania bezpośrednio od Ciebie ze strony a nie na tym durnym phpclasses... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
To prawda, phpclasses nie jest najwygodniejsze, ale chciałbym mieć download w jednym miejscu.
Widzę tam ilość ściągnięć. Ten post edytował korro 12.12.2009, 10:17:12 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Widzę tam ilość ściągnięć. Ok, to masz juz o jedno mniej sciagniecie.edit down: Cytat Nie wiem, co widzisz w tym złego. to, ze zamiast jednego kliknięcia muszę wykonac 15 by ją pobrać ![]() Cytat Poza tym, i klasa radzi sobie całkiem dobrze Ale ja nie mówię, ze to zła klasa. Mowię tylko że jestem na tyle leniwy i na tyle nie lubię phpclasses że ja osobiście już jej pobierać nie będę.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, co widzisz w tym złego.
Poza tym, i klasa radzi sobie całkiem dobrze: http://www.phpclasses.org/browse/top/top.html#weekpackages -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
@nospor - nie jestes sam. Ja tez bym sie z checia pobawil ale phpclasses.org jest tak wstretne ze nie mam nawet zamiaru tam zagladac ;-)
Ten post edytował NuLL 13.12.2009, 23:56:27 -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 195 Pomógł: 14 Dołączył: 12.01.2006 Skąd: Gotham City Ostrzeżenie: (0%) ![]() ![]() |
Wygląda bardzo fajnie i porządnie. Twoja klasa na pewno nie jednej osobie się przyda.
W przeciwieństwie do kolegów od dawna mam konto na phpclasses i korzystam z tego serwisu. -------------------- Temat zamykam i przenoszę do Bangladeszu.
To jest wiadomość śmierci jeśli ją czytasz to znaczy że pozostało ci 30 sekund życia, więc lepiej zacznij się modlić. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 10.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanko, gdzie to dodajecie?. Oczywiście jak już sobie podprowadzicie by generowało odpowiednie linki. Do crontaba, czy co jakiś czas ręcznie?.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 16 Dołączył: 4.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Postanowilem napisac cos podobnego
ale troche latwiejszego w uzyciu dla mniej doswiadczonych userow
dodalem logowanie ew bledow co moze sie przydac gdy wrzucimy calosc do crona calosc jest prosta i dziala moze sie komus przyda |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Niezupełnie. Inaczej mówiąc nie działa.
http://www.xml-sitemaps.com/download/www.wp.pl/urllist.txt http://www.xml-sitemaps.com/download/php.pl/urllist.txt Sitemapa najpierw musi zostać wygenerowana przez stronę http://www.xml-sitemaps.com. Co do phpclasses. Cóż. Udostępniam Wam gotowe rozwiązanie. Jedyne co musicie zrobić, to zarejestrować się na jakieś stronie. Okazuje się jednak, że jest to bariera nie do przejścia. Nie będę namawiał do skorzystania. Jeśli będziecie potrzebować, napiszecie sami i udostępnicie na forum. Będzie to z pożytkiem dla społeczności. Edit: @graczu: cron to dobre rozwiązanie. Jeśli nie ma takiej możliwości, można sprawdzać jak stary jest plik, jeśli osiągnie odpowiedni wiek, uruchamiasz generator. Ten post edytował korro 27.12.2009, 22:10:53 -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 10.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem sobie do cron'a by odpalał się o 00:00, podpiąłem klase pod mojego cms'a, w którym mam w bazie zapisywane ostatnie modyfikacje dla rekordów, więc wstawiam unix timestamp do date("c", wartosc_time_z_bazy);.
I wprowadziłem małą zmianę, dodałem: Kod 109>> private $sitemapFullURLGZ; 224>> if ($this->createGZipFile){ $this->sitemapFullURLGZ = $this->baseURL.$this->sitemapFileName.".gz"; } $this->sitemapFullURL = $this->baseURL.$this->sitemapFileName; 268>> public function updateRobots() { if (!isset($this->sitemaps)) throw new BadMethodCallException("To update robots.txt, call createSitemap function first."); $sampleRobotsFile = "User-agent: *\nAllow: /"; if (file_exists($this->basePath.$this->robotsFileName)) { $robotsFile = explode("\n", file_get_contents($this->basePath.$this->robotsFileName)); $robotsFileContent = ""; foreach($robotsFile as $key=>$value) { $value = trim($value); if(substr($value, 0, 8) == 'Sitemap:') unset($robotsFile[$key]); else $robotsFileContent .= $value."\n"; } $robotsFileContent .= "Sitemap: " . $this->sitemapFullURL; if ($this->createGZipFile && !isset($this->sitemapIndex)){ $robotsFileContent .= "\nSitemap: ".$this->sitemapFullURLGZ; } file_put_contents($this->basePath.$this->robotsFileName,$robotsFileContent); } else { $sampleRobotsFile = $sampleRobotsFile."\n\nSitemap: ".$this->sitemapFullURL; if ($this->createGZipFile && !isset($this->sitemapIndex)){ $sampleRobotsFile .= "\nSitemap: ".$this->sitemapFullURLGZ; } file_put_contents($this->basePath.$this->robotsFileName, $sampleRobotsFile); } } Bo w pliku robots robiło pierwszą nazwę pliku mapy z rozszerzeniem .gz i pod nią drugą z .gz.gz. Kod Sitemap: http://192.168.0.2/strona/xml/sitemap.xml.gz Sitemap: http://192.168.0.2/strona/xml/sitemap.xml.gz.gz Teraz już nie ma tego problemu. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 16 Dołączył: 4.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
dzieki wielkie
straszne niedopatrzenie z mojej strony... |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
@graczu, pokaż wywołanie.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:06 |