Navigare Pagină în componentă! Joomla 1

Iată un exemplu de la unul din componentele mele Cod: // conectați clasa și setați datele implicite
jimport ('joomla.html.paginare');
$ limit = $ ad_toplist;






$ limitstart = JRequest :: getVar ('limitstart', 0, 'int');
$ page_nav_links = '';
// primiți numărul
$ query = "SELECT count (*) AS count de FROM #__joopic WHERE publicat = 1 AND approved = 1";
$ db-> setQuery ($ interogare);
$ row = $ db-> LoadObject ();
$ total = $ row-> count;
$ pageNav = JPaginare nouă ($ total, $ limitstart, $ limit);
$ page_nav_links = $ pageNav-> getPagesLinks ();
// cererea în sine în baza de date, luând în considerare datele de paginare
$ query = 'SELECT a. *, c. *, a.id ca ajutor,
CASE LA CHAR_LENGTH (a.imgalias) ATUNCI CONCAT_WS (\ ': \', a.id, a.imgalias) END ELSE a.id ca slug,
CASE LA CHAR_LENGTH (c.catailas) ATUNCI CONCAT_WS (\ ': \', c.cid, c.catailas) END ELSE c.cid ca catslug
Din #__joopic AS a
LEFT JOIN #__joopic_catg AS c pe c.cid = a.catid
WHERE a.published = 1 ȘI a.published = 1 ȘI a.approved = 1 AND c.published = 1
COMANDA de limita a.id desc '. $ Limitstart.', '. $ Limit.' ';
$ db-> setQuery ($ interogare);
// prelucrarea ulterioară și ieșirea într-un ciclu, în acest caz nu este reală

Dar am fost în acest loc: „// apoi în procesul de prelucrare și de ieșire într-o buclă, în acest caz, nu este adevărat“, o foarte importantă)) Asta e tot ce fac așa cum trebuie în acest exemplu, dar nu funcționează și toate! Acesta a fost după această linie penultima: "$ DB> setQuery ($ query);" Cum se trimite o cerere? Am deja și $ rL = $ db-> loadResult (); și $ rL = $ db-> LoadObject (); și $ rL = $ db-> loadObjectList (); și $ rL = $ db-> loadAssocList (); toți au încercat! și încă mai produce o eroare: „Atenție: Invalid argument furnizate pentru foreach ()“ Ei bine, asta e ceea ce fac greșit. De ce este matricea goală?







După ce înregistrarea nu este una, atunci trebuie să utilizați ceva de genul $ rows = $ db-> loadObjectList (). În mod corect înțeleg, ce este un șir de cadre la voi gol? Dacă da, atunci eroarea se află în interogarea SQL în sine. Uită-te la articolul original, acolo mai în detaliu (deși în engleză).

Iată codul meu: (doar este deja scris în Jumlapedia): ////////// Începeți ///// $ db = JFactory :: getDBO (); $ Lim = $ mainframe-> getUserStateFromRequest ( "$ option.li mit", 'limită', 14, 'int'); // Aceasta este variabila $ option.limit. în orice caz, chiar dacă am pus, de exemplu 4, acesta este în continuare aceeași eroare $ lim0 = JRequest :: getVar ( 'limitstart', 0, '', 'int'); $ DB> setQuery ( "SELECT p.product_sku DIN #___product AS p INTERIOARĂ TE #___ product_type_1 CA pt ON p.product_id = pt.product_id UNDE p.product_publish = COMANDA 'Y' BY ASC p.product_name", $ lim0, $ lim); $ RL = $ DB> loadObjectList (); $ D b-> setQuery ( "SELECT COUNT (*) FROM #___product AS p INTERIOARĂ TE #___ product_type_1 CA pt ON p.product_id = pt.product_id WHERE p.product_publish = 'Y'"); jimport ( 'joomla.html.pagination'); $ PageNav = JPagination nou ($ DB> loadResult (), $ lim0, $ lim); foreach ($ rL ca $ r) product_sku;> echo $ pageNav-> getPagesLinks (); //////////// End /////////// toate cererile de lucru, indică în mod constant că este necesar, înainte de introducerea de paginare :) Și totuși, în cazul în care codul de eliberare (I doar în mod constant modificările aduse ca Google, nu le urmați), apoi afișate numai getLimitBox () în loc getListFooter (), cred că este foarte ciudat. Și nicăieri LimitBox nimic pentru a trimite, deoarece forma de nimic nu se întoarce atunci când producția finală. Apropo, da, trebuie să înfășeri întregul cod sau trebuie să-l faci singur? Îți cer ajutor, un om bun! Și da, vă mulțumesc pentru un sfat atât de rapid!

Îți cer iertare, repede căutând destul de corect, este necesar să înțelegi în detaliu. Din păcate, în momentul de față nu am o astfel de oportunitate.







Articole similare

Trimiteți-le prietenilor: