Cannot load presenter ‚Sign‘, class ‚App\Presenters\SignPresenter‘ was not found

DodiseK
Člen | 56
+
0
-

Zdravím, včera jsem se snažil zprovoznit opět systém přihlašování, potýkal jsem se s problémem, který se týkal vlastního Autentikátoru. Tak trošku jsem se hrabal v SignPresenteru a poté i přes to, že jsem vše vrátil jak bylo, mi přestal fungovat a Tracy mi hází chybu: Invalid link: Cannot load presenter ‚Sign‘, class ‚App\Presenters\SignPresenter‘ was not found

SignPresenter.php vypadá takto

<?php
declare(strict_types=1);

namespace App\Presenters;

use Nette;
use Nette\Application\UI;

class SignPresenter extends Nette\Application\UI\Presenter
{
    /** @persistent */
    public $backlink = '';
    /**
     * Sign-in form factory.
     */
    protected function createComponentSignInForm(): UI\Form
    {
        $form = new UI\Form;

        $form->addText('username', 'Jméno:')
            ->setRequired('Prosím, zadejte vaše uživatelské jméno.');

        $form->addPassword('password', 'Heslo:')
            ->setRequired('Prosím, zadejte vaše heslo.');

        $form->addSubmit('send', 'Přihlásit se');

        $form->onSuccess[] = [$this, 'signInFormSucceeded'];
        return $form;
    }
    public function signInFormSucceeded(UI\Form $form, \stdClass $values): void
    {
        try {
            $this->getUser()->login($values->username, $values->password);
        } catch (Nette\Security\AuthenticationException $e) {
            $form->addError($e->getMessage());
            return;
        }
        $this->restoreRequest($this->backlink);
        $this->flashMessage('Byl jsi přihlášen.');
        $this->redirect('Homepage:in');
    }
    public function actionOut(): void
    {
        $this->getUser()->logout();
        $this->flashMessage('Byl jsi odhlášen.');
        $this->redirect('Homepage:out');
    }
}

Tracy dále poukazuje na chybu v kódu souboru @layout.latte:
Řádek 109…

 99:                    </li>
100:                  </ul>
101:    <?php
102:            }
103:            else {
104:    ?>
105:                ¨ <ul style="margin-right: 20%; font-size: 150%;" class="navbar-nav">
106:                    <li class="nav-item dropdown">
107:                      <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false"><strong>Přihlásit se</strong></a>
108:                      <div class="dropdown-menu" x-placement="bottom-start" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(0px, 30px, 0px);">
109:                        <a class="dropdown-item" href="<?php echo LR\Filters::escapeHtmlAttr($this->global->uiControl->link("Sign:in")) ?>">Přihlásit se</a>
110:                      </div>
111:                    </li>
112:                  </ul>
113:    <?php

Kde celý kód vypadá takto:

			{if $user->loggedIn}
		      <ul style="margin-right: 20%; font-size: 150%;" class="navbar-nav" style="float: right;">
				<li class="nav-item">
					<a class="nav-link" href="{$basePath}/homepage/dobit-kredit">
						<i class="fa fa-money"></i>
						Tokeny
						<span class="badge"><i class="fas fa-times"></i></span>
					</a>
				</li>
			    <li class="nav-item dropdown">
			      <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false"><strong>{$user->getIdentity()->username}</strong></a>
			      <div class="dropdown-menu" x-placement="bottom-start" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(0px, 30px, 0px);">
			        <a class="dropdown-item" href="{$basePath}/homepage/profil">Profil</a>
			        <div class="dropdown-divider"></div>
			        <a class="dropdown-item" n:href="Sign:out">Odhlásit se</a>
			      </div>
			    </li>
			  </ul>
			{else}
			¨ <ul style="margin-right: 20%; font-size: 150%;" class="navbar-nav">
		        <li class="nav-item dropdown">
		          <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false"><strong>Přihlásit se</strong></a>
		          <div class="dropdown-menu" x-placement="bottom-start" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(0px, 30px, 0px);">
		            <a class="dropdown-item" n:href="Sign:in">Přihlásit se</a>
		          </div>
		        </li>
		      </ul>
			{/if}

Tento kód jsem neměnil a takto vypadal i v době, kdy to ještě fungovalo, nevíte co s tím?

DodiseK
Člen | 56
+
0
-

Nevím jak se to stalo, ale začalo to fungovat, pouze bych potřeboval poradit ohledně toho Autentikátoru

ic
Člen | 430
+
+1
-

Pro inspiraci při tvorbě scriptu s přihlašováním bych se podíval do Examples na CD Collection ( https://github.com/…D-collection ) to je velmi minimalistický příklad s přihlašováním.

A když něco nefungovalo a pak to samo fungovat začalo, tak to je většinou znamená smazání cache :D

DodiseK
Člen | 56
+
0
-

Děkuji… mazání cache, to mě třeba nenapadlo :D