Ergebnis 1 bis 20 von 20

Thema: Class "BackendUser" not found

  1. #1
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard Class "BackendUser" not found

    BTW - völlig offTopic - apropos Template-Anpassung: ich hatte im Template be_welcome eine kleine Ergänzung für einen Teil der Benutzer

    PHP-Code:
    <?php $objUser BackendUser::getInstance(); if ($objUser->isMemberOf(2)): ?>
     ...
    <?php endif; ?>
    Das funktioniert aber nicht mehr: Class "BackendUser" not found
    Wie heißt denn das jetzt?

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    3.038

    Standard

    So wie Du es geschrieben hast würde die Klasse BackendUser im "root namespace" gesucht werden. Da existiert sie nicht und wie also nicht gefunden.

    Also entweder

    PHP-Code:
    <?php
    use Contao\BackendUser;

    $objUser BackendUser::getInstance(); // ...
    ?>
    oder

    PHP-Code:
    <?php
    $objUser 
    Contao\BackendUser::getInstance(); // ...
    ?>
    siehe auch https://www.php.net/manual/en/language.namespaces.php
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Ah, super, vielen Dank.
    PHP-Code:
    <?php
    $objUser 
    Contao\BackendUser::getInstance(); // ...
    ?>
    funktioniert. Bei diesem ganzen objektorientierten Kram stehe ich sowas von auf dem Schlauch

    Ich hoffe, es sind nur die zwei Stellen... Wie kriege ich noch mein altes
    PHP-Code:
     <?php if ($objUser->isAdmin): ?>
    ...
     <?php endif; ?>
    wieder zum Laufen? Einfach "Contao\" vor $objUser schreiben mag er net...

  4. #4
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Einfach "Contao" vor $objUser schreiben mag er net...
    Das brauchst du vor $objUser auch nicht.

  5. #5
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Das brauchst du vor $objUser auch nicht.
    Wurde aber ignoriert.

    Ich hab's via trial'n'error so gelöst:
    PHP-Code:
      <?php $objUser Contao\BackendUser::getInstance(); if ($objUser->isAdmin): ?>
      ...
      <?php endif; ?>
    Ist das OK oder völliger Schwachfug?
    Warum brauche ich im selben Template ZWEImal $objUser = Contao\BackendUser::getInstance(); ?

  6. #6
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Wurde aber ignoriert.

    Ich hab's via trial'n'error so gelöst:
    PHP-Code:
      <?php $objUser Contao\BackendUser::getInstance(); if ($objUser->isAdmin): ?>
      ...
      <?php endif; ?>
    Ist das OK oder völliger Schwachfug?
    Warum brauche ich im selben Template ZWEImal $objUser = Contao\BackendUser::getInstance(); ?
    Poste dein gesamtes Template

  7. #7
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Es handelt sich um be_welcome.html5
    Meine Ergänzungen sind jeweils ganz oben und ganz unten, andere Stellen habe ich nicht geändert. Die beiden Infotexte lauten natürlich anders, sind aber plain HTML. Ohne das $objUser = Contao\BackendUser::getInstance(); wurde der Admin-Text in der 5.3 nicht ausgegeben (in der 4.13 aber schon).
    HTML-Code:
    <div id="tl_soverview">
    
     <?php $objUser = Contao\BackendUser::getInstance(); if ($objUser->isMemberOf(2)): ?>
      <div id="tl_hint">
        Infotext für Redakteure der Gruppe 2
      </div>
     <?php endif; ?>
    
      <div id="tl_messages">
        <h2><?= $this->systemMessages ?></h2>
        <p><?= $this->loginMsg ?></p>
        <?= $this->messages ?>
      </div>
    
      <div id="tl_shortcuts">
        <h2><?= $this->shortcuts ?></h2>
        <p><?= $this->shortcutsLink ?></p>
      </div>
    
      <div id="tl_versions">
        <h2><?= $this->trans('MSC.latestChanges') ?></h2>
        <?php if (!empty($this->versions)): ?>
          <table class="tl_listing with-border">
          <thead>
            <tr>
              <th><?= $this->trans('MSC.date') ?></th>
              <th><?= $this->trans('MSC.user') ?></th>
              <th><?= $this->trans('MSC.table') ?></th>
              <th>ID</th>
              <th><?= $this->trans('MSC.description') ?></th>
              <th><?= $this->trans('MSC.version') ?></th>
              <th></th>
            </tr>
          </thead>
          <tbody>
            <?php foreach ($this->versions as $version): ?>
              <tr class="click2edit hover-row">
                <td><?= $version['date'] ?></td>
                <td><?= $version['username'] ?: '-' ?></td>
                <td><?= $version['shortTable'] ?></td>
                <td><?= $version['pid'] ?></td>
                <td><?= $version['description'] ?: '-' ?></td>
                <td><?= $version['active'] ? '<strong>'.$version['version'].'</strong>' : $version['version'] ?></td>
                <td>
                  <?php if ($version['deleted']): ?>
                    <a href="<?= $this->route('contao_backend', ['do' => 'undo']) ?>" title="<?= Contao\StringUtil::specialchars($this->trans('MSC.restore')) ?>"><?= Contao\Image::getHtml('undo.svg', '', 'class="undo"') ?></a>
                  <?php else: ?>
                    <?php if ($version['editUrl']): ?>
                      <a href="<?= $version['editUrl'] ?>" title="<?= $this->editElement ?>" class="edit"><?= Contao\Image::getHtml('edit.svg', '', 'style="padding:0 2px"') ?></a>
                    <?php else: ?>
                      <?= Contao\Image::getHtml('edit--disabled.svg', '', 'style="padding:0 2px"') ?>
                    <?php endif; ?>
                    <?php if ($version['to'] > 1): ?>
                      <a href="<?= $version['editUrl'] ?>&amp;from=<?= $version['from'] ?>&amp;to=<?= $version['to'] ?>&amp;versions=1&amp;popup=1" title="<?= $this->showDifferences ?>" onclick="Backend.openModalIframe({'title':'<?= sprintf($this->recordOfTable, $version['pid'], $version['fromTable']) ?>','url':this.href});return false"><?= Contao\Image::getHtml('diff.svg') ?></a>
                    <?php else: ?>
                      <?= Contao\Image::getHtml('diff--disabled.svg') ?>
                    <?php endif; ?>
                  <?php endif; ?>
                </td>
              </tr>
            <?php endforeach; ?>
          </tbody>
          </table>
          <?= $this->pagination ?>
        <?php else: ?>
          <p><?= $this->trans('MSC.noVersions') ?></p>
        <?php endif; ?>
      </div>
    
      <?php $objUser = Contao\BackendUser::getInstance(); if ($objUser->isAdmin): ?>
      <div id="tl_leaflet">
        Infotext für Admins
      </div>
      <?php endif; ?>
      
    </div>

  8. #8
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Es handelt sich um be_welcome.html5
    Meine Ergänzungen sind jeweils ganz oben und ganz unten, andere Stellen habe ich nicht geändert. Die beiden Infotexte lauten natürlich anders, sind aber plain HTML. Ohne das $objUser = Contao\BackendUser::getInstance(); wurde der Admin-Text in der 5.3 nicht ausgegeben (in der 4.13 aber schon)
    Ungetestet (Aber du hast ja weiterhin die Variable in deinem HTML-Template (hier HTML5 aka PHP-Template) zur Verfügung.)
    PHP-Code:
    <?php
        $objUser 
    Contao\BackendUser::getInstance();
    ?>

    <div id="tl_soverview">
        <?php if ($objUser->isMemberOf(2)): ?>
            <div id="tl_hint">
                Infotext für Redakteure der Gruppe 2
            </div>
        <?php endif; ?>

        <div id="tl_messages">
            <h2><?= $this->systemMessages ?></h2>
            <p><?= $this->loginMsg ?></p>
            <?= $this->messages ?>
        </div>

        <div id="tl_shortcuts">
            <h2><?= $this->shortcuts ?></h2>
            <p><?= $this->shortcutsLink ?></p>
        </div>

        <div id="tl_versions">
            <h2><?= $this->trans('MSC.latestChanges'?></h2>
            <?php if (!empty($this->versions)): ?>
                <table class="tl_listing with-border">
                    <thead>
                        <tr>
                            <th><?= $this->trans('MSC.date'?></th>
                            <th><?= $this->trans('MSC.user'?></th>
                            <th><?= $this->trans('MSC.table'?></th>
                            <th>ID</th>
                            <th><?= $this->trans('MSC.description'?></th>
                            <th><?= $this->trans('MSC.version'?></th>
                            <th></th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($this->versions as $version): ?>
                            <tr class="click2edit hover-row">
                                <td><?= $version['date'?></td>
                                <td><?= $version['username'] ?: '-' ?></td>
                                <td><?= $version['shortTable'?></td>
                                <td><?= $version['pid'?></td>
                                <td><?= $version['description'] ?: '-' ?></td>
                                <td><?= $version['active'] ? '<strong>'.$version['version'].'</strong>' $version['version'?></td>
                                <td>
                                    <?php if ($version['deleted']): ?>
                                        <a href="<?= $this->route('contao_backend', ['do' => 'undo']) ?>" title="<?= Contao\StringUtil::specialchars($this->trans('MSC.restore')) ?>"><?= Contao\Image::getHtml('undo.svg''''class="undo"'?></a>
                                    <?php else: ?>
                                        <?php if ($version['editUrl']): ?>
                                            <a href="<?= $version['editUrl'?>" title="<?= $this->editElement ?>" class="edit"><?= Contao\Image::getHtml('edit.svg''''style="padding:0 2px"'?></a>
                                        <?php else: ?>
                                            <?= Contao\Image::getHtml('edit--disabled.svg''''style="padding:0 2px"'?>
                                        <?php endif; ?>
                                        <?php if ($version['to'] > 1): ?>
                                            <a href="<?= $version['editUrl'?>&amp;from=<?= $version['from'?>&amp;to=<?= $version['to'?>&amp;versions=1&amp;popup=1" title="<?= $this->showDifferences ?>" onclick="Backend.openModalIframe({'title':'<?= sprintf($this->recordOfTable$version['pid'], $version['fromTable']) ?>','url':this.href});return false"><?= Contao\Image::getHtml('diff.svg'?></a>
                                        <?php else: ?>
                                            <?= Contao\Image::getHtml('diff--disabled.svg'?>
                                        <?php endif; ?>
                                    <?php endif; ?>
                                </td>
                            </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
                <?= $this->pagination ?>
            <?php else: ?>
                <p><?= $this->trans('MSC.noVersions'?></p>
            <?php endif; ?>
        </div>

        <?php if ($objUser->isAdmin): ?>
            <div id="tl_leaflet">
                Infotext für Admins
            </div>
        <?php endif; ?>
    </div>
    Geändert von zoglo (13.03.2025 um 17:30 Uhr)

  9. #9
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Haut hin, danke - somit habe ich ein Problem weniger

  10. #10
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Übrigens wirst du mit Contao 5 noch so einige Sachen ändern müssen (Viele betreffen den fehlenden Contao Namespace):

    Siehe: https://github.com/contao/contao/blob/5.x/UPGRADE.md

    Ansonsten hilft es auch sich die Original-Templates der Contao-Bundles anzuschauen

  11. #11
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Na ich hoffe doch nicht...
    Aber ich werde sehen. Ich habe zwar nicht wenige Templates angepasst, z.T. auch mit PHP-Schnipseln, aber bisher wenig gefunden, was "so gar nicht" funktioniert. Dieses ganze namespace & Co Gedöns habe ich in der Vergangenheit immer wieder versucht NICHT benutzen zu müssen; meist mit Erfolg
    Probleme (unterschiedlilchen Ausmaßes) a la "in der vorherigen Version ging's noch, jetzt nicht mehr" hatte ich bisher IMMER beim Upgrade von einer zu nächsten LTS Version. Eines ist bzw. war z.B. (immer wieder) die Mootools Navigation, die ich immerhin von TYPOLIGHT bis zur Contao 4.13 "mitschleifen" konnte - und jetzt wohl "endlich" ersetzen muss; durch was auch immer (any hints?), siehe auch hier. Leider ist auch dieser Thread über 10 Jahre alt, so dass viele Links nicht mehr funktionieren...
    Ich nehme an, ein guter Schritt ist, sich von Mootools allgemein zu verabschieden und auf jQuery zu wechseln.

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    Heutzutage verwendet man auch kein jQuery mehr, da die neuesten JavaScript Funktionen schon genug bieten.
    Geändert von Spooky (14.03.2025 um 10:04 Uhr)
    » sponsor me via GitHub or Revolut

  13. #13
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Na ich hoffe doch nicht...
    Aber ich werde sehen. Ich habe zwar nicht wenige Templates angepasst, z.T. auch mit PHP-Schnipseln, aber bisher wenig gefunden, was "so gar nicht" funktioniert. Dieses ganze namespace & Co Gedöns habe ich in der Vergangenheit immer wieder versucht NICHT benutzen zu müssen; meist mit Erfolg
    Probleme (unterschiedlilchen Ausmaßes) a la "in der vorherigen Version ging's noch, jetzt nicht mehr" hatte ich bisher IMMER beim Upgrade von einer zu nächsten LTS Version. Eines ist bzw. war z.B. (immer wieder) die Mootools Navigation, die ich immerhin von TYPOLIGHT bis zur Contao 4.13 "mitschleifen" konnte - und jetzt wohl "endlich" ersetzen muss; durch was auch immer (any hints?), siehe auch hier. Leider ist auch dieser Thread über 10 Jahre alt, so dass viele Links nicht mehr funktionieren...
    Ich nehme an, ein guter Schritt ist, sich von Mootools allgemein zu verabschieden und auf jQuery zu wechseln.
    Wenn du keine Anpassungen durchführen möchtest, solltest du dein Contao-System nicht so stark modifizieren (Bspw. dein Custom Backend gerade).
    Was wirst du machen, wenn das Backend in Twig umgeschrieben wird, da es doch schon sehr alt ist?

  14. #14
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Heutzutage verwendet man auch jQuery mehr, da die neuesten JavaScript Funktionen schon genug bieten.
    Ich schätze da fehlt das Wort "kein" (?)

    Wenn ich nichts vergessen habe, benutze ich (historisch bedingt) auf Basis von Mootools eben die schon mehrfach diskutierte "Mootools Navigation", eine "selbst laufende" Bildershow und ganz viel für "Großansicht von Einzelbildern" dieses Lightbox Ding.

    Gerade auf die Schnelle entdeckt habe ich das Inhaltselement "Content-Slider", das braucht aber laut Contao-Demo auch jQuery oder Mootools. Könnte der Slider auch selbstständig laufen? Wie gesagt, nur quick'n'dirty geschaut - für Deinen vorletzten Satz hier könntest Du mir auch "ifo rujhasu eirfioüasud rigtvpfreaoid ouearruftv eaoutw0o" sagen

  15. #15
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Wenn du keine Anpassungen durchführen möchtest, solltest du dein Contao-System nicht so stark modifizieren (Bspw. dein Custom Backend gerade).
    Das konnte ich zu dem Zeitpunkt der Modifikationen nicht absehen, jedenfalls nicht in dem Umfang.
    Gaaanz früher habe ich sogar in Core-Files herumeditiert - und mir das ganz schnell wieder abgewöhnt. Dass es sich sogar als schlecht entpuppen könnte wenn man Templates anpasst musste ich einst auch schon erfahren (nicht nur das oben mit den namespaces)

    Zitat Zitat von zoglo Beitrag anzeigen
    Was wirst du machen, wenn das Backend in Twig umgeschrieben wird, da es doch schon sehr alt ist?
    Keine Ahnung - vielleicht um Hilfe schreien, vielleicht versuchen mich mit Twig zu beschäftigen (im Moment versteh ich da GAR NICHTS, sonst hätte ich schon längst das Wartungsmodus-Template meinem Geschmack angepasst. Ganz früher [TM] als auch das noch ein HTML Template war hatte ich es angepasst), vielleicht per Definition unwichtige Modifikationen ersatzlos streichen. Wer kann schon in die Zukunft sehen?

  16. #16
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Gerade auf die Schnelle entdeckt habe ich das Inhaltselement "Content-Slider", das braucht aber laut Contao-Demo auch jQuery oder Mootools. Könnte der Slider auch selbstständig laufen?
    Zum Zeitpunkt der Erstellung der Demo, wurde noch der alte Slider genutzt.
    Eine Migration des Sliders ist vorgesehen, zeitlich ist man aber noch nicht dazu gekommen.

    Danach nutzt der Slider die Swiper-Bilbiothek:
    https://github.com/contao/contao-demo/issues/40

  17. #17
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Keine Ahnung - vielleicht um Hilfe schreien, vielleicht versuchen mich mit Twig zu beschäftigen (im Moment versteh ich da GAR NICHTS, sonst hätte ich schon längst das Wartungsmodus-Template meinem Geschmack angepasst. Ganz früher [TM] als auch das noch ein HTML Template war hatte ich es angepasst), vielleicht per Definition unwichtige Modifikationen ersatzlos streichen. Wer kann schon in die Zukunft sehen?
    Twig ist nicht neu und existiert seit 2009. Noch hast du ja Zeit dich damit zu beschäftigen.
    Geändert von zoglo (14.03.2025 um 11:20 Uhr)

  18. #18
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Twig ist nicht neu und existiert seid 2009. Noch hast du ja Zeit dich damit zu beschäftigen.
    Vielleicht. Vielleicht aber auch nicht. Zumindest das Wartungsmodus-Ding ist mir die Mühe der Einarbeitung in Twig nicht wert. Und die anderes Anpassungen... schaumermal. Wer kann schon in die Zukunft sehen?

    In meiner Test-Instanz (migriert von 4.13) die mit 5.3 läuft, finde ich ein Inhaltselement "Content-Slider", das werde ich zumindest mal testen....

  19. #19
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Vielleicht. Vielleicht aber auch nicht. Zumindest das Wartungsmodus-Ding ist mir die Mühe der Einarbeitung in Twig nicht wert. Und die anderes Anpassungen... schaumermal. Wer kann schon in die Zukunft sehen?
    Du kannst die upgrade.md lesen und die News verfolgen. Das ist keine Glaskugel.

    HTML Templates sind in Contao 5 deprecated - Die Inhaltselemente werden in Zukunft alle mit Twig laufen.

  20. #20
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    450

    Standard

    Hm. Auch wenn es inzwischen ganz schön offTopic geworden ist: Wenn ich die Seite erstmal am Laufen und anschließend noch Lust und Zeit gleichzeitig habe kann ich mir ja mal https://docs.contao.org/manual/de/la...emplates/twig/ genauer ansehen... Alternativ werden die Anpassungen sukzessive "zurückgebaut" um ohne Selbige auszukommen... Ich kann nicht absehen was wann passieren wird.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •