phpRS 2.8.x : phpRS Fórum
Toto fórum je určené výhradně k diskuzi o verzích phpRS v2.8.x.
phpRS - redakční a informační systém
Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-16, 10:43

Snažil jsem se hledat, ale nenarazil jsem nikde zde na úpravu stránkování např. jak ho mají na googlu. Zde je to tak, že když nastavím třeba 20 článků na stránku, tak se mi zobrazí tohle 1-20, 21-40, 41-60 atd.
Při velkém počtu článku to však je už problém viz zde [http://regionycr.cz/search.php?rsvelikost=sab&rstext=all-phpRS-all&rstema=1].

A to teprve byl pouze 1 měsíc zkušebního provozu, nedokážu si představit co to udělá třeba za půl roku...jelikož nyní tam přibývá cca 80-100 článků denně, avšak již během srpna to bude počet v řádu stovek denně, to by pak lišta stránkování byla nekonečná.

Neřešil zde někdo možnost stránkování a nebo nepomohl by někdo s úpravou:

-omezení třeba jen na 10 částí a v lepším případě ještě místo číslovky článků (třeba 21-40 číslo třeba 2): např. < 22 23 25 26 27 28 29 30 31 32 >

Děkuji všem za každou radu

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: xsuchy09 (IP adresa zaznamenána)
Datum: 2009-07-17, 02:17

Řešilo se vícekrát, hledej ... jednoduchá úprava výpisu stránkování článků.

========================
WEB: Publikační systém WAMOS
SEO: SEO analýza zdarma
OPEN PROJECTS: Studentský portál VUT
HOSTING: WebGlobe.cz
ICQ: 313887644
EMAIL: xsuchy09(at)centrum.cz
========================

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-07-17, 08:51

No já hledal, a asi nezadávám správné slovní spojení:-) Jinak našel jsem stránkování pro index, ale tak ho mám vypnuto.Jde mi o stránkování na search.php

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2009-08-19, 12:39

Treba upraviť funkciu SestavNavigacniListu v spefce. Výpis odkazu zanoríš do nejakej podmienky, ktorá zabezpečí vypísanie napr. len 5 odkazov pred a za aktuálnou stránkou.

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2009-08-19, 12:45

Mám to spravené napríkald tu (ale nie cez štandardné stránkovanie v phpRS, nei je to ušité pre články): [http://www.filmdat.cvu.cz/filmy.php?p=48]
ale je princíp je snáď jasný, inšpiruj sa z kódu:
// strankovanie
        $stran = ceil($vypis_pocet/$nastranu);

        if ($strana>$stran) {
            header('Location: '.$GLOBALS['baseadr'].'filmy.php?p='.$stran);
            die;
        }
        $strankovanie = '<div class="strankovani pad1">&nbsp; ';
        for ($i = 1; $i <= $stran; $i++) {
            if (abs($i-$strana)>5) {
                $ukaz_odkaz = false;
            } else {
                $ukaz_odkaz = true;
            }

            if (false === $ukaz_odkaz && !isset($pevny_odkaz_pred) && $i<$strana) {
                $pevny_odkaz_pred = ' <a href="./filmy.php">1</a>.. ';
                $strankovanie .= $pevny_odkaz_pred;
            }
            if (false === $ukaz_odkaz && !isset($pevny_odkaz_za) && $i>$strana) {
                $pevny_odkaz_za = ' ..<a href="./filmy.php?p='.$stran.'">'.$stran.'</a> ';
                $strankovanie .= $pevny_odkaz_za;
            }

            if (true === $ukaz_odkaz) {
                if ($i == $strana) {
                    $strankovanie .= ' <b>'.$i.'</b> ';
                } else if ($i==1) {
                    $strankovanie .= ' <a href="./filmy.php">'.$i.'</a> ';
                } else {
                    $strankovanie .= ' <a href="./filmy.php?p='.$i.'">'.$i.'</a> ';
                }
            }
        }
        $strankovanie .= ' &nbsp; [<a href="./filmy.php?abc">'.RS_FLM_ABC.'</a>]</div>';




Celkem upraveno 1×. Poslední úprava pa3k v 19.08.2009 12:49.

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-08-19, 20:48

Díky moc,
jakmile budu mít hotovo, tak zde vystavím výsledek.

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2009-08-20, 13:06

No tak at dělám co dělám, stále to nemohu nějak skloubit do sebe, pořád mi to vyhazuje chybky:-(

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: pertinax (IP adresa zaznamenána)
Datum: 2009-08-20, 18:23

"Strankovanie"

To strankovanie je viac vec vkusu, ci mam klikat na nasledujucu stranku alebo nahodne na nejake cislo (trebars desiatu stranku) tak je to v podstate jedno.

Ak hladam nieco konkretne, tak to radsej pouzijem vyhladavanie, pokial je na stranke k dispozicii.

Ja zatial nemam vela clankov na hlavnej stranke, avsak chybal mi odkaz na poslednu stranku. Preco ma niekto listovat len od posledneho clanku a nie aj od prveho?

Preto som si toto upravil a doplnil som do index.php odkaz na poslednu stranku (je to okolo riadku 100):

// nasledujici
if ($GLOBALS["strana"]<$pocet_str):
echo " | <a href=\"?strana=".($GLOBALS["strana"]+1)."\">".RS_IN_NASL."</a>";
endif;

// posledna
if ($GLOBALS["strana"]<$pocet_str):
echo " | <a href=\"?strana=$pocet_str\">".RS_IN_POSL."</a>";
endif;

// celkovy pocet

Netreba si zabudnut este doplnit do prislusneho slovnika:

define('RS_IN_POSL','posledná');

a ide to ;)


[http://www.zeleznicne.info]

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: lucifrid (IP adresa zaznamenána)
Datum: 2009-08-20, 18:50

Nemate nekdo hotovy kod vylozene pro phprs? Dost by se mi to hodilo prave ve stylu 1 2 3 4 5 ...

v phprs si toho dokazu dost upravit, ale na php nejsem odbornik a z techle navrhu to nedokazu...

proto se omlouvam za obtezovani, ale hodne by mi to bodlo.. nejen na prvni strance, ale i v rubrikovych tematech...

moc diky za jakoukoliv radu

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: pertinax (IP adresa zaznamenána)
Datum: 2009-09-07, 22:41

lucifrid napsal/a:
-------------------------------------------------------
> Nemate nekdo hotovy kod vylozene pro phprs? Dost
> by se mi to hodilo prave ve stylu 1 2 3 4 5 ...
>
> v phprs si toho dokazu dost upravit, ale na php
> nejsem odbornik a z techle navrhu to nedokazu...
>
> proto se omlouvam za obtezovani, ale hodne by mi
> to bodlo.. nejen na prvni strance, ale i v
> rubrikovych tematech...
>
> moc diky za jakoukoliv radu


Inak to stránkovanie v štýle < 1 2 3 4 5 ... > je použité v plugine knižnica 2, takže skús sa na to pozrieť tam, ako je to robené, plugin knižnica2 sa tu dá stiahnúť. Ak mi vyjde čas, možno sa na to pozriem aj ja, či sa to bude dať využiť.

[http://www.zeleznicne.info]

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: lucifrid (IP adresa zaznamenána)
Datum: 2009-09-07, 22:43

moc diky za tip, mrknu na to :)

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: pertinax (IP adresa zaznamenána)
Datum: 2009-09-11, 11:40

ahojte,

tak to stránkovanie je v tej knižnici 2 robené trochu inak, preto som to nepožil.

Keď už vieme počet strán, tak by nemal byť problém to dať do nejakého cyklu, som si povedal. Podobné riešenie som našiel aj na internete, tak som si ho jednoducho upravil pre svoje potreby. Upravené stránkovanie (v indexe) je možné vidieť na mojej stránke.


[http://www.zeleznicne.info]

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: lucifrid (IP adresa zaznamenána)
Datum: 2009-09-11, 11:46

ahoj,

teda, to je presne ono :))

bylo by mozne dat primo kod toho upraveneho? moc prosim :)) strasne by mi to pomohlo

ja na tu kniznici taky koukala a nebyla jsem z toho moudra...

jinak stejne reseni na tohle Te nenapada?

http://www.zeleznicne.info/search.php?rsvelikost=sab&rstext=all-phpRS-all&rstema=168


Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: pertinax (IP adresa zaznamenána)
Datum: 2009-09-11, 12:22

Tu je moja úprava stránkovania:

// navigacniho menu
if ($strankovani==1):
// vypocet mnozstvi rotaci
$celkem_cla=$GLOBALS["clanek"]->CelkemClanku();
if ($pocetclanku>0):
$pocet_str=ceil($celkem_cla/$pocetclanku);
else:
$pocet_str=ceil($celkem_cla/10); // defaultni mnozstvi clanku na str. 10
endif;

// sestaveni listy
if ($pocet_str>1):
echo "<div align=\"right\" class=\"strankovani\">\n";

// predchozi
if ($GLOBALS["strana"]>1):
echo " <a href=\"?strana=".($GLOBALS["strana"]-1)."\" title=\"naspäť\"> << </a> |";
endif;

// jednotlive strany
for ($i = 1; $i <= ($pocet_str); $i++) :
if ((($i > ($GLOBALS["strana"] - 4)) && ($i < ($GLOBALS["strana"] + 4))) || ($i == 1) || ($i == ($pocet_str))) {
// nahrada cisel skrytych stranok za bodky
$bodky_l = '';
$bodky_p = '';
if (($i == 1) && ($GLOBALS["strana"] > 4) && ($GLOBALS["strana"] != 5)) $bodky_l = ' ... ';
if (($i == $pocet_str) && ($GLOBALS["strana"] < $pocet_str - 4)) $bodky_p = ' ... ';
if ($i == $GLOBALS["strana"]) {
echo "&nbsp;<span style=\"font-size: 120%\">(".$i.")</span>&nbsp;";
} else {
echo " $bodky_p &nbsp;<a href=\"?strana=$i\">".$i."</a>&nbsp; $bodky_l ";
}
}
endfor;

// nasledujici
if ($GLOBALS["strana"]<$pocet_str):
echo " | <a href=\"?strana=".($GLOBALS["strana"]+1)."\" title=\"ďalej\">>></a>";
endif;

// celkovy pocet
echo " </br></br> ".RS_IN_CELKEM_1." ".$celkem_cla." ".RS_IN_CELKEM_2;
echo "</div>\n";
echo "<br />\n";
endif;
endif;

Samozrejme, že si to treba odskúšať na lokálnom PC. Číslo "4" udáva počet zobrazujúcich strán a je ho možné meniť podľa vlastného uváženia, ale treba potom zmeniť aj číslo "5" v podmienke.

[http://www.zeleznicne.info]

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: lucifrid (IP adresa zaznamenána)
Datum: 2009-09-11, 12:24

strasne moc moc dekuju :)))) vecer vyzkousim :))

diiiiky :)


povedlo se :)) moc dekuju :))



Celkem upraveno 1×. Poslední úprava lucifrid v 11.09.2009 19:56.

Re: Stránkování typu < 22 23 25 26 27 28 > třeba jako na googlu
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2010-05-19, 21:07

Upraveno pro search.php
K vidění na [http://www.regionycr.cz]

// standardni funkce pro sestaveni navigacni listy
function SestavNavigacniListu($celkem_polozek = 0, $pocet_na_str = 0, $akt_str = 1, $atr_pocet_na_str = 'pocet', $atr_akt_str = 'str', $cil_soubor = '', $cil_atributy = '')
{
$vysl='';

if ($celkem_polozek>0&&$pocet_na_str>0): // celkovy pocet polozek musi byt vetsi nez 0 a pocet polozek na jednu stranku take
$mozne_obratky=ceil($celkem_polozek/$pocet_na_str);

if ($mozne_obratky>1): // musi byt vice jak jedna obratka, aby melo smysl vytvaret navigacni listu
// pomocne upravy
if ($cil_atributy!=''): $cil_atributy='&amp;'.$cil_atributy; endif;
// sestaveni navigacni listy
$vysl.='<div class="std-navig">';
//$vysl.='Článků: '.$celkem_polozek.' - ;
$vysl.='Stránka: ';
// predchozi
if ($akt_str>1):
$vysl.=' <a href="'.$cil_soubor.'?'.$atr_pocet_na_str.'='.$pocet_na_str.'&amp;'.$atr_akt_str.'='.($akt_str-1).$cil_atributy.'" title="Předchozí" class="std-navig-akt-str"> << Předchozí </a> |';
endif;


// jednotlive strany
for ($i = 1; $i <= ($mozne_obratky); $i++) :
if ((($i > ($akt_str - 6)) && ($i < ($akt_str + 6))) || ($i == 1) || ($i == ($mozne_obratky))) {
// nahrada cisel skrytych stranok za bodky
$bodky_l = '';
$bodky_p = '';
if (($i == 1) && ($akt_str > 6) && ($akt_str != 7)) $bodky_l = ' ..... ';
if (($i == $mozne_obratky) && ($akt_str < $mozne_obratky - 6)) $bodky_p = ' ..... ';
if ($i == $akt_str) {
$vysl.="&nbsp;<span class=\"std-navig-akt-str\">(".$i.")</span>&nbsp;";
} else {
$vysl.=" $bodky_p &nbsp;<a href=\"".$cil_soubor."?".$atr_pocet_na_str."=".$pocet_na_str."&amp;".$atr_akt_str."=".$i.$cil_atributy."\">".$i."</a>&nbsp; $bodky_l ";
}
}
endfor;
// nasledujici
if ($akt_str<$mozne_obratky):
$vysl.=' | <a href="'.$cil_soubor.'?'.$atr_pocet_na_str.'='.$pocet_na_str.'&amp;'.$atr_akt_str.'='.($akt_str+1).$cil_atributy.'" title="Další" class="std-navig-akt-str">Další >></a>';
endif;


//$vysl.='| ';



//for ($pom=0;$pom<$mozne_obratky;$pom++):
// $pom_vysl_strana=$pom+1;
// if ($pom_vysl_strana==$akt_str): // test na akt. platnou stranku
// $vysl.='<span class="std-navig-akt-str">'.$pom_vysl_strana.'</span> | ';
// else:
// $vysl.='<a href="'.$cil_soubor.'?'.$atr_pocet_na_str.'='.$pocet_na_str.'&amp;'.$atr_akt_str.'='.$pom_vysl_strana.$cil_atributy.'">'.$pom_vysl_strana.'</a> | ';
// endif;
//endfor;
$vysl.="</div>\n";
endif;
endif;

return $vysl;
}

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.