Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Modyfikacja pagera pod SEO
admin22
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 18.12.2006

Ostrzeżenie: (0%)
-----


Witam. Od niedawna korzystam ze znanej wam wszystkim clasy pagera do porcjowania i sortowania zapytań z bazy Mysql.
Potrafi ktoś z was zmodyfikować pagera tak aby wyniki były pod SEO, oprócz utworzenia pliku .httaccess należy w zmodyfikować poniższy plik aby generował on linki
Przykład:
zamiast np. takiego linku
http://krowiorz.com/test.php?mp3=2
był taki:
http://krowiorz.com/test-2.html
lub zamiast
http://krowiorz.com/test.php?mp3=1&ord...amp;orderd=desc
był taki:
http://krowiorz.com/test-1-2-desc.html
Zielonego pojęcia nie mam jak to ugryźć w tych w poniższych funkcjach, bo z .htaccess nie będzie problemu.

Daje link, bo topic był by za długi KOD PAGERA
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




czemu nie dajesz linka do strony klasy tylko do swojej strony? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Kodu pagera nie trzeba modyfikowac. Wyjasnialem juz pare razy jak trzeba zapodawac linki. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

edit: choc na szybkiego mozesz zmienic metode makeLink na:
  1. <?php
  2. protected function makeLink(){
  3. $this->linkPage = 'twojglownylink-#PAGE#';
  4. }
  5. ?>

a pager tworzyc tak:
$pager = new Pager('id', null);
Go to the top of the page
+Quote Post
admin22
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 18.12.2006

Ostrzeżenie: (0%)
-----


Nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) używam wersji 2.5 i php5
Zmieniłem w pliku Pager.class.php fragmęt kodu z:
  1. <?php
  2. protected function makeLink(){
  3. //TODO: pomyslec cos z niceurl
  4. //pobranie nazwy parametru z $_GET
  5. $paramPageNumber = $this->getUrlParamPageNumber();
  6.  
  7. //wyrzucenie go z REQUEST_URI jeśli był
  8. $this->linkPage = $paramPageNumber ? preg_replace('/&?'.$paramPageNumber.'=d*/','', $_SERVER['REQUEST_URI']) : $_SERVER['REQUEST_URI']; 
  9. }
  10. ?>

na
  1. <?php
  2. protected function makeLink(){
  3. $this->linkPage = 'twojglownylink-#PAGE#';
  4. }
  5. ?>

Wywoływałem pagera tak:

  1. <?php
  2. require_once('Pager.class.php');
  3. require_once('EPager.class.php');
  4.  
  5. ...
  6.  
  7. $orders = array('id','nazwa','ile');
  8. $pager = new EPager('id', null, false,$orders);
  9. $headers = array('id' => 'ID', 'nazwa' => 'NAZWA', 'ile' => 'POPULARNOSC');
  10. echo $pager->Render();
  11. //a teraz już kod generujący tabelę z wynikami
  12. echo "<table cellpadding='10' cellspacing='6'><tr>
  13. <th><a href=\"{$headers['id']['LINK']}\">ID</a>".($headers['id']['SORTED'] ? ' <img src="sort_'.$headers['id']['SORTED'].'.gif"/>' : '')."</th>
  14. <th><a href=\"{$headers['nazwa']['LINK']}\">NAZWA</a>".($headers['nazwa']['SORTED'] ? ' <img src="sort_'.$headers['nazwa']['SORTED'].'.gif"/>' : '')."</th>
  15. <th><a href=\"{$headers['ile']['LINK']}\">POPULARNOŚĆ</a>".($headers['ile']['SORTED'] ? ' <img src="sort_'.$headers['ile']['SORTED'].'.gif"/>' : '')."</th>
  16. </tr>";
  17.  
  18. //wyświetlenie wyników zapytania
  19. while($row = mysql_fetch_array($res)){
  20. echo "<tr><td>{$row['id']}</td><td><a href=\"search-mp3,{$row['nazwa']},1.html\" target=\"_blank\">{$row['nazwa']}</a></td><td>{$row['ile']}</td></tr>";
  21. }
  22.  
  23. echo '</table>';
  24. ?>


Próbowałem zmienić przy wywoływaniu tą linijkę
  1. <?php
  2. $pager = new EPager('id', null, false,$orders);
  3. ?>


na
  1. <?php
  2. $pager = new Pager('id', null);
  3. ?>
lub
  1. <?php
  2. $pager = new EPager('id', null);
  3. ?>

NIESTETY BEZ REZULTATÓW, CO ROBIĘ ŹLE?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




samo nie dziala to mi za wiele nie mowi.

Pozatym mieszasz dwie wersje pagera. Zmiany robisz w Pager, a uzywasz EPager.
EPager jest rozszerzeniem klasy Pager o dodatkową funkcjionalnosc. Skoro wiec uzywasz EPager, to zmiane funkcji rob w niej, a nie w Pager, gdyz EPager i tak nadpisze funkcję z Pager.

I tylko mi nie mow ze mowie niezrozumiale. Tu sie klania tzw. dziedziczenie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
admin22
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 18.12.2006

Ostrzeżenie: (0%)
-----


Oczywiście że słyszałem o dziedziczeniu, tylko że widząc skrawek skryptu trudno się połapać. Oczywiście za działało (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Bardzo dziękuje za pomoc i przepraszam za kłopot.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 15:53