+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Migration 1.0.x nach 1.5

  1. #1
    Kommt häufiger vorbei Avatar von soezkan
    Registriert seit
    09.02.2006
    Ort
    Berlin
    Beiträge
    292
    Bedankte sich
    63
    Erhielt 2 Danksagung
    in 1 Beitrag

    Standard Migration 1.0.x nach 1.5

    Hallo zusammen,

    es gibt ja ne Menge Anleitungen wie man mit dem com_migrator
    migrieren kann.
    Leider kann ich aber nix finden, wo erklärt wird, wie man
    eigens programmierte Komponenten von 1.0.x nach 1.5
    migriert.

    Hat da jemand ein paar Links wo sowas erklärt wird.

    Danke!

    Viele Grüße
    Soezkan

  2. #2
    Moderator Avatar von Orpheus2510
    Registriert seit
    17.10.2006
    Beiträge
    14.129
    Bedankte sich
    164
    Erhielt 3.389 Danksagungen
    in 3.059 Beiträgen

    Standard

    Selbst programmierte Komponenten mußt du auch selbst migrieren - sprich umschreiben. Eine automatische Umwandlungsmöglichkeit von J1.0-Code in J1.5-Code gibt es nicht.
    Gruß, Orpheus2510
    Kein Support per PN! | Tutorial Migration J1.5 --> J2.5 | Joomla braucht dich!

  3. #3
    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
    Gruß Sascha
    Viele kennen Google, aber nur wenige scheinen es zu nutzen Problem gelöst? | Joomla FAQ
    FF Springen

  4. Erhielt Danksagungen von:


  5. #4
    Kommt häufiger vorbei Avatar von soezkan
    Registriert seit
    09.02.2006
    Ort
    Berlin
    Beiträge
    292
    Bedankte sich
    63
    Erhielt 2 Danksagung
    in 1 Beitrag

    Standard

    Lieben Dank für die Antworten.

    Den Link hatte ich bereits gefunden - der ist super und sehr
    hilfreich.
    Das andere Problem, dass ich habe, ist dass die database-Klasse
    in J!1.0.x in einer meiner Komponenten vererebt wird, allerdings
    in J!1.5 garnicht mehr existiert bzw. ich nicht weiß was ich
    in meine PHP-Komponenten-Dateien im Kopf einbinden muss,
    damit ich auf diese Klasse "database" Zugriff habe.

    Danke!!

    Liebe Grüße
    Soezkan

  6. #5
    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

    hmm, so genau weiß ich nicht was du meinst, aber den zugriff auf die db machst du so
    Zugriff auf das Datenbankobjekt
    1.0
    global $database;

    1.5
    $db = &JFactory::getDbo();

    aber ich denke, das wusstest du schon und löst nicht dein problem, oder?
    Gruß Sascha
    Viele kennen Google, aber nur wenige scheinen es zu nutzen Problem gelöst? | Joomla FAQ
    FF Springen

  7. Erhielt Danksagungen von:


  8. #6
    Kommt häufiger vorbei Avatar von soezkan
    Registriert seit
    09.02.2006
    Ort
    Berlin
    Beiträge
    292
    Bedankte sich
    63
    Erhielt 2 Danksagung
    in 1 Beitrag

    Standard

    Danke, dass wusste ich schon.

    Da muss ich wohl ne andere Lösung finden.

    Davon aber abgesehen, frage ich mich gerade wieso ich
    das $database-Object (aus $database = &JFactory::getDbo();) nicht per global in
    eine function übernehemen kann???

    PHP-Code:
    $database = &JFactory::getDbo();
    function 
    editThing$id$option ) {
        global 
    $database$myThing$redir_id$_GET;
        
    $row = new myThing$database );

        if(!empty(
    $redir_id)) {
            
    $row->load$redir_id );
        }
        else {
            
    $query "SELECT confer_id FROM my_confer WHERE confer_id = ".$id;

            
    $database->setQuery($query);
            
    $confer_row $myDatabase->loadRow();

            
    $row->load$confer_row[0] );
        }

        
    HTML_Thing::editThing$row$option );

    Für diesen Aufruf $database->setQuery($query); bringt er mir einen Error, nämlich:
    Fatal error: Call to a member function on a non-object ...

    Weil er das $database-Object irgendwie nicht an die Funktion
    übergibt.

    Danke für mehr Tipps!

  9. #7
    Neu an Board
    Registriert seit
    09.12.2007
    Ort
    Mainz
    Beiträge
    53
    Bedankte sich
    2
    Erhielt 20 Danksagungen
    in 20 Beiträgen

    Standard

    Hi soezkan.

    Zitat Zitat von soezkan Beitrag anzeigen
    [...] wieso ich
    das $database-Object (aus $database = &JFactory::getDbo();) nicht per global in
    eine function übernehemen kann???
    Das ist so, weil das Datenbankobjekt lediglich referenziert wird. JFactory prüft ab, ob das Framework-Objekt bereits existiert und liefert dann einen Zeiger darauf zurück. Dafür benutzt man das Ampersand bei der Instanzierung.

    PHP-Code:
    $database = &... <--- 
    Wenn Du Das Objekt also innerhalb einer Methode verwenden willst, dann musst Du es auch innerhalb derer refenzieren.

    PHP-Code:
    function editThing$id$option ) {
        global 
    $myThing$redir_id;
        
    $database = &JFactory::getDbo();
    [...] 
    Nebenbei:
    Der direkte Zugriff auf $_GET ist überhaupt nicht notwendig, zumal dieser Array gar nicht globalisiert werden müsste, da er sowieso eine PHP Magic-Global ist.

    Verwende dafür lieber das Framework. Das entsprechende Objekt heißt JRequest und kann statisch aufgerufen werden.

    PHP-Code:
    $myIntegerParam JRequest::getInt('myIntegerParam'); 
    Sehr hilfreich bei der täglichen Arbeit ist auch die Joomla Framework API.

    http://api.joomla.org/li_Joomla-Framework.html

    -uw

+ Antworten

Lesezeichen

Berechtigungen

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