+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Merhere Joomlas - verbinden mit der eigenen + einer gemeinsamen Datenbank

  1. #1
    wSo
    wSo ist offline
    Neu an Board
    Registriert seit
    11.03.2008
    Beiträge
    10
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Frage Merhere Joomlas - verbinden mit der eigenen + einer gemeinsamen Datenbank

    Hallo Leute!

    Habe ein großes Problem und finde nirgends eine Lösung dafür:

    Ich habe versch. JoomlaInstallationen mit versch. Datenbanken auf dem gleichen Server (Alle Datenbanken = auf localhost)

    Joomla 1 (DB1): DB1 + DB4
    Joomla 2 (DB2): DB2 + DB4
    Joomla 3 (DB3): DB3 + DB4
    DB4

    Ich möchte jetzt, dass in der DB1, DB2, DB3 nicht die User drin sind sondern die User sollen sich in der DB4 befinden!

    Das heißt: Der User ändert sein Profil in irgendeinem Joomla, und es wird halt in allen übernommen.

    Aber nicht nur die User Informationen sollen aus der DB4 geholt werden. Es sollen später auch Komponenten hinzukommen deren Daten sich dann in der DB4 befinden sollen.

    Mit
    $db = & JDatabase::getInstance( $option );
    schaff ichs leider nicht.

    In welcher Datei muss ich mich mit der DB4 connecten? Und wie? Weil die Werte sollen ja in $db übernommen werden sodass diese Global in Joomla verfügbar sind.

    Ich hab im gesamten Netz nirgends eine Lösung gefunden!
    Hoffe jemand kann mir da weiterhelfen!

  2. #2
    Gehört zum Inventar Avatar von blaulichttreff
    Registriert seit
    30.04.2007
    Ort
    Heidenrod
    Beiträge
    7.703
    Bedankte sich
    134
    Erhielt 2.557 Danksagungen
    in 2.421 Beiträgen

    Standard

    Weil die Werte sollen ja in $db übernommen werden sodass diese Global in Joomla verfügbar sind.
    darin sind doch die werte für die "orginal" datenbank hinterlegt, wie können dann die werte für die 2. db da rein kommen?
    meiner ansicht nach müsstest du eine variable $db2 global einführen und alle komponenten, die auf die 2. db zugreifen sollen, entsprechend umschreiben.
    aber ich bin da auch nicht der wirkliche experte, vielleicht schaut ein php/mysql-crack noch mal rein
    Gruß Sascha
    Viele kennen Google, aber nur wenige scheinen es zu nutzen Problem gelöst? | Joomla FAQ
    FF Springen

  3. #3
    wSo
    wSo ist offline
    Neu an Board
    Registriert seit
    11.03.2008
    Beiträge
    10
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    das is es ja

    eine gesamte komponente umzuschreiben überall wo ein $db vorkommt......

    weil ich lösche ja die daten aus der Joomla Datenbank raus und Joomla kriegt diese dann nur aus der externen. also ein zusammenstoß von gleichen daten ist somit nicht gegeben.

    geht das nicht irgendwie, dass man die $db verwendet ?

  4. #4
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    so einfach ist das nicht möglich.
    joomla ist von haus aus nicht multisite fähig und ohne core-hacks bekommst du das nicht hin.

    auch mit einem ändern einer JDatabase instanz ist es nicht getan, eher müsstest du jede codezeile ändern, die du a) multisitefähig bekommen möchtest und b) datenbank-verbindungen aufbaut...

    es gibt wohl schon ein paar möglichkeiten joomla teilweise multisite fähig zu machen, aber getestet habe ich es nicht...
    einfach mal googlen
    http://www.google.de/search?hl=de&me...+1.5+multisite
    oder
    http://www.jms2win.com/

    eventuell is auch das interessant
    http://www.joomlaportal.de/entwicklu...nsprechen.html

  5. #5
    wSo
    wSo ist offline
    Neu an Board
    Registriert seit
    11.03.2008
    Beiträge
    10
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    hey danke für eure schnellen antworten!

    multisite will ichs ja nicht haben. es soll nicht eine joomla installation sein. es sind mehrere joomla installationen. diese sollen nur bestimmte werte aus einer gemeinsamen (shared) Datenbank holen.

    Deinen letzten Link (http://www.joomlaportal.de/entwicklu...nsprechen.html) hatte ich schon gesehen. Das ist ein einzig brauchbarer Lösungsversuch zu meinem Problem denke ich.

    Aber eine Frage: Wo füg ich bitte diesen Code ein ? Mit dem ich die 2. Datenbank anspreche?
    In welcher Datei? Und genau welchen Code aus diesem Thread? Bin schon sowas von durcheinander vom ganzen Suchen und Rumprobieren.

    Danke vielmals im voraus!

  6. #6
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    Aber eine Frage: Wo füg ich bitte diesen Code ein ? Mit dem ich die 2. Datenbank anspreche?
    In welcher Datei?
    das ist ja das problem, mindestens in jeder datei, die zb auf die #__user tabelle zugreift.
    wenn du dir jetzt alleine mal eine joomla grundinstallation anguckst und dir die quelltexte nach #__user durchsuchen lässt siehst du, das es sicherlich ein paar hundert einträge sein müssten...

    du müsstest ja überall, wo joomla informationen von der usertabelle haben möchte, joomla erstmal weiß machen, das er diese infos nicht aus der datenbank nehmen soll, die bei joomla in der configuration.php steht, sondern aus der db4.

    so, dann geht es sicherlich noch weiter, das du bei join verknüpfungen und where abfragen das ganze über zwei verschiedene datenbanken machen musst.

    ich bin nicht allwissend, aber aus meiner sicht und verständnis würde ich die idee los lassen.
    und das witzige ist ja, das du, selbst wenn du alle änderungen erfolgreich vorgenommen hast, alles wunderbar läuft, alles neu machen musst, wenn es ein update von joomla gibt.

    du könntest eventuell über doe globale $option einiges erleichtern, aber das wird ein schuss in ofen.

  7. #7
    wSo
    wSo ist offline
    Neu an Board
    Registriert seit
    11.03.2008
    Beiträge
    10
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    heheheh.... und genau aus dem grund such ich vll einen code den ich in einer bestimmten datei einfüge. wie z.Bsp in die Datei wo Joomla selbst den Zugriff zur Datenbank definiert.

    Kann ichs da nicht einfach dazugeben in dieser Datei mit der auch Joomla den Zugriff zur Datenbank definiert?

  8. #8
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    stimmt, klar, du könntest dir die JDatabase klasse hacken, bin ich garnicht drauf gekommen. eventuell sogar über ein plugin verschiedene methoden oder gar die ganze klasse überschreiben/überlagern (wie auch immer)

    aber du wirst trotzdem probleme bekommen, wenn du eine abfrage hast und diese auf einmal über mehrere datenbanken ausgeführt werden soll...

  9. #9
    wSo
    wSo ist offline
    Neu an Board
    Registriert seit
    11.03.2008
    Beiträge
    10
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    hmmmm... hast recht

    ich kenn mich mit php und mysql leider nicht so super aus.

    Eine frage: wie rufe ich aufeinmal 2 datenbanken auf? Mithilfe von php
    Vll krieg ichs dann irgendwie hin.
    Weil die paar Felder befinden sich halt in der anderen Datenbank anstatt in der eigenen. thats all......... sollte doch nicht so schwer sein oder?

    Und wozu dient die factory.php unter /libraries/joomla

    wär echt dankbar!

  10. #10
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    Und wozu dient die factory.php unter /libraries/joomla
    das ist ne joomla klasse
    http://api.joomla.org/Joomla-Framework/JFactory.html
    mit hilfe von jfactory kannst du zb eine instanz der datenbank klasse jdatabase machen etc.
    das jetzt zu erklären würde den rahmen sprengen...


    zwei datenbanken ansprechen?
    keine ahnung, noch nie gebraucht...
    http://www.google.de/search?hl=de&me...ansprechen+php

    Weil die paar Felder befinden sich halt in der anderen Datenbank anstatt in der eigenen. thats all
    ne, leider ist das nicht alles...
    noch einmal, du müsstest allen datenbank abfragen, die die tabelle jos_user benutzen weiß machen, das die eine andere datenbank benutzen sollen...
    du könntest dir sicherlich ein fitzel script machen, wo du das deinem script bei bringen kannst und das über zwei datenbanken ändern, aber nicht allen komponenten, modulen und core dateien...
    wenn jemand über dein eigenes script dann zb das passwort ändert und es sogar in "db4" landet, weiß joomla selbst nichts davon und arbeitet weiter mit der selben datenbank, etc. pp.

    ich bin raus.

  11. Erhielt Danksagungen von:

    wSo

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Lesezeichen

Berechtigungen

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