FE-Edit auf UserID beschränken

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • schatzperle
    Contao-Nutzer
    • 06.11.2009
    • 126

    #1

    FE-Edit auf UserID beschränken

    Hallo Community,
    in einer meiner Installationen möchte ich gerne den Workflow einsetzen und dabei eben auch das Modul "Katalog-Liste" mit der Möglichkeit zum FE-Edit.

    Das funktioniert soweit, sobald ich die Liste jedoch versuche einzuschränken, indem ich userid={{user::id}} verwende, kriege ich eine Fehlermeldung:
    Code:
    Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 (SELECT id,pid,sorting,tstamp,category,titel,entryDate,member,userid, (SELECT name FROM tl_catalog_types WHERE tl_catalog_types.id=pinboard.pid) AS catalog_name, (SELECT jumpTo FROM tl_catalog_types WHERE tl_catalog_types.id=pinboard.pid) AS parentJumpTo FROM pinboard WHERE pid='2' AND userid=) thrown in /var/www/virtual/.../htdocs/system/libraries/Database.php on line 642
    
    #0 /var/www/virtual/.../htdocs/system/libraries/Database.php(589): Database_Statement->query()
    #1 /var/www/virtual/.../htdocs/system/modules/catalog/ModuleCatalogList.php(214): Database_Statement->execute(Array)
    #2 /var/www/virtual/.../htdocs/system/modules/frontend/Module.php(140): ModuleCatalogList->compile()
    #3 /var/www/virtual/.../htdocs/system/modules/catalog/ModuleCatalog.php(143): Module->generate()
    #4 /var/www/virtual/.../htdocs/system/modules/catalog/ModuleCatalogList.php(79): ModuleCatalog->generate()
    #5 /var/www/virtual/.../htdocs/system/modules/frontend/ContentModule.php(72): ModuleCatalogList->generate()
    #6 /var/www/virtual/.../htdocs/system/libraries/Controller.php(415): ContentModule->generate()
    #7 /var/www/virtual/.../htdocs/system/modules/frontend/ModuleArticle.php(173): Controller->getContentElement('118')
    #8 /var/www/virtual/.../htdocs/system/modules/frontend/Module.php(140): ModuleArticle->compile()
    #9 /var/www/virtual/.../htdocs/system/modules/frontend/ModuleArticle.php(71): Module->generate()
    #10 /var/www/virtual/.../htdocs/system/libraries/Controller.php(348): ModuleArticle->generate(false)
    #11 /var/www/virtual/.../htdocs/system/libraries/Controller.php(221): Controller->getArticle('57', false, false, 'main')
    #12 /var/www/virtual/.../htdocs/system/modules/frontend/PageRegular.php(71): Controller->getFrontendModule('0', 'main')
    #13 /var/www/virtual/.../htdocs/index.php(198): PageRegular->generate(Object(DB_Mysql_Result))
    #14 /var/www/virtual/.../htdocs/index.php(333): Index->run()
    #15 {main}
    Ich habe schon einiges versucht, um das Problem zu beheben:
    - sichergestellt, dass das Feld auch tatsächlich userid heißt
    - Katalog und dazugehörige Erweiterungen auf den neuesten Stand gebracht (ER)
    - Module geöffnet und geschlossen, um Änderungen definitiv zu speichern
    - mit anderen, funktionierenden Installationen verglichen

    Hat aber alles nix genützt.

    Hat jemand von Euch eine Idee?
  • Flex
    Contao-Urgestein
    • 03.06.2010
    • 2149

    #2
    Spontan würde ich sagen, dass das Insert Tag nicht in der Where Bedingung ersetzt wird.

    Aber dafür gibt es bereits eine Extension:

    Kommentar

    • typoburns
      Contao-Nutzer
      • 05.05.2010
      • 77

      #3
      Hallo,
      hab das oben beschriebene Problem neuerdings auch. Wer kann helfen? Kann nicht erkennen woran das liegt. Nehme ich die Auflistbedingung (userid={{user::id}}) aus dem Modul-Liste raus klappt alles wieder. Eigenartig!!

      Kommentar

      • xtra
        Maintainer
        • 02.07.2009
        • 2007

        #4
        1. vermutlich kein FE User eingeloggt (daher leeres Inserttag)
        2. fehlen bei eurer Bedingung die Hochkommata um das Inserttag, weshalb ein SQL Error geschmissen wird.
        Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

        Kommentar

        • typoburns
          Contao-Nutzer
          • 05.05.2010
          • 77

          #5
          Hallo Xtra,
          vielen Dank für deine Antwort.
          FE user ist eingeloggt. Ansonsten hab ich bisher keine Hochkommata genutzt, sah bisher immer so aus (userid={{user::id}}) ...und funktioniert in einem anderen Katalog auch bestens. Mhhh....

          Gruß

          Kommentar

          • typoburns
            Contao-Nutzer
            • 05.05.2010
            • 77

            #6
            Kann keiner helfen? Verwende Contao Vers. 2.9.3, Catalog offizielle 2.0.0 beta 2.

            Kommentar

            • MacKP
              Contao-Yoda
              • 15.06.2009
              • 13315

              #7
              Hallo typoburns,
              ich hab dieses Feature erst vor kurzem genutzt und hatte damit kein Problem.
              Was immer mal wieder für Probleme sorgen kann und SQL Error schmeißt:
              - Nachträgliches Bearbeiten von Catalogfeldern ohne das die Items noch mal gespeichert wurden.
              - Das Modul war erst ein anderes Catalog Modul und wurde dann geändert (alte Configurationen bleiben bei Contao gespeichert und wenn der Catalog das nicht richtig abfängt kann das dann zu Problemen führen)

              Also einfach noch mal alles speichern (Module / Items / Felder)
              Dann noch alle Module neu erstellen (nicht kopieren)

              Dann kann man sicher sein, das einen alte Konfigurationen etc. nicht dazwischen funken.

              Viele Grüße
              Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
              [Arbeitet bei -> Paus Design & Medien]
              "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

              Kommentar

              • typoburns
                Contao-Nutzer
                • 05.05.2010
                • 77

                #8
                Hallo MacKP,
                so, habe jetzt nochmal alles neu abgespeichert, Modul neu erstellt, Katalog-Felder abgespeichert, ein neuen Test-Katalog und neues Item angelegt...leider alles ohne Erfolg. Fehler bleibt bestehen.
                Habe aktuell 3 identische Module, nur die Auflist-Bedingungen sind verschieden:
                1. Modul für Katalog-Liste bei Item online - Bedingung: item_entfernen=0 AND (userid={{user::id}}) AND item_online=1

                2. Modul für Katalog-Liste bei Item offline - Bedingung:
                item_entfernen=0 AND (userid={{user::id}}) AND item_online=0

                3. Modul für Katalog-Liste bei Item löschen - Bedingung:
                item_entfernen=1 AND (userid={{user::id}}) AND item_online=1

                Diese 3 Module sind alle über Artikel in einer und derselben Seite eingebunden. Sobald ich im Item online=1 schalte kommt der Fehler. Alle anderen Auflistungen funktionieren super.

                In einem anderem Katalog funktioniert die identische Bedingung mit item_online=1 perfekt.

                Viele Grüße

                Kommentar

                • MacKP
                  Contao-Yoda
                  • 15.06.2009
                  • 13315

                  #9
                  Ok,
                  hast du dann mal das Feld online anders benannt und getestet? Kann sein, das es ein Begriff ist, der auch anders verwendet wird (intern vom Catalog bzw. Contao) und deswegen zu fehlern führt.

                  Viele Grüße
                  Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
                  [Arbeitet bei -> Paus Design & Medien]
                  "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

                  Kommentar

                  • typoburns
                    Contao-Nutzer
                    • 05.05.2010
                    • 77

                    #10
                    Habe ich jetzt auch versucht. Aber nix da ...sobald ich die Einschränkung mit der userid wegnehme klappt es. Allerdings bekommt das Mitglied ja dann alle angelegten Items angezeigt.
                    Das komische ist, das es nur in diesem einem Modul nicht klappt alle anderen funktionieren mit userid={{user::id}} bestens. Bin auch der Meinung, dass das schon mal funktioniert hat. Komisch ist auch, dass Schatzperle genau das gleiche Problem hat.

                    Kommentar

                    • MacKP
                      Contao-Yoda
                      • 15.06.2009
                      • 13315

                      #11
                      Äh.. puh...
                      kannst du mir mal nen Zugang schicken (per PM)?
                      Am besten direkt einen Admin...
                      Dann schau ich mir das mal an.

                      Viele Grüße
                      Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
                      [Arbeitet bei -> Paus Design & Medien]
                      "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

                      Kommentar

                      • MacKP
                        Contao-Yoda
                        • 15.06.2009
                        • 13315

                        #12
                        OK, ich bin jetzt keinen Schritt weiter.
                        Ich habe erst mal die Felder die abgefragt werden auch anzeigen lassen.
                        Dann hab ich alles mögliche andere getestet und mir angeschaut..
                        Aber da kann man machen was man will, der Inserttag {{user::id}} bleibt einfach leer...
                        Anscheinend wird der nicht gesetzt. Warum kann ich leider nicht sagen.

                        Ich habe auch extra noch ein Mitglied angelegt, worüber ich mich angemeldet habe (über Frontend-Vorschau funktioniert das ja nicht richtig wie Xtra schon geschrieben hatte...). Leider hat das auch nichts gebracht.

                        Eventuell mal alle Erweiterungen nach und nach ausschalten und schauen ob da eine zwischen Funkt?
                        Kann man ja recht einfach in den Einstellungen machen.
                        Dann noch contao-check.php drüber laufen lassen und gucken ob da alles in Ordnung ist.

                        Eventuell bringt dich das einen Schritt weiter.


                        Viele Grüße
                        Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
                        [Arbeitet bei -> Paus Design & Medien]
                        "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

                        Kommentar

                        • schatzperle
                          Contao-Nutzer
                          • 06.11.2009
                          • 126

                          #13
                          Sorry, Leute, ich bin krank, daher so lange keine Meldung von mir.

                          Ich geh mal durch, was ich schon ausgeschlossen hab:

                          - die Erweiterung catalogitemuserfield ist natürlich installiert
                          - auch bei mir ist im Frontend die Ausgabe des FE-Users immer leer - und ich habe es im BE geprüft, dort sind User ausgewählt
                          - der Contao.Check ist durchgehend grün
                          - ich hab die Module alle bereits einmal geöffnet und geschlossen
                          - bei anderen Installationen klappt das tadellos :-(

                          Was hat es denn mit den Hochkommatas um das Inserttags (Input von Xtra) auf sich?

                          UPDATE: Hm, wenn man die Hochkommas setzt userid='{{user::id}}', dann kommt tatsächlich zunächst mal wenigstens kein SQL-Fehler mehr - aber es bleibt dabei, er findet keine passenden Einträge, weil das Feld ja eh leehr bleibt.
                          Zuletzt geändert von schatzperle; 18.10.2011, 09:11.

                          Kommentar

                          • typoburns
                            Contao-Nutzer
                            • 05.05.2010
                            • 77

                            #14
                            Hallo zusammen,
                            aktueller Zwischenstand:

                            -hab jetzt alle Erweiterungen nach und nach ausgeknipst, allerdings brachte auch das keinen Erfolg
                            -Contao-Check ist auch bei mir nur grün

                            @MacKP Danke!!!!!

                            VG

                            Kommentar

                            • MacKP
                              Contao-Yoda
                              • 15.06.2009
                              • 13315

                              #15
                              Hallo typoburns,
                              ich habs gerade noch mal getestet (Ohne im BE angelemdet zu sein!). Nun funktioniert das ohne Probleme.
                              Hatte eigentlich gedacht, das ich das gestern auch so getestet hatte, aber war anscheinend doch noch nicht im BE ausgeloggt.

                              Versuchs auch mal ohne im BE angelemdet zu sein ;-)

                              Viele Grüße
                              Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
                              [Arbeitet bei -> Paus Design & Medien]
                              "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

                              Kommentar

                              Lädt...