Názory ke článku CakePHP - vlastní CRUD nad tabulkou II.
31. 7. 2007
$page = this->Page->find( array("id" => $id) );
Chybý ti dolar před this
díky, zajímavé, kod kopiruju ze souboru, kde si to radsi otestuju :) opraveno
problem bych spis videl v korekture, ktera mi ty zdrojaky uz jednou uplne zneviditelnila. srr Frosty
5. 8. 2007
nooo chcem sa pustit ... do tohto frameworku .. ale niesom moc jasny z toho aky by som mal co sa tyka stuktury suborov a celej aplikacie .. rozvrhnut .. portal na administracnu cast a verejnu ... niekto niaku radu .. odskusane riesenie alt .. linky na niaky help .. tnks moc ..
k administraci se dostaneme pozdeji, tak prosim vyckejte, jsou dve moznosti reseni:
1) pokud je administrace rozsahla a opravdu "adminstrace", tak je dobre ji napsat jako zlvastni projekt
2) pokud jde jen o zabezpecene "solichani", lze to udelat, ->
- v config.php odkomentovat konstantu CAKE_ADMIN
- obsah konstanty bude cast URL -> tedy pokud se rovna 'muj_admin'
tak url muj_admin/controller/action
budou smerovat do zadaneho controller, ale jmeno action - funkce bude mit prefix (vzdy) admin_
ale radsi si pokejte na tuto latku, co zplanuji nekdy v zacatku zari
8. 8. 2007
Zdravim. Prave som zacal pracovat s cake a chcem sa opytat na jednu vec. Mam model order, ktory pridava a vybera vsetky objednavky a k tomu controller. Dalej mam model states, ktore uklada, pridava mozne stavy objednavok a ktomu taktiez controller. Teraz chcem pridat novu objednavku a to tak, ze potrebujem v controllery orders ziskat vsetky stavy prostrednictvom modelu states... Poradte mi, ako to mam docielit? Dakujem
vice dostupnych modelu v jednom controlleru lze docilit nastavenim promenne uses v controlleru, to co napisete bude dostupne, nepridavate tak tedy ke stavajicmu modelu dalsi, ale redefinujete dostupny model/modely:
var $uses = array('Order', 'Status');
10. 8. 2007
Dakujem za predchadzajucu odpoved. Este mam jednu otazku. Ako by si vyriesil nasledovnu vec. Mam napr. controller articles a ja chcem docielit, aby som mohol napr. taketo adresy "/articles/2007/2/4/skusobny-clanok" alebo /articles/2008/1/1/druhy-clanok. Proste aby bolo za tym articles lubovolne co chcem a vzdy mi to volalo napr. akciu findAriticle. ale zaroven chcem, ked budem mat akciu /articles/add aby mi vyvolalo funkciu add v controllery articles. A este sa chcem opytat, ako by sa dal dynamicky volit controller. Napr. si v databaze definujes kategorie, a potom by som chcel ku nim pristupovat takto "www.test.sk/kategoria1, www.test.sk/kategoria2" To znamena, ze dopredu neviem, ake kategorie tam budu. Dakujem za odpoved
17. 8. 2007
Durazne protestuji proti bodu 1 :)
Kouzlo MVC spociva mimo jine v tom, ze kazda funkcionalita ma v hierarchii aplikace sve pevne misto. Spornych veci je jen par, a samozrejme kazdy MVC framework ma 'to sve MVC pojeti' trochu priohnute, ale pokud mate implementovan controller s jeho vychozim modelem, nemel byste tu funkcnost v kodu aplikace tristit do vice mist. Jeden duvod za vsechny: test cases :)
Admin routes je perfektni reseni, umoznujici mit kod na jednom miste - a mimochodem: budete-li mit nekdo zajem podivat se na mimoradne nazorny obrazek _proc_, zastavte se nekdy na IRC a odeslete prikaz ~goodcake
CakeBot vam uz vysvetli, kam patri implementace vetsiny funkcnosti aplikace :)
Autorovi blahopreji k serii dobrych clanku - pochybuji ze se na webu najde jiny, stejne kvalitne rozvrzeny serial o CakePHP v cestine. Jen tak dal! :)
17. 8. 2007
Predpokladam, ze mezi zminenymi modely mate definovanou nejakou asociaci. V tom pripade muzete pouzit kod (OrdersController):
$this->Order->State->findAll();
17. 8. 2007
Vse co potrebujete, je mozne resit pomoci 'routes'. Vystizny popis je napriklad v pripravovanem manualu pro CakePHP 1.2:
https://cakeforge.org/plugins/scmsvn/viewcvs.php/sandbox/1.2/1point2.pdf?rev=155&root=cakedocs&view=log
Vyborny zdroj informaci je http://groups.google.com/group/cake-php/ ale uplne nejlepsi (protoze kompletni) zdroj informaci jsou test cases:
https://trac.cakephp.org/browser/branches/1.2.x.x/cake/tests/cases/libs/router.test.php
21. 8. 2007
Ako sa da urobit, aby som mal vlozil subor add.thtml do suboru comment.thtml? Dakujem
To Jitka aka poLK: Ano, taky možnost. Ja osobně ale moc rad s asociasi nepracuji, protoze tam jeste par veci chybi dodelat, a v mysql a jinych db strojich ji nahradi Views
10. 9. 2007
To neni 'taky moznost' - to je preferovany zpusob, pokud potrebujete pristup k asociovanemu modelu a z nejakeho duvodu (napriklad - ze to vubec neni potreba) nechcete definovat vsechny pouzite modely v SomeController::$uses.
Mohl by jste prosim upresnit co znamena 'par veci chybi dodelat'? Pokud mozno nikoli zde, ale zde (po registraci): trac.cakephp.org/newticket
Pokud totiz pouzivate asociace/recursive/[un]bindModel() atd, naproste vetsine pripadu se obejdete bez pouziti custom queries/db views - nemyslim si, ze je dobre zatezovat zacatecniky z rad ctenaru Vaseho serialu Vasimi navyky, ktere nemaji nic spolecneho s doporucenymi postupy.
10. 9. 2007
to "dodělat" sem myslel rekurzi pres asociasi - ted presne nevim jakou.
ona prave uz "tickets" je, ale jeste jaksi nedopsana-nenaprogramovana.! :)
sam sem to tam nasel, kdyz sem hledal duvod proc mi to "nevyhledava" i jinde
ano, me osobni navyky at jdou nekam :)
22. 9. 2007
Zaujimave informacie o cakePHP mozete najst v mojom blogu, na ktorom obsahu zacinam usilovne pracovat.
http://ims.rockretail.com
25. 10. 2007
Nebylo by zde elegantnejsi pouzit misto fnc find() fnc read()?
model->read($fields = array() , $id )
pro dany priklad
$page = $this->Page->read(null, $id);
To ZbySTr: zde je jina syntaxe a neni dobre pro zacatecniky zavadet x typu syntace, nazvu funkci apod.
4. 7. 2008
Jak by se soubory controlleru, modelu a view jmenovaly a jak by vypadaly, pokud bych chtěl ukládat do více tabulek najednou.
Příklad:
Formulář skladové příjemky s skládá z jedné hlavičky a n položek (jejich počet předem neznám)
Samozřejmě se celá příjemka musí uložit v jediné transakci (nepoužívám MySQL ale Oracle) například do tabulek doklad_hlavicka (do té uložím data z hlavičky dokladu) a doklad_radek (do té uložím n záznamů s daty jednotlivých řádků dokladu).
Můžete mi někdo naznačit, jak by tato struktura v cakePHP vypadala?
Reagoval na komentář od uživatele LJ :
ahoj, zkus se zařídit těmito obecnými pokyny, případně mě osobně kontaktuj...
- každá tabulka má vlastní model
-> model Hlavicka, model Radek
- modelu Hlavicka nastav $hasMany
- modelu Radek nastav $belongsTo
- konkrétně se podívej do manuálu http://book.cakephp.org/view/78/associations
a přímo na ukládání sem http://book.cakephp.org/view/84/saving-related-model-data-haso
Ahoj Honzo,
předem především děkuji za kurz, dává hodně.
Mám problém s českými znaky v odkazech, tedy kódem:
$html->link('žluťoučký kůň pěl úžasné ódy', 'someAction')
negeneruje tělo odkazu vůbec (ani špatně), ale v případě bez českých znaků se generuje správně.
Tušíš kde je problém?
Reagoval na komentář od uživatele kvasnj3 :
Ahoj, máš nejnovější verzi? Já osobně s cakem už dlouho dobu nemám nic společného ;) takže nemůžu teď rychle potvrdit, ale zkusil bych určitě nejnovější verzi.
23. 12. 2009
Reagoval na komentář od uživatele kvasnj3 :
Taky mám problém s češtinou. Mám poslední stabilní verzi, takže verzí to nebude. Chybu sleduji v jiném helperu a to $form helperu:
echo $form->input('prijmeni');
Nevypise při editaci nic do textového pole, pokud je přijmení s českými znaky.
Problém bude nejspíš někde v internacionalizaci. Kódování stránky, spojení na DB, DB tabulky, DB sloupce a vlastních generátorů stránek.