ilch Forum » Ilch CMS 2.X » Fehlersuche und Probleme » [ERLEDIGT] Config-Tabelle

Geschlossen
  1. #1
    User Pic
    SeriousDonkey Mitglied
    Registriert seit
    26.11.2014
    Beiträge
    40
    Beitragswertungen
    3 Beitragspunkte
    Hallo. lächeln

    Habe da eine Frage bezüglich der Config-Tabelle in der Datenbank. Hier sollen, soweit ich das jetzt sehe, alle möglichen Einstellungen der Module verwaltet werden oder?

    Habe nun versucht, dort meine Settings zu speichern, allerdings funktioniert das nicht. Habe mich in diesem Fall an der Shoutbox orientiert.
    Zu erst habe ich versucht, im Controller mit $this->getConfig()->set('...', '....'); einen Eintrag zu erzeugen. Allerdings wurde kein Eintrag angelegt. Dann habe ich nochmal bei der Shoutbox nachgeschaut und bemerkt, dass die Einträge schon bei der Installation angelegt werden (macht ja auch mehr Sinn zunge ). Gut, hab dann in der config meines Modules in der install-Methode versucht den Eintrag anzulegen. Dies habe ich mit dem Database-Objekt aus der Config (\Ilch\Config\Database) gemacht. Allerdings musste ich feststellen, dass nach der Neuinstallation die Felder wieder nicht angelegt wurden. Das Modul an sich wurde richtig installiert, die Tabellen dafür wurden angelegt und es erscheint auch unter Modulen (habe das Modul manuell in dem Controller vom Installer hinzugefügt).
    Meine Frage dazu ist nun, muss ich da noch irgendwo anders was angeben? Bei den anderen Modulen scheint es ja ebenfalls zu funktionieren?

    Danke schonmal. lachen
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Poste mal bitte dein public function install(){} abschnitt oder die config.php?


    Zuletzt modifiziert von Siggi am 17.08.2015 - 18:32:10
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    SeriousDonkey Mitglied
    Registriert seit
    26.11.2014
    Beiträge
    40
    Beitragswertungen
    3 Beitragspunkte
    Das ist die install-Methode. Der Rest der config.php ist lediglich das SQL-Statement für die anderen Tabellen.

    public function install()
    {
            $this->db()->queryMulti($this->getInstallSql());
            
            $databaseConfig = new \Ilch\Config\Database($this->db());
            $databaseConfig->set('twitchstreams_requestEveryPageCall', '0');
    }
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Hast du in der ilch Install das Modul den auch angegeben sodass die Config des Moduls überhaupt aufgerufen wird beim installieren?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    SeriousDonkey Mitglied
    Registriert seit
    26.11.2014
    Beiträge
    40
    Beitragswertungen
    3 Beitragspunkte
    Ja, das SQL-Statement was in der Methode getInstallSql() (welche ja oben in der install aufgerufen wird) wurde ja auch ausgeführt. Werde denke ich gleich nochmal probieren. Vielleicht hab ich doch irgendwo einen Fehler gemacht oder etwas übersehen. grumml

    EDIT:
    Habe nun nichts geändert, habe lediglich probiert im Controller per $this->getController()->get('twitchstreams_requestEveryPageCall'); drauf zuzugreifen und siehe da, ich bekomme den Wert zurückgegeben. Wenn ich nun aber beispielsweise per phpMyAdmin nachschaue, finde ich den Eintrag nicht? Auch nach jeglichen Aktualisieren nicht? grumml


    Zuletzt modifiziert von SeriousDonkey am 17.08.2015 - 18:53:11
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Normal sollte es in ilch_config stehen
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    ZitatZitat geschrieben von SeriousDonkey
    Ja, das SQL-Statement was in der Methode getInstallSql() (welche ja oben in der install aufgerufen wird) wurde ja auch ausgeführt. Werde denke ich gleich nochmal probieren. Vielleicht hab ich doch irgendwo einen Fehler gemacht oder etwas übersehen. grumml

    Es reicht nicht aus nur eine Config Datei anzulegen. Du musst auch unter application/modules/install/controllers/Index.php ab Zeile 349, dein Modul mit eintragen.
    Danach machst du eine Neuinstallation, dann erkennt er deine Config auch.



    ZitatZitat geschrieben von SeriousDonkey

    Habe nun nichts geändert, habe lediglich probiert im Controller per $this->getController()->get('twitchstreams_requestEveryPageCall'); drauf zuzugreifen und siehe da, ich bekomme den Wert zurückgegeben. Wenn ich nun aber beispielsweise per phpMyAdmin nachschaue, finde ich den Eintrag nicht? Auch nach jeglichen Aktualisieren nicht? grumml


    In deiner Config trägst du

    $databaseConfig->set('twitchstreams_requestEveryPageCall', '0');

    ein.

    Sprich, beim abrufen erwartest du den Wert "0". Wenn dieser aber nicht vorhanden ist, bekommst du auch "0". Dann ist auch klar das du es nicht in der Datenbank findest. Weil wie oben beschrieben das Modul nicht installiert wurde.
    Mein Tipp, wenn du was testen willst...such dir einen anderen wert als "0".

    Mfg corian
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    SeriousDonkey Mitglied
    Registriert seit
    26.11.2014
    Beiträge
    40
    Beitragswertungen
    3 Beitragspunkte
    ZitatZitat geschrieben von corian
    ZitatZitat geschrieben von SeriousDonkey
    Ja, das SQL-Statement was in der Methode getInstallSql() (welche ja oben in der install aufgerufen wird) wurde ja auch ausgeführt. Werde denke ich gleich nochmal probieren. Vielleicht hab ich doch irgendwo einen Fehler gemacht oder etwas übersehen. grumml

    Es reicht nicht aus nur eine Config Datei anzulegen. Du musst auch unter application/modules/install/controllers/Index.php ab Zeile 349, dein Modul mit eintragen.
    Danach machst du eine Neuinstallation, dann erkennt er deine Config auch.



    ZitatZitat geschrieben von SeriousDonkey

    Habe nun nichts geändert, habe lediglich probiert im Controller per $this->getController()->get('twitchstreams_requestEveryPageCall'); drauf zuzugreifen und siehe da, ich bekomme den Wert zurückgegeben. Wenn ich nun aber beispielsweise per phpMyAdmin nachschaue, finde ich den Eintrag nicht? Auch nach jeglichen Aktualisieren nicht? grumml


    In deiner Config trägst du

    $databaseConfig->set('twitchstreams_requestEveryPageCall', '0');

    ein.

    Sprich, beim abrufen erwartest du den Wert "0". Wenn dieser aber nicht vorhanden ist, bekommst du auch "0". Dann ist auch klar das du es nicht in der Datenbank findest. Weil wie oben beschrieben das Modul nicht installiert wurde.
    Mein Tipp, wenn du was testen willst...such dir einen anderen wert als "0".

    Mfg corian


    Wie bereits geschrieben, hatte ich das Modul manuell in den Controller des Installers eingetragen. zwinker

    Die Installation hat ja auch funktioniert, die install-Methode wurde ja auch ausgeführt, sonst würden meine Tabellen für das Twitch-Modul ja nicht bei der Installation angelegt werden.

    Nach der Installation hatte ich aber nicht getestet, ob ich im Quellcode auf den Config-Eintrag zugreifen kann, sondern lediglich in phpMyAdmin nachgeschaut und dort wurde mir kein Eintrag vom Twitch-Modul angezeigt. Doch seltsamerweise konnte ich mit $this->getConfig()->get('twitchstreams_requestEveryPageCall') trotzdem drauf zugreifen, wie ich später ja festgestellt habe.

    Kurz und knapp: Die Installation hat erfolgreich funktioniert, die Tabellen für das Modul wurden angelegt und in der Config-Tabelle ist ebenfalls ein Eintrag drin. Dieser wurde mir halt vorhin nicht in phpMyAdmin angezeigt (auch nicht nach mehrmaligen Refreshen). grumml

    Aber wenn ich im Controller drauf zugreife, erhalte ich einen Wert, den ich auch verändern kann. lachen
    Somit funktionert nun alles. lächeln


    Zuletzt modifiziert von SeriousDonkey am 18.08.2015 - 00:31:30
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Ok, aber wenn du ihn verändern kannst...MUSS dieser auch vorhanden sein. Ist das jetzt eigentlich das einzige Problem?


    EDIT Ok jetzt funktioniert alles?


    Zuletzt modifiziert von corian am 18.08.2015 - 00:36:45
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    SeriousDonkey Mitglied
    Registriert seit
    26.11.2014
    Beiträge
    40
    Beitragswertungen
    3 Beitragspunkte
    Ja läuft nun alles. lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten