mickys Posted July 5, 2011 Report Share Posted July 5, 2011 (edited) Laba diena! Veidoju savu pirmo lapu uz CodeIgniter un saskāros ar problēmu. Izveidoju routi $route['(:any)'] = "site/$1"; lai URL izskatītos kā http://...lv/kategorija/raksta_id'>http://...lv/kategorija/raksta_id labots:bet url var būt arī http://...lv/kategorija , bez raksta id bet problēma radās, kad gribēju izveidot admin paneli. Kā par nelaimi, arī tas routējas uz šo pašu kontrolieri. Kā būtu pareizāk veidot to admin paneli, lai URL tam būtu apmēram http://...lv/admin/raksti Pašlaik risinājums ir site.php public function _remap($k,$d){ if($k=='admin') $this->admin($k,$d); else $this->raksts($k,$d); } [..] public function admin($k,$d){ include "admin.php"; $admin = new Admin(); $admin->index($k,$d); } bet tas pavisam noteikti nav labākais risinājums. Iesakiet pareizo variantu, lai iemācos uzreiz pareizi :) Edited July 5, 2011 by mickys Quote Link to comment Share on other sites More sharing options...
Kaklz Posted July 5, 2011 Report Share Posted July 5, 2011 CodeIgniter neko nekad neesmu programmējis, bet: $route['admin/(:any)'] = 'admin/$1'; $route['(:any)'] = 'site/$1'; vai kaut kas uz to pusi neiet cauri? Quote Link to comment Share on other sites More sharing options...
mickys Posted July 5, 2011 Author Report Share Posted July 5, 2011 (edited) naa, šitais cauri neiet izmēģināts vairākkārt Tikko radās spoža ideja, jāuzraksta regulārā izteiksme, ka viss izņemot admin $route['^(?!admin)(.*)$'] = "site/$1"; $route['admin/(:any)']= "admin/$1"; Edited July 5, 2011 by mickys Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted July 5, 2011 Report Share Posted July 5, 2011 es tikai minēšu public function _remap(){ if($this->uri->segments(1) == 'admin'){ .. Admin }else{ .. Client } } Quote Link to comment Share on other sites More sharing options...
Kverkagambo Posted July 5, 2011 Report Share Posted July 5, 2011 Es liktu admin kā atsevišķu kontrolieru un konstruktorā pārbaudītu, vai cilvēks ir iegājis, vai ne. Quote Link to comment Share on other sites More sharing options...
briedis Posted July 5, 2011 Report Share Posted July 5, 2011 Es liktu admin kā atsevišķu kontrolieru un konstruktorā pārbaudītu, vai cilvēks ir iegājis, vai ne. Neticu, ka var normāli sabāzt visu admin paneli vienā kontrolierī. Es darītu tā - tāpat ar regulāro vai kādu citu izteiksmi noteiktu, ka tiek izsaukta kāda admin sadaļa. Tālāk, izveidotu abstrakto admin kontrolieri, kuram konstruktorā(before() metodē, vai kā CI to sauc) ieliktu nepieciešamās pārbaudes, vai lietotājs ir tiesīgs šo kontrolieri izsaukt (atbilstošu metodi). Un tālāk visiem admin paneļa kontrolieriem vienkārši liktu mantot šo abstrakto admin kontrolieri. Quote Link to comment Share on other sites More sharing options...
mickys Posted July 5, 2011 Author Report Share Posted July 5, 2011 Sāku mācīties kko no OOP un MVC filozofijas, tāpēc jautājums - Kas ir abstrakts kontrolieris? Quote Link to comment Share on other sites More sharing options...
Kverkagambo Posted July 5, 2011 Report Share Posted July 5, 2011 Neticu, ka var normāli sabāzt visu admin paneli vienā kontrolierī. Kāpēc lai nevarētu? Pie tam, tur ir iespēja visus aprēķinus ielikt modeļos. Kontrolieris būtu pilns ar šādām funkcijām: function edititem() { $this->loadmod('item'); $this->model->edititem(); } Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 5, 2011 Report Share Posted July 5, 2011 Sāku mācīties kko no OOP un MVC filozofijas, tāpēc jautājums - Kas ir abstrakts kontrolieris? Klase, ko nevar izsaukt tieši... bet no tās var "extend'oties" un panākt vēlamo efektu. Piemēram, "Controller_Template" vai "Controller_Authentication". Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 5, 2011 Report Share Posted July 5, 2011 Kāpēc lai nevarētu? Pie tam, tur ir iespēja visus aprēķinus ielikt modeļos. Kontrolieris būtu pilns ar šādām funkcijām: function edititem() { $this->loadmod('item'); $this->model->edititem(); } Jāskatās cik sarežģīta ir visa sistēma. Tādu kontroles paneli, kāds ir WordPress'am - visas iespējams - Es neliktu vienā kontrolerī. Labāk pieturēties pie hiarhiskas sakārtotības... - Controller_CP -- Controller_CP_Users ...kā tā. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.