Netbeans Nette Framework Plugin
- Ondřej Brejla
- Člen | 746
vrtak-cz napsal(a):
Btw nechcete kvůli té závislosti napsat přímo netbeansákům? Petr Pišl vypadal minimálně na WebExpu hodně ochotně.
Ono to bude už tak týden, diskutujeme a hledáme řešení ;-)
Tím fixem jsem myslel jeden dnešní plánovaný, který mimochodem již proběhl.
redhead napsal(a):
…
Snad možná do „Rozšíření a nástroje“, ale to se mi moc nezdá. Spíš nějaká extra sekce ;-)
- crempa
- Člen | 198
Tak jsem si vytvoril vlastni build a mam hned nekolik dotazu.. :)
- je mozne pouzit plugin na stavajici klasicke PHP projekty, nebo je nutne vytvorit nove projekty (z existujiciho zdrojaku) kde se nastavi jako framework prave nette?
- je mozne nejak zmenit v NB barvy ve zvyraznovani latte filtru? nasel jsem na to rozhrani ale nezda se ze funguje… pripadne kde ve zdrojaku je mozne si ty barvy editovat? udelal bych si vlastni build… pouzivam sede pozadi takze aktualni stav neni idealni.. :)
- je nutne dodrzovat defaultni nazvy slozek app, document_root apod. a pokud ano je mozne toto nekde zmenit? (opet predpokladam ze pouze ve zdrojaku ⇒ idealni by byla moznost toto nastavit primo nekde v GUI NB)
Dekuji
- redhead
- Člen | 1313
crempa napsal(a):
- je mozne pouzit plugin na stavajici klasicke PHP projekty, nebo je nutne vytvorit nove projekty (z existujiciho zdrojaku) kde se nastavi jako framework prave nette?
Já myslím, že možná nebude problém se stávajícími projekty vůbec. Pokud ti fungují latte šablony (což by měli i na ne-nette projektu v souborech phtml) nebo zkus alt + insert, jestli se v seznamu objeví generátor komponent. Když ne, zkus to přes ty nové projekty. Ale nezkoumal sem to..
- je mozne nejak zmenit v NB barvy ve zvyraznovani latte filtru? nasel jsem na to rozhrani ale nezda se ze funguje… pripadne kde ve zdrojaku je mozne si ty barvy editovat? udelal bych si vlastni build… pouzivam sede pozadi takze aktualni stav neni idealni.. :)
Mělo by to fungovat přes nastavení v NB, ale nefunguje. Nevím proč a snad to někdy dokážu spravit.
Nicméně, v package .nette.resources hledej soubor FontAndColors.xml (tam si to můžeš změnit)
- je nutne dodrzovat defaultni nazvy slozek app, document_root apod. a pokud ano je mozne toto nekde zmenit? (opet predpokladam ze pouze ve zdrojaku ⇒ idealni by byla moznost toto nastavit primo nekde v GUI NB)
Toto bude otázkou do budoucna. Rozhodně to budeme chtít nějak řešit, ale rozhodně není nutné dodržovat tu strukturu, co se vytvoří při novém projektu. Jediné, co můžeš ztratit je napovídání proměnných v šablonách z presenterů (což mám pocit stejně přestalo fungovat s úpravou na virtuální kód).
- crempa
- Člen | 198
Dekuju za promtni odpoved :)
Já myslím, že možná nebude problém se stávajícími projekty vůbec. Pokud ti fungují latte šablony (což by měli i na ne-nette projektu v souborech phtml) nebo zkus alt + insert, jestli se v seznamu objeví generátor komponent. Když ne, zkus to přes ty nové projekty. Ale nezkoumal sem to..
Zda se ze je to tak, latte funguje, generator komponent funguje.. vse na stavajicim projektu
hledej soubor FontAndColors.xml
Perfektni, uz jsem to nasel
Jediné, co můžeš ztratit je napovídání proměnných v šablonách z presenterů
Prave proto jsem se ptal, to je jedine co me asi nejde z uvedeneho seznamu na zacatku diskuse, pokud ale rikas ze to i tak nefunguje nebudu to zatim resit
Diky za perfektni praci !
- Ondřej Brejla
- Člen | 746
Už to mám v Todo…počítám s tím. Teď mám něco rozděláno a definice vlastní adresářové struktury by měla být jako další bod. Jen nevím, jestli to bude umět dynamicky generovat názvy složek podle projektu, nejspíš ne. Uvidíme.
- Aurielle
- Člen | 1281
Aby bylo jasno v čem je problém (NB 6.9.1 stahované dneska,
nejnovější buildnutá verze NF pluginu):
Starší build funguje bez problémů. (Btw novější build má 1.3.2 verzi a starší 1.4.2 :D)
Bugreport starší verze: Nedovolil mi do odkazu napsat { když jsem chtěl
napsat makro… <a href="
v ten moment nejen že to nešlo
napsat, ale celému dokumentu vypadlo obarvování a byl černý…
Editoval gmvasek (24. 8. 2010 14:33)
- Patrik Votoček
- Člen | 2221
Pokud se bude dělat napovídání proměných a komponent v šablonách tak je to pro mě z důvodu hodně upraveného presenter loaderu nepoužitelé plánujete řešit i tohle? (je mě jasné že to nebude hračka)
- redhead
- Člen | 1313
vrtak-cz napsal(a):
Pokud se bude dělat napovídání proměných a komponent v šablonách tak je to pro mě z důvodu hodně upraveného presenter loaderu nepoužitelé plánujete řešit i tohle? (je mě jasné že to nebude hračka)
Napadlo mě řešení v podobě nastavení univerzální relativní cesty k souboru presenteru.
V normální adr. struktuře:
../../presenters/ (pro templates/Presenter/view.phtml)
../presenters/ (pro templates/Presenter.view.phtml)
Ještě by tam někde mohl být nějaký prvek určující jméno presenteru (třeba ..{presenter}/../presenters). Ale dozajista to také nepokryje všechny možné kombinace adresářů..
Druhé co mě napadlo, že by se na začátek šablony přidal komentář s nějakou „anotací“ určující cestu k presenteru.
{* @presenter ../../presenters/MyPresenter.php *}
Ale to je takové nepraktické..
Nebo má někdo lepší nápad? ;)
- Patrik Votoček
- Člen | 2221
Nevím jsestli vy potřebujete pracovat i s cestou k presenteru. (ja to neřeším – zlatý robotloader). Ale tím upraveným PresenterLoaderem jsem myslel hlavně totálně překopaný Full class name. Se spoustou díky čemuž v aplikaci dosahuji geniální modularity. Abych byl konkrétnější… https://github.com/…s/Loader.php
- Ondřej Brejla
- Člen | 746
jannemec napsal(a):
Jen drobnost – možná by pro nette plugin mohlo v sloupci Category být PHP míst Uncategorized
vím, že je to blbost, ale pro formu …
Jinak autorům děkuji – vypadá fakt dobře a ten poslední build se podařilo nainstalovat i na upgradeovaný NB6.9.1
Snad fixed.
- Aurielle
- Člen | 1281
redhead napsal(a):
@gmvasek (ad bug): můžeš poslat obsah šablony, kdy se to stalo? Tohle může být dost specifické.. (nepodařilo se mi to reprodukovat a nebo to bylo opraveno v novém buildu.).
A pls posílejte to na github (zvláště v editech postů to těžko najdu..)
{block #contenttitle}Hráči právě hrající na tomto serveru{/block}
{block #content}
<div id="sidebar">
{block #menu}{include '@menu.phtml'}{/block}
</div>
<div id="inner-content">
{assign $server Servers::find($serverId)}
{assign $info ServerInfo::findCached($serverId)}
<p>Zobrazuji hráče ze serveru {if $info !== FALSE}<strong>{$info->hostname}</strong> ({$server->ip}:{$server->port}){else}<strong>{$server->ip}:{$server->port}</strong>{/if}:</p>
<table style="width: 100%; margin-top: 1.5em">
<tr>
<th>Stát</th>
<th>Jméno</th>
<th>Steam ID</th>
<th>IP adresa</th>
<th>Čas ve hře</th>
<th>Ping</th>
</tr>
{if $players}
{foreach $players as $data}
<tr>
<td style="text-align: center">{if !empty($data['country'])}<img src="{$basePath}/images/country/{$data['country']|lower}.gif" alt="{$data['country']}" style="vertical-align: middle" />
{else}<img src="{$basePath}/images/country/zz.gif" alt="Neznámo" style="vertical-align: middle" />{/if}</td>
<td>{$data['name']}
<br />
{if $user->hasFlag(ADMIN_ADD_BAN)}<a href="{plink :Viewer:Admin:Servers:kick sid => $serverId, name => $data['name'], reason => 'noreason'}" onclick="return getReason(this);">kick</a> - <a href="{plink :Viewer:Admin:Bans:add sid => $serverId, name => $data['name']}">ban</a>, {/if}<a href="http://steamcommunity.com/profiles/{$data['communityid']}">community</a>
<br />bany:
<a href="{plink :Viewer:Banlist:list search => TRUE, searchText => $data['authid']}">Steam ID</a>, <a href="{plink :Viewer:Banlist:list search => TRUE, searchText => $data['ip']}">IP</a>, <a href="{plink :Viewer:Banlist:list search => TRUE, searchText => $data['name']}">Nick</a>
</td>
<td>{$data['authid']}</td>
<td>{$data['ip']}</td>
<td>{$data['time']}</td>
<td>{$data['ping']}</td>
</tr>
{/foreach}
{else}
<tr>
<td colspan="6" style="text-align: center">momentálně na serveru nikdo nehraje</td>
</tr>
{/if}
</table>
</div>
<script type="text/javascript">
//<![CDATA[
function getReason(el)
{
reason = prompt('Zadejte důvod vykopnutí:');
if(reason == null) return false;
var url = $(el).attr('href').replace('noreason', reason);
window.location = url;
return false;
}
//]]>
</script>
<div class="cleaner"></div>
{/block}
{block #title}Správa serverů{/block}
Toto je ta šablona, barvení vypadne po tom, co napíšu
<a href="
a sem se pokusím napsat složenou závorku.
- redhead
- Člen | 1313
vrtak-cz napsal(a):
Nevím jsestli vy potřebujete pracovat i s cestou k presenteru. (ja to neřeším – zlatý robotloader). Ale tím upraveným PresenterLoaderem jsem myslel hlavně totálně překopaný Full class name. Se spoustou díky čemuž v aplikaci dosahuji geniální modularity. Abych byl konkrétnější… https://github.com/…s/Loader.php
Já potřebuju pracovat z cestou k presenteru pro napovídání proměnných/komponent, resp. musím najít způsob, jak vyhledat podle umístění šablony (příp. názvu) cestu k presenteru. Ale protože nikdy nebudu moct najít dobrý a intuitivní systém pro hledání každého případu adres. struktury, jmen souborů a full-class-name, který se dá v Nette vytvořit, tak je dost možné, že zrovna u tvého případu to nebude dost dobře fungovat..
- redhead
- Člen | 1313
@gmvasek: stále nic, zkoušel jsem to na třech různých místech. Když tak ještě napiš, kde přesně ten link začneš psát (také záleží na kontextu ;) je to složitý..).
Pokud se mi to nepovede i tak, tak nejspíš opraveno (fixoval jsem ještě jiný reportovaný bug, možná s tím měl něco společného)
- Yrwein
- Člen | 45
Menší bug s Latte:
{plink RegOrders: , 'edit', $payment->getRegOrderId()}
//
Tady mě to seřve s „expected instanceof,…“.
{plink RegOrders:, 'edit', $payment->getRegOrderId()}
// Tady
už ne. (Rozdíl je v absenci mezery na místě s očekávanou action.)
Jinak dík za tenhle čuprovej plugin. Někdy budu muset konečně zřídit paypal a poděkovat i jinak. .)
Editoval Yrwein (25. 8. 2010 0:41)
- Patrik Votoček
- Člen | 2221
rozhodně by nebylo lepší použít clone master z GitHubu.. Už jenom
kvuli absenci dat v Nette\Framework
…
- crempa
- Člen | 198
AD napovidani komponent a promennych… proc nevyuzit presne ten postup ktery pouziva nette a jen ho neobratit (nette hleda soubor sablony, ty budes hledat soubor presenteru).
Netusim jake jsou ted moznosti v kombinaci nazvu presenteru a sablon, porad pouzivam klasicke presenters/… a templates/presenterName/… ale furt to musi bejt nejakej jeden promyslenejsi regular ne?
Navic se nabizi i moznost cteni vystupu z robotloaderu (a prelozenych sablon vcetne jejich nazvu), ktery se uklada do tempu ⇒ tim ziskas kompletni prehled nad projektem, stejny jako ma nette.
V neposledni rade je tu pak jeste okno settings projektu (do ktereho netusim zda mas pristup a jak s nim muzes pracovat), kde si kazdy pripadne proste nastavi kde ma presentery, kde ma sablony a pripadne i regular jak zjistovat presenter z nazvu (cesty) sablony a smitec, konfigurace na pet minut muze slouzit mesice na jednom projektu… :)
- Ondřej Brejla
- Člen | 746
mkoubik napsal(a):
Mám tip do budoucna k tomu kopírování nette při zakládání projektu – určitě by se hodilo mít možnost použít trunk z githubu. Sice by to asi bylo o dost složitější, ale uvádim to tady jako takovej malej nápad na zlepšení.
To mi napadlo dnes k ránu v horečnatém spánku, ale pak jsem to zavrhl. Protože to je dost wtf…člověk si udělá clone a má „cosi“ (pokud nekoukne na github, tak ani pořádně neví, co se kde měnilo), navíc když udělám za 5 min nový projekt, tak mohu mít opět jiný clone…což je minimálně velice podivné…
Nehledě na vrtákův postřeh.
- Ondřej Brejla
- Člen | 746
crempa napsal(a):
AD napovidani komponent a promennych… proc nevyuzit presne ten postup ktery pouziva nette a jen ho neobratit (nette hleda soubor sablony, ty budes hledat soubor presenteru).
Přesně tak to má také fungovat…
Netusim jake jsou ted moznosti v kombinaci nazvu presenteru a sablon, porad pouzivam klasicke presenters/… a templates/presenterName/… ale furt to musi bejt nejakej jeden promyslenejsi regular ne?
Po letmém shlédnutí vrtákovy varianty mám dojem, že můžeš mít presentery kdekoliv a mohou se ti jmenovat jakkoliv (podle nějaké pattern).
Navic se nabizi i moznost cteni vystupu z robotloaderu (a prelozenych sablon vcetne jejich nazvu), ktery se uklada do tempu ⇒ tim ziskas kompletni prehled nad projektem, stejny jako ma nette.
To bych buď musel RobotLoader
spouštět sám (to se mi moc
nezdá, navíc Nette nemusí být u projektu vůbec nakopírováno) nebo sahat
do tempu (což je blbost, ne vždy je v tempu aktuální cache
loaderu…zvlášť ze začátku…).
V neposledni rade je tu pak jeste okno settings projektu (do ktereho netusim zda mas pristup a jak s nim muzes pracovat), kde si kazdy pripadne proste nastavi kde ma presentery, kde ma sablony a pripadne i regular jak zjistovat presenter z nazvu (cesty) sablony a smitec, konfigurace na pet minut muze slouzit mesice na jednom projektu… :)
O něčem takovém jsme taky uvažovali…buď určením adresářů s presentery atd., nebo zadání jakési „masky“ (nejspíš ne-regulár, aby to bylo co nejjednodušší), podle které by se hledalo…
Každopádně se snažíme najít co nejlepší způsob, aby byl pokud možno co nejvíc automatický a aby pokud možno fungoval bez nějakých větších zásahů uživatele…
Zatím to tedy vypadá, že hledání bude „vícevrstvé“. Tím mám na mysli, že první hledání se provede podle standardní adresářové struktury, pokud se odpovídající presentery nenajdou, použije se nějaký sofistikovanější způsob (třeba prohledání projektu, s tím, že výsledky se nakešují) a pokud ani to nepůjde, tak se bude hledat podle uživatelských „patternů“.
Resp. ten proces by byl nejspíš opačně – patterny (pokud jsou), standardní struktura, a nějaký brutal force…
Ale zatím se nic takového neimplementuje, hledáme nejlepší řešení.
Editoval Ondřej Brejla (25. 8. 2010 9:25)
- redhead
- Člen | 1313
Yrwein napsal(a):
Menší bug s Latte:
{plink RegOrders: , 'edit', $payment->getRegOrderId()}
// Tady mě to seřve s „expected instanceof,…“.
{plink RegOrders:, 'edit', $payment->getRegOrderId()}
// Tady už ne. (Rozdíl je v absenci mezery na místě s očekávanou action.)Jinak dík za tenhle čuprovej plugin. Někdy budu muset konečně zřídit paypal a poděkovat i jinak. .)
Asi to jako bug klasifikuju, ale obecně tam máš tu mezeru navíc (dokonce i ta čárka tam nemusí být ;) )
- iguana007
- Člen | 970
Rád bych nahlásil bug (snad už to tady nebylo zmíněné).
Když edituji template a umístím kurzor před složenou závorku: { a zmáčknu enter, tak se mi sice odřádkování provede, ale kurzor mi skočí na samotný začátek kódu. Používám NetBeans 6.9.1 a build pluginu ze dne: 23.8.2010 – v dřívějších verzích jsem toto chování nezpozoroval.
- redhead
- Člen | 1313
Nový build na http://goo.gl/uPQZ
vrtak-cz napsal(a):
Hlavně nezapomeňte zvednou číslo verze… Blbě se mě aktualizovalo…
My jsme ji museli upravit na nižší číslo z důvodu ujasnění verzování, nicméně nový build se nepřepíše i když by měl vyšší verzi. Vždycky jsem musel plugin odinstalovat, restartovat a nainstalovat znova :(
- Patrik Votoček
- Člen | 2221
redhead napsal(a):
My jsme ji museli upravit na nižší číslo z důvodu ujasnění verzování, nicméně nový build se nepřepíše i když by měl vyšší verzi. Vždycky jsem musel plugin odinstalovat, restartovat a nainstalovat znova :(
Ano nainstalovat ano… Ale při poslední aktualizaci jsem musel i odebrat ze seznamu aktualizací… Dneska jsem nemusel… :-)
- Ondřej Brejla
- Člen | 746
Jen připomínám, že o novinkách v pluginu a o vývoji obecně se dozvíte na Twitteru: http://twitter.com/NetBeansNette :-) Follow…
- Ondřej Brejla
- Člen | 746
Používáte u většiny Presenterů metodu action/render s názvem default? http://twtpoll.com/bs12yh
- Ondřej Brejla
- Člen | 746
Připravuje se podpora generování šablon pro generované action (render) metody při vytváření nového presenteru. Výroba je v procesu ;-)
- Bernard Williams
- Člen | 207
Ocenil bych větší podporu PostgreSQL.. stejně tak u pluginu na tvorbu formulářů z DB. Ve většině případů mi to píše, že podporovaná je jen MySQL a přitom se v základu tolik neliší.
Bernard
Editoval Bernard Williams (9. 9. 2010 0:15)
- Ondřej Brejla
- Člen | 746
A kde bys ji ocenil? O žádné podpoře DB v pluginu nevím…ani si nedokáži dost dobře představit, jakou podporu máš na mysli. Max generování loginu, passu, atd. do configu…ale to je asi tak všechno…
- Ondřej Brejla
- Člen | 746
Feature: Presenter wizard umožňuje definovat parent Presenter http://twitpic.com/2o542n a generuje action šablony http://twitpic.com/2o54bj – via. @NetBeansNette
- redhead
- Člen | 1313
Updatováno makro cache podle nedávné Davidovi změny v source pro 1.0
Nový build pro NetBeans Build 201007282301 (ten nahoře ;) )
- Ondřej Brejla
- Člen | 746
Plugin je nyní ke stažení i na oficiálních NetBeans plugin page – hledejte PHP Nette Framework