Acest website are nevoie să folosească cookies, care sunt niște fișiere text de mici dimensiuni ce conțin referințe specifice, dar nu explicite, stocate pe computerul voastru, astfel încât, de exemplu, atunci când lăsați un comentariu, datele din formular să se salveze, dar nu numai.
Fără acces la cookies, aceste date nu se vor salva.
Pentru a afla mai multe despre cum folosim informațiile și despre dreptul vostru asupra datelor voastre, vă rugăm să consultați pagina Politica de Confidențialitate.
Puteți modifica accesul la aceste cookies accesând taburile din stânga.
Foarte util 😉 Succes!
=D Mult succes și ție!
Duuuuuude, știam eu că tre\’ să las articolul ăsta pentru o oră la care să am timp să îl rumeg 😀 Hai să o luăm în ordine:
1. Ce sens are să te complici să editezi direct template-ul și să îl nenorocești cu tone de cod HTML static dacă ai activat cache-ul? (să nu mai zic că mor când văd că îl editezi direct în Joomla, fără să-l bagi într-un editor) Vrei să-mi spui că te deranjează reactualizarea cache-ului o dată pe oră? Hai să fim serioși… Execută [b]o singură dată[/b] toate query-urile necesare încărcării unei pagini atunci când își reactualizează cache-ul. Așa ceva suportă și un server improvizat pe un 486… Oricum văd că moare în flăcări site-ul dacă pică MySQL-ul, deci fiecare accesare a site-ului execută cel puțin un query (se poate vedea rapid ce anume cu un profiler) și deci nu poți să te lauzi că îți merge site-ul și fără să aibă acces la baza de date. Ok, am să recunosc că nu știu sigur cum funcționează cache-ul din Joomla și da, ar fi ideal să poată fi activat atât pe pagini cât și pe module (eventual la blogroll să îi dau lifetime o lună de exemplu), dar mi se pare complet satisfăcător și doar pe pagini (o pagină fiind compusă și din output-ul modulelor aferente). Astfel, editarea directă a template-ului nu doar că mi se pare inutilă și greu de întreținut, dar pierzi și o funcționalitate cheie a unui CMS: modificarea elementelor direct din GUI, fără a edita cod. Eu unul nu recomand nimănui o asemenea abordare drastică și greoaie;
2. Pe la minutul 6:45 ne spui că ai comentat niște cod, dar, din ce se vede acolo, ai comentat folosind tagurile HTML [code]<!– your code here –>[/code], lăsând PHP-ul să-și facă în continuare treaba, trimițând HTML-ul pe care îl generează browserului. Cu alte cuvinte, dacă vrei să comentezi ceva în template, îți recomand să folosești aceste taguri: [code]<?php /* ?>your code here<?php */ ?>[/code] 😉
Scuze că mă iau așa de tare de tine, da\’ nu vreau să induci cititorii în eroare 🙂
PS: Pune și tu access level \”Public\” în loc de \”Registered\” la modulul care afișează emoticon-urile astea vechi pe care le folosesc eu 😛 (da, protestez și refuz să le folosesc pe cele noi pentru că nu-mi plac :P)
=D Să le luăm pe rând:
1. Tocmai, nu execută o dată toate query-urile, decât pentru fiecare pagină în parte, la prima vizitare. O pagină de-a mea goală, doar cod HTML, are peste 20 de KB. Dacă n-aș folosi optimizarea direct din template mi-ar omorî serverul de SQL. =)
1.a. Păi fără SQL nu știe ce-i cu sesiunea. Fără ea nu se poate. Logic de ce. De fapt, sunt mai multe query-uri care se execută:
* Query-ul URL-ului (am URL-uri lizibile) care este procesat intern și este returnat din baza de date (ca să știe la ce articol este vizitatorul).
* Query-ul sesiunii (site-ul folosește cookie-uri + baza de date)
* Query-ul de statistici interne.
* Query-ul de securitate (nu comentez despre el).
* Query-ul de cache (strict legat de primul). Primul returnează numărul articolului, acesta returnează conținutul în sine.
2. Da, am folosit comentariile de HTML pentru că mă aflam în secțiunea de HTML din template. La nivel de execuție, lui Apache îi ia mai puțin să trimită spre client cod HTML decât să-l trimită spre interpretorul de PHP pentru parsare/ procesare/ interpretare. =)
3. Nu e niciun modul, e un hack ce folosești tu. Formularul de comentarii nu recunoaște emoticoanele tale, dar un plugin pentru conținut (articole) le recunoaște și le interpretează. =D Deci m-ai hackerit, cum ar veni. =D
1. Păi no, de aia ziceam că ideal ar fi să poți seta perioada de reactualizare a cache-ului pentru fiecare plugin în parte, ca să nu îl reîmprospăteze pe tot pentru o pagină anume. Mersi că mi-ai clarificat care sunt query-urile executate de Joomla pentru afișarea unei pagini. Chiar eram curios 🙂 Totuși, mă cam surprinde că \”îți omoară serverul de SQL reîmprospătarea cache-ului pentru o pagină\” deoarece vorbim de câteva query-uri secvențiale. Cu alte cuvinte, ce \”omoară\” un server de SQL este efectuarea unor queryuri simultan pe mai multe threaduri, comportament pe care îl obții când îți accesează mai mulți utilizatori simultan site-ul, dar no, asta ai rezolvat-o activând cache-ul. Eu de fapt cred că respectivul MySQL moare din alte motive (vezi chestia aia cu mutarea folderului \”tmp\” în altă parte pe care ți-o trimisesem 😉 )
2. Uită-te mai atent prin temă și o să vezi destul cod PHP, deci, oricum va fi parsat de interpretor. Ce ai comentat tu acolo cu tag-uri HTML este fix o secțiune de cod PHP care, dacă nu va avea nici un efect asupra browserului clientului, nu mai are rost să se execute, nu? 🙂 Plus că ideea e să trimiți cât mai puțin HTML clientului pentru a reduce traficul și pentru a nu fi înjurat de cei care au o conexiune proastă 😉 Sincer să fiu, cred că argumentul ăsta[quote]La nivel de execuție, lui Apache îi ia mai puțin să trimită spre client cod HTML decât să-l trimită spre interpretorul de PHP pentru parsare/ procesare/ interpretare.[/quote]stă în picioare doar în cazul în care fișierul în cauză nu conține nici un tag PHP în el, dar no, nu bag mâna-n foc 😛 Plus că, dacă nu mă înșeală memoria, Joomla captează output-ul fișierelor template cu ob_start(), apoi aplică niște str_replace() pe el și abia apoi îl trimite la client pentru că trebuie să insereze în locul [url=http://docs.joomla.org/Jdoc_statements]tag-urilor de Joomla[/url] conținutul corespunzător.
3. Păi tocmai, am io așa o bănuială că acel \”plugin pentru conținut\” la care te referi e setat cu access level registered, dar no, e doar o presupunere 😛
PS: Tu cum spanac faci ca să lași un spațiu între alineate la commenturi? Mie nu-mi mai merge de când ai făcut upgrade… 🙁