Začátek s Nette – Nic mi nefunguje

Blackrat
Člen | 17
+
0
-

Zdravím, dneska jsem si nainstaloval Nette dle návodu a od první chvíle mi nic nefunguje.

  1. Spustil jsem příkaz composer create-project nette/web-project nette-blog to bylo ještě v pořádku. Pak byla sekce “Úklid”, kde jsme měl smazat obsah app/Presenters/templates/Homepage/default.latte a nahradit jej “Hello World”. To že musím promazat Cache se nikde nikdo v návodu nezmínil, ale ok.
  2. Další v pořadí v návodu je Tracy. Příkaz composer require tracy/tracy asi funguje, jelikož v composer.json mám tracy/tracy uvedeno. Každopádně nemám tušení, kam umístit toto: https://ibb.co/68V6q8h

Jakož někdo, kdo začal před pár hodinami absolutně nemám tušení, pod jakou knihovnu v jakým souboru atd..

  1. Formuláře. Nette/forms mám dle composer.json nainstalované. Vytvořil jsem si form.php a tam vložil

use Nette\Application\UI\Form;

$form = new Form;
$form->addText(‘name’, ‘Jméno:’);
$form->addPassword(‘password’, ‘Heslo:’);
$form->addSubmit(‘send’, ‘Registrovat’);
$form->onSuccess[] = [$this, ‘formSucceeded’];

Boužel též nevím, jestli to má být v <?php?> nebo ne, každopádně ani jedna verze mi nefunguje. V přiloženém návodu dle kterého pracuju se nic víc nepíše. https://ibb.co/rpYxWfZ

Našla by se nějaká hodná důše, která by mi řekla, mi kde chybí prosím?

Děkuji

Gappa
Nette Blogger | 181
+
+7
-

Blackrat napsal(a):

Zdravím, dneska jsem si nainstaloval Nette dle návodu a od první chvíle mi nic nefunguje.

  1. Spustil jsem příkaz composer create-project nette/web-project nette-blog to bylo ještě v pořádku. Pak byla sekce „Úklid“, kde jsme měl smazat obsah app/Presenters/templates/Homepage/default.latte a nahradit jej „Hello World“. To že musím promazat Cache se nikde nikdo v návodu nezmínil, ale ok.

Tady bude nejspíš problém v tom, že Quickstart předpokládá webserver běžící na localhostu, ze kterého Nette pozná, že má běžet v dev režimu. V tvém případě tomu tak nejspíš není, tudíž nahrazení obsahu šablony se projeví až po promazání cache (což je chování žádoucí, ale jen v produkčním režimu). Trefil jsem se?

  1. Další v pořadí v návodu je Tracy. Příkaz composer require tracy/tracy asi funguje, jelikož v composer.json mám tracy/tracy uvedeno. Každopádně nemám tušení, kam umístit toto: https://ibb.co/68V6q8h

Jakož někdo, kdo začal před pár hodinami absolutně nemám tušení, pod jakou knihovnu v jakým souboru atd..

Přímo tato část v Quickstartu není, je tam odkaz na více informací o Tracy, která může být použita samostatně (tj. bez Nette). Tracy by tam standardně být měla, akorát je skrytá, protože produkční režim (tj. asi stejný problém jako v bodě 1).

  1. Formuláře. Nette/forms mám dle composer.json nainstalované. Vytvořil jsem si form.php a tam vložil

use Nette\Application\UI\Form;

$form = new Form;
$form->addText(‚name‘, ‚Jméno:‘);
$form->addPassword(‚password‘, ‚Heslo:‘);
$form->addSubmit(‚send‘, ‚Registrovat‘);
$form->onSuccess[] = [$this, ‚formSucceeded‘];

Toto je ukázkový/izolovaný kód.

V přiloženém návodu dle kterého pracuju se nic víc nepíše. https://ibb.co/rpYxWfZ

O screenshot a dva odstavce níže je ukázka, kde formulář definovat (v Presenteru), zpracovat i vykreslit :)

https://doc.nette.org/…in-presenter#…

Boužel též nevím, jestli to má být v <?php?> nebo ne, každopádně ani jedna verze mi nefunguje.

Toto jsou naprosté základy PHP. Je to PHP kód, takže to musí být v <?php.

Blackrat
Člen | 17
+
0
-

Čau po promazání cashe to už funguje díky moc :) Jakým způsobem se zbavit toho režimu, abych měl funkční Tracy a nemusel furt promazávat cashe pls?

Blackrat
Člen | 17
+
0
-

„Můžete vynutit, aby Tracy běžela ve vývojovém režimu předáním Debugger::DEVELOPMENT jako prvního parametru metody enable().)“ Vůbec nevím co se po mě chce. :D Nějakej návod pro dementy by nebyl pls? :)

Pepino
Člen | 126
+
0
-

@Blackrat Debugger::enable(Debugger::DEVELOPMENT);

Blackrat
Člen | 17
+
0
-

Mám cca takovýhle kus kódu v /app/Presenters/@layout.latte. Co s tím, kam s tím?
<?php
declare(strict_types=1);

namespace App\Presenters;

use Nette;
use Nette\Application\UI\Form;

class HomepagePresenter extends Nette\Application\UI\Presenter
{
protected function createComponentRegistrationForm(): Form
{
$form = new Form;
$form->addText(‘Username’, ‘Jméno:’)
->setRequired();

$form->addPassword(‘Password’, ‘Heslo:’)
->setRequired();

$form->addSubmit(‘send’, ‘Registrovat’);
$form->onSuccess[] = [$this, ‘formSuccess’];
return $form;
}
public function formSuccess(Form $form, $data): void
{
// tady zpracujeme data odeslaná formulářem
// $data->name obsahuje jméno
// $data->password obsahuje heslo
$this->template->add(‘form_name’,$data->name);
$this->template->add(‘form_password’,$data->password);

}
}

Pepino
Člen | 126
+
0
-

@Blackrat Asi bude dobré si prostudovat https://doc.nette.org/cs/ a pak se ptát na konkrétní problémy. Z tvých otázek mám pocit že vůbec nemáš šajn co děláš.

Ten kód co posíláš určitě nemá být v @layout.latte ale v HomepagePresenter.php