» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
 » Concurs
GameDev
 » Statistici
  • 46897 de mesaje.
  • 5862 de topicuri.
  • 817 de utilizatori.
  •  
  • Rickarda e ultimul utilizator inregistrat.
[Detalii]

 » Parteneri » Sponsori

 » Recomandăm
HostVision

» Avem un concurs pentru bloggeri si forumisti. Participi? «
Pagini: [1]
Print
[Tutorial] Pagina de eroare personalizata pentru phpLD v2.2.0 [139 afisari]
Agkelos
*


Mesaje: 6021
OnlineOnline

WWW

phpLD (php Link Directory) este o aplicatie pentru crearea de directoare web. Un dezavantaj il prezinta inexistenta unei posibilitati de personalizare a mesajelor de eroare. In cazul in care accesati un link inexistent, datorita modului de functionare a aplicatiei, vi se va afisa pagina index iar in acelasi timp browserul va primi ca raspuns un cod de eroare 404, adica pagina inexistenta. E frustrant uneori sa vezi cum pagina exista dar crawlerele o detecteaza ca pagina inexistenta. De asemenea e urat ca cineva sa incerce sa acceseze o pagina inexistenta datorita unui link scris gresit iar acea persoana sa nu stie ca pagina nu exista iar ceea ce vede nu are relevanta.

Pentru a rezolva problema paginilor de eroare personalizate trebuie sa facem mici modificari in aplicatie (ce bine ca e open source). Nu e complicat, e chiar simplu. Trebuie sa modificam un fisier, index.php, si si cream un alt fisier 404.tpl, care sa-l folosim ca template pentru mesajele de eroare aparute in cazul accesarii unei pagini inexistente.

Prima data deschidem fisierul index.php cu un editor de texte sau cu o aplicatie specializata. In cod cautam urmatoarele doua linii:

Code:
$id = get_category();
if (!$tpl->is_cached('main.tpl', $id))

Daca nu s-au facut alte modificari ar trebui sa fie liniile 190 si 191. Cele doua linii se inlocuiesc cu urmatorul cod:

Code:
$id = get_category();
if($id==0 && strlen(request_uri()) > 2 && request_uri() != '/index.php' && !isset($_REQUEST['q']))
{
        $path[] = array ('ID' => '0', 'TITLE' => _L('404, Pagina inexistenta'), 'TITLE_URL' => ", 'DESCRIPTION' => ");
        $tpl->load_filter('output', 'trimwhitespace');
        echo $tpl->fetch('404.tpl');
        @exit(0);
} else if (!$tpl->is_cached('main.tpl', $id))

Dupa cum se poate observa am modificat codul care, acum, inainte de a verifica existenta in cache a template-ului, va verifica existenta paginii cerute. Cum phpLD 2.2.0 nu ofera un mod concret pentru identificarea paginilor inexistente codul de mai sus e o "carpeala" si implicit are si un bung, si anume nu va fi valid pentru paginile inexistente care au numele de lungime 1 caracter. Bineinteles, cazurile acestea sunt rare si avand in vedere conditiile date putem fi multumiti cu ceea ce avem.

Dupa ce am facut aceasta modificare trebuie sa cream in directorul templates o pagina numita 404.tpl in care sa introducem urmatorul cod:

Code:
{capture name="title"}{l} - Eroare 404, pagina inexistenta{/l} - {/capture}
{capture assign="in_page_title"}{l}Eroare 404, pagina inexistenta{/l}{/capture}
{capture assign="description"}{l}Eroare 404, pagina inexistenta{/l}{/capture}
{include file="header.tpl"}
{include file="top_bar.tpl"}
{include file="admin/messages.tpl"}
<h3>Eroare 404, pagina inexistenta</h3>
<table border="0" cellspacing="10" class="formPage">
  <tr>
    <td class="contact">
        Pagina solicitata nu a fost gasita pe server.
    </td>
  </tr>
</table>

{include file="footer.tpl"}

Designul rezultat va fi putin ciudat, dar se poate personaliza asa cum se poate personaliza orice fisier template din phpLD.
Logged

Blog | Twitter

De nu va zice omul intru inima sa "Eu singur si Dumnezeu suntem in lume" nu va avea odihna. - Avva Alonie
31-10-2008, 00:03 
Pages: [1]
Print
SkullBox Forum  |  Development  |  Web Development (Moderator: AdyX)  |  Topic: [Tutorial] Pagina de eroare personalizata pentru phpLD v2.2.0
Jump to: