Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Construirea platformei de afisare a datelor

sql



+ Font mai mare | - Font mai mic



Construirea platformei de afisare a datelor

Platforma de afisare a datelor este de fapt sistemul de fisiere care ne permit sa afisam paginile web dinamice.

In acest scop folosim sabloane citite din baza de date, care vor fi procesate si combinate cu informtiile din tabela de articole. La final se va adauga meniul, construit din datele existente in tabela de categorii. Bineinteles, toate informatiile vor fi afisate exact in limba dorita de catre vizitator (daca aceasta este disponibila) sau in limba setata drept implicita (daca limba optionala nu este disponibila).



Desigur, nu putem prevede toate dorintele clientilor, dar putem incerca sa folosim functii usor de modificat, astfel incat sa putem customiza imediat anumite zone din aplicatie. Modulul cel mai des supus la fanteziile unor clienti cu imaginatie, va fi probabil meniul.

Generarea paginilor web

Pentru o cat mai usoara manipulare a codului, toate paginile dinamice ale site-ului care contin informatii de acelasi tip, vor fi generate folosind acelasi fisier.Astfel ne asiguram ca in cazul aparitiei unor erori, acestea vor putea fi repararate imediat.

Iata codul sursa necesar afisarii unei pagini:

<?php

include('config.php');

session_start();

//daca nu s-a specificat nici o intrare, o incarc pe prima

if(!isset($_REQUEST['entry']))

header('location:index.php?entry=1');

else

$entry_id=$_REQUEST['entry'];

//selectarea limbii curente

include('lib/language.php');

//citesc intrarea curenta (template si articol)

$sql='SELECT * FROM '._DB_PREFIX.'entries_multilanguage

WHERE `entry_id`=''.$entry_id.''

AND `language_id`=''.$lang_id.'';' ; 

$resursa=mysql_query($sql);

while ($rand=mysqli_fetch_array($resursa))

//citesc template-ul

include('lib/template.php');

$template_content=citeste_template($template_id);

//asamblez pagina (inlocuiesc in template zonele editabile)

$pagina_continut=inlocuieste_template($template_content, _TITLU,

$entry_content);

//afisez pagina

echo $pagina_continut;

?>

Codul de mai sus are o structura foarte simpla:

daca nu s-a specificat un articol, sistemul va redirecta automat catre articolul cu id-ul 1. Id-ul este citit din variabila de adresa $_REQUEST['entry']

este setata limba curenta (care este pastrata intr-o sesiune);

se citesc din baza de date toate informatiile necesare (titlul, continutul si sablonul articolului curent);

se citeste sablonul curent din baza de date;

articolul si meniul sunt introduse in sablonul curent, generandu-se pagina;

este afisata pagina.

Pentru ca pagina sa fie afisata corect, apelam cateva seturi de functii, care vor fi descrise in continuare.

Functiile de setare a limbii

Pentru a putea manipula mai usor continutul multilingv, am construit fisierul language.php aflat in directorul /lib. Fisierul contine urmatorul cod sursa:

if(isset($_SESSION['lang_abr']))

$lang_abreviation=$_SESSION['lang_abr'];

else

//citesc datele despre limba din baza de date

mysql_connect(_DB_HOST,_DB_USERNAME,_DB_PASSWORD);

mysql_select_db(_DB_BAZA_DATE);

$sql='SELECT * FROM '._DB_PREFIX.'languages

WHERE `abreviation`=''.$lang_abreviation.''' ;

$resursa=mysql_query($sql);

while ($rand=mysqli_fetch_array($resursa))

In acest fisier, se face verificarea datelor din sesiune, despre limba curenta. Daca nu exista nici o informatie legata de limba curenta, aceasta este setata dupa valoarea implicita din fisierul de configurare. Se citesc apoi informatii din baza de date precum id-ul limbii.

Construirea meniurilor

Construirea meniurilor este facuta folosind functii din fisierul menu.php, aflat in directorul /lib:

function construire_menu($limba)

$meniu.='</ul>';

}

$meniu.='</li>';

}

$meniu.='</ul>';

return $meniu; 

Functia primeste numai limba curenta, dupa care selecteza numele categoriilor, precum si url-ul acestora. Rezultatul este returnat sub forma unei variabile de tip sir de caractere.

Meniul este construit folosind liste HTML, care vor fi formatate folosind stiluri cascadate (CSS).

Generarea paginilor folosind sabloanele

Generarea paginilor este facuta folosind functii din fisierul template.php, aflat in directorul /lib:

function inlocuieste_template($template_content, $titlu, $entry_content, $menu)

Dupa cum observam, in numai cateva randuri continutul este inlocuit cuvintelor cheie din template.

Consideratii finale

In finalul descrierii aplicatiei, trebuie precizate avantajele folosirii unui astfel de CMS in productia paginilor web:

spatiu de stocare mic (intreaga aplicatie are mai putin de 5000 de linii de cod si ocupa in varianta initiala - fara baza de date- sub 300 Kb)

rapiditate de executie (aplicatia genereaza o pagina intr-un sfert din timpul de generare al celui mai popular CMS - PHP Nuke )

usurinta adaptarii altor module (un coleg deja a reusit sa scrie un modul multilanguage de afisare a produselor pentru un magazin online, fara foarte mult ajutor din partea mea)

usurinta folosirii pentru clienti (pentru a-i testa functionalitatea am folosit acest CMS pentru construirea paginii web a unor prieteni, care si-au deschis recent o afacere in Resurse Umane. In prezent isi administreaza singuri siteul.);

scaderea costurilor cu licentele (deorece tehnologiile in care a fost dezvoltata sunt distribuite gratuit, rularea aplicatiei nu necesita costuri pentru licentele unor pachete software).



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2034
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved