Nenalezení prezenteru ve verzi Nette 2.1dev
- iskejp
- Člen | 41
Zdravím a prosím o pomoc.
Zkouším aplikaci převést z verze Nette 2.0.12 na verzí 2.1dev a pře přepisování jsem narazil na tuto chybovou hlášku:
Nette\Application\BadRequestException #404: Cannot load presenter ‚admin:sign‘, class ‚App\adminModule\signPresenter‘ was not found in… a cesta.
Na uvedení cestě soubory samozřejmě jsou. Vím, že Nette se „orientuje“ podle namespace, které jsem se jal doplňovat, takže současné nastavení je:
namespace App\AdminModule;
use Nette\Application\UI\Form,
App;
class SingPresenter extends App\BasePresenter
{
/**
* Sign in form component factory.
* @return Nette\Application\UI\Form
*/
protected function createComponentSignInForm()
{
$form = new Form();
$form->addText('email', 'Email', 30, 20)->setRequired('Please provide a username.');
$form->addPassword('password', 'Heslo', 30)->setRequired('Please provide a password.');
$form->addCheckbox('remember', 'Trvale přihlásit na tomto počítači?');
$form->addSubmit('send', 'Přihlásit se');
$form->onSuccess[] = callback($this, 'signInFormSubmitted');
return $form;
}
//...
Napadlo mě, že by mohl být problém s routou, ale ta je stejná jako byla v předchozí funkční verzi. Kde by mohla být chyba? Další potřebné případně dodám.
Díky za reakci.
- iskejp
- Člen | 41
Ahoj,
využiji toto vlákno k ještě další pomoci, abych to moc neroztahoval. Narazil jsem opět při převodu na 2.1dev na tuto chybu:
Exception
DateTime::__construct() expects parameter 1 to be string,
object given
Chyba se objevuje při zobrazení v šabloně. Z DB se dostane do funkce objekt DateInterval. Myslím, že by tam měl být něco podobného jako v části s datem, tedy Nette/DateTime. Je to má chyba, nebo je to chyba v nové verzi Nette?
S díky za odpověď.
- iskejp
- Člen | 41
Díky, prozatím jsem to vyřešil konstrukcí v template.
$item->time->h.":".$item->time->i
Ale mám ještě jednu věc. Právě při této chybě se Laděnka chovala chybně, jelikož se „nedokončila“ a nezobrazil se Debug panel. Vždy jen necelý výpis chyb a prohlížeč hlásil, že stále stahuje data. Jediné co pomohlo byl restart prohlížeče. To jen pro úplnost :o).
enumag napsal(a):
V NDB se měnilo nějaké chování a pro určité typy sloupců (tuším že typ „time“) se vrací DateInterval místo původního DateTime. Je to jeden z BC breaků který budeš muset nějak vyřešit – nejspíše pracovat rovnou s tím DateInterval objektem a nedělat z toho DateTime.