ModuleCenter - bei Install DB-Tabellen-Spalten anlegen

Thema wurde von Steffen (indiv-style.de), 11. März 2016 erstellt.

  1. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Man kann ja die function install() mit eigenen Dingen erweitern, wofür man auch sehr viele Funktionen über $this->db aufrufen kann.

    Nun benötige ich aber eine eigene neue Tabellenspalte in der DB! Allerdings finde ich dafür keine Funktion für ALTER table...

    Hat das einen Sinn??? Oder leide ich hier am Wald -> Bäume -> Syndrom???
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    Code:
    ALTER TABLE table ADD COLUMN column INT(1) UNSIGNED NOT NULL DEFAULT 0;
    
    oder so ähnlich :)
     
  3. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Du kannst über $this->db->query() praktisch beliebige Queries absetzen, wenn es sein muss.
    PHP:
    $alterTableQuery 'ALTER TABLE foobar ADD COLUMN barfoo VARCHAR(42)';
    $this->db->query($alterTableQuery);
    Sollte funktionieren.
     
  4. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.692
    Danke vergeben:
    903
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    Denke aber auch an die automatische Aktivierung für Admin in der install()-Methode.
     
  6. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.692
    Danke vergeben:
    903
    Die ist nicht notwendig, sofern man nicht mit einer altmodischen eigenen Seite als php-Datei arbeitet.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    Mag sein, jedoch musste ich eine (1) unter admin_access setzten damit mein Modul auch in der Navigation auftaucht.
     
  8. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Für was??? Module sind in den Rechten komplett drin! Entweder man darf alle Module sehen oder keins!
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    Habe nur einen Schritt weiter gedacht, bezogen auf #7 :)
    Denke möchtest bestimmt auch, dass dein Modul in der Navigation separat erscheint, oder nicht?
     
  10. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    $this->db->query funktioniert!!! ;)
     
  11. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Nein! Und das hat seinen Grund. Einstellungen am Modul werden nur selten durchgeführt, was bedeutet das ein zusätzlicher Menüpunkt hier komplett irrsinnig wäre. Ausserdem hab ich mit dem ModuleCenter alle benötigten Werkzeuge zur Verfügung die ich dafür brauche!

    Siehe:
    http://developers.gambio.de/tutorials.html?v=2.7.2.0&p=modul-center
     
  12. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    Ok, für simple Module gebe ich dir Recht ;)
    War noch in Gedanken bei meiner API :oops: ... sorry
     
  13. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Das hat nix mit simple zu tun! Es handelt sich um die Konfiguration/Installation von der Fehlertoleranten Suche!

    Für ein Modul was man in den Shop implementieren will, bietet sich der ModuleCenter immer an! Egal ob simple oder schwer komplex! Gerade die Installationen von Modulen sollte mit diesem Handwerkszeug endlich mal auf einen Standart gesetzt werden! Der Benutzer der Module weis genau, wo er nach dem kopieren, sein "neues" Modul findet um es zu aktivieren und zu konfigurieren zu können. Und da spielt es keine Rolle, von wem das Modul ist!
     
  14. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Das ist übrigens auch die Devise nach der wir vorzugehen versuchen: Wenn ein Modul keine "Alltagsknöpfe" besitzt kriegt es keinen Eintrag im Hauptmenü, alles andere bläst das Menü wieder dahin auf wo wir herkamen und wegwollten.
     
  15. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.692
    Danke vergeben:
    903
    Ein separater Menüpunkt bedeutet nicht automatisch, dass man in der admin_access einen Eintrag braucht. Man sollte nämlich die zu verlinkende Seite als AdminHttpViewController umsetzen und nicht über eine eigene Datei im admin Ordner. Das ist in der Doku erklärt.
     
  16. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    Ich glaube wir reden aneinander vorbei :p
    Mir ist schon bewusst, dass unter Module Center alle Module aufgelistet werden sollen, die ein Benutzer installieren kann.
    Nach Auswahl des Moduls und der Installation da gebe ich dir Recht, dass ein simples Modul, wo man "nur" Standardwerte definiert, keinen neuen Eintrag in der Navigation braucht. Wie gesagt, war noch in Gedanken bei meiner API die eine Ansammlung von Applikationen anbieten soll, wie z.B. eBay API, Sitemap Crawler, UPS Pickup/ShipClient API, usw...
    Es ist fast vergleichbar mit Magnalister... Wenn ein Module um viele weitere Funktionen und/oder Möglichkeiten verfügt, sollte schon ein separater Eintrag in der Navigation sein. Der Benutzer spart sich so einige Klicks und hat alle Funktionen und Möglichkeiten auf einen Blick. Muss also nicht hin und her switchen...
     
  17. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Das ist ja auch richtig und in deinem Fall wichtig(reimt sich, hihi) aber dennoch sollte die Installation des Moduls/API über den MC laufen! Da kannst du wirklich alles Betreffende steuern, selbst die admin_access-Einträde fürs Menü!
     
  18. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Und genau das hab ich für die FlexSearch gemacht! Bissl schwierig am Anfang aber eigentlich nichts schlimmes! :) :) :)
     

    Anhänge:

  19. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    16. Januar 2016
    Beiträge:
    656
    Danke erhalten:
    115
    Danke vergeben:
    20
    Na dann mache ich wohl etwas falsch oder fahre gegen einen Bug...

    Code:
    /admin/admin.php?do=Monevo/eBay
    
    PHP:
    use Monevo\Ebay\EbayApiConfig as eBayAccess;

    class 
    MonevoApiController extends AdminHttpViewController
    {...}
    funtioniert ja auch ohne einen Eintrag in der admin_access, da sage ich nichts dazu.


    Sobald aber eine
    Code:
    /admin/sample.php
    
    Seite ich aufrufen möchte tut sich nichts in der Navigation solange kein Eintrag (1) in admin_access für die Seite gesetzt ist.
    Vielleicht verstehe ich da auch etwas falsch...
     
  20. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.692
    Danke vergeben:
    903
    Die sample.php hat keine Daseinsberechtigung. Die sollte ebenso über admin.php umgesetzt werden.