Ergebnis 1 bis 11 von 11

Thema: [Gelöst] 3.0.x - Update von 2.10: Wo sind die Nachrichten hin?

  1. #1
    Contao-Nutzer Avatar von Scheuch
    Registriert seit
    21.06.2009.
    Beiträge
    26

    Daumen hoch [Gelöst] 3.0.x - Update von 2.10: Wo sind die Nachrichten hin?

    Hallo zusammen,

    nach der Aktualisierung fiel mir die Änderungen beim Nachrichten-Modul auf. Finde ich prinzipiell großartig, doch leider fehlen mir nun bei meinen Nachrichten alle Texte, da nur die Teaser übrig sind. Die Nachrichten selbst enthalten keine Unterelemente.
    Wie bekomme ich die wieder angezeigt?
    Geändert von Scheuch (12.01.2013 um 12:17 Uhr)
    Beste Grüße
    Benny
    Do your work, then step back. The only path to serenity.

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.518
    User beschenken
    Wunschliste

    Standard

    Manuelles Update? install.php aufgerufen und Migrationen durchgeführt?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Nutzer Avatar von Scheuch
    Registriert seit
    21.06.2009.
    Beiträge
    26

    Standard

    Es wurde ein erfolgreiches Live-Update durchgeführt. Die Datenbankmigration ebenso, die DB ist aktuell bis 3 vor Jahren von mir ergänzte Spalten in der user-Tabelle.
    In welcher Tabelle sollten denn die alten news-Einträge jetzt liegen? Ich kann die in der DB nicht mehr finden ...
    Beste Grüße
    Benny
    Do your work, then step back. The only path to serenity.

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.518
    User beschenken
    Wunschliste

    Standard

    Code:
    SELECT * FROM `tl_content` WHERE `ptable`='tl_news'
    Das sollten sie sein. Die News bestehen ja nun aus Content Elementen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Nutzer Avatar von Scheuch
    Registriert seit
    21.06.2009.
    Beiträge
    26

    Standard

    Danke, leider nur ein Eintrag ... eine neue Nachricht, die ich nach dem Update auf 3.0 erstellt habe. Alle anderen sind weg
    Beste Grüße
    Benny
    Do your work, then step back. The only path to serenity.

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.518
    User beschenken
    Wunschliste

    Standard

    Dann lief irgendwas schief beim Update bzw. bei der Migration.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  7. #7
    Contao-Nutzer Avatar von Scheuch
    Registriert seit
    21.06.2009.
    Beiträge
    26

    Standard

    Hast du einen Lösungsvorschlag? Also z.B. Tabelle tl_news durch backup überschreiben und Datenbanktool nochmal drüber lassen? Wären dabei weitere Tabellen notwendig, die auf einen alten Stand zurückgesetzt werden müssen?
    Beste Grüße
    Benny
    Do your work, then step back. The only path to serenity.

  8. #8
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.518
    User beschenken
    Wunschliste

    Standard

    Das wird nicht gehen, da das Install erkennt, dass das Update bereits erfolgt ist.
    Das DB Update macht folgendes für News und Events
    PHP-Code:
    // Add the "ptable" field (gibt es bei dir schon)
    $this->Database->query("ALTER TABLE `tl_content` ADD ptable varchar(64) NOT NULL default ''");

    // Create a content element for each news article
    $objNews $this->Database->execute("SELECT * FROM tl_news WHERE text!='' AND source='default'");

    while (
    $objNews->next())
    {
        
    $this->createContentElement($objNews'tl_news''text');
    }

    // Create a content element for each event
    $objEvents $this->Database->execute("SELECT * FROM tl_calendar_events WHERE details!='' AND source='default'");

    while (
    $objEvents->next())
    {
        
    $this->createContentElement($objEvents'tl_calendar_events''details');
    }

    /**
    * Create a content element
    *
    * @param \Database\Result $objElement A database result object
    * @param string $strPtable The name of the parent table
    * @param string $strField The name of the text column
    */
    protected function createContentElement(\Database\Result $objElement$strPtable$strField)
    {
      
    $set = array
      (
      
    'pid' => $objElement->id,
      
    'ptable' => $strPtable,
      
    'sorting' => 128,
      
    'tstamp' => $objElement->tstamp,
      
    'type' => 'text',
      
    'text' => $objElement->$strField,
      
    'addImage' => $objElement->addImage,
      
    'singleSRC' => $objElement->singleSRC,
      
    'alt' => $objElement->alt,
      
    'size' => $objElement->size,
      
    'imagemargin' => $objElement->imagemargin,
      
    'imageUrl' => $objElement->imageUrl,
      
    'fullsize' => $objElement->fullsize,
      
    'caption' => $objElement->caption,
      
    'floating' => $objElement->floating
      
    );

      
    $this->Database->prepare("INSERT INTO tl_content %s")->set($set)->execute();

    Du könntest also t_news wieder herstellen, und mit ein bischen PHP und Contao Wissen dir daraus eine eigene Migration basteln.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  9. #9
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Hi.

    Ich hab mal eine kurze Zwischenfrage.
    Vor kurzem hatte schonmal jemand so ein Problem, wenn ich mich recht erinnere...

    Grundsätzlich werden Nachrichten beim Update aus dem Coremodul Version 2 in das neue überarbeitete Modul der Version 3 übernommen, richtig? Es hat nur hier speziell irgendwie nicht geklappt?

    Wäre schon gut zu wissen.

    Gruß
    Thomas
    blucomp | Webdesign & Onlinelösungen

  10. #10
    Contao-Nutzer Avatar von Scheuch
    Registriert seit
    21.06.2009.
    Beiträge
    26

    Standard

    @Bugbuster
    Danke, dann werde ich das mal versuchen. Solange die Objektinformation alle korrekt wiederverwendet werden können, sollte es mit einem kleinen Script ja getan sein.
    Beste Grüße
    Benny
    Do your work, then step back. The only path to serenity.

  11. #11
    Contao-Nutzer Avatar von Scheuch
    Registriert seit
    21.06.2009.
    Beiträge
    26

    Standard

    So, nun habe ich meine Nachrichten wieder!
    Danke noch mal an BugBuster für den Hinweis mit dem Updater.

    Hier ist der Code, falls noch jemand mal auf dieses Problem stößt:

    PHP-Code:
    <?php
    $this
    ->import('Database'); 
    $objNews $this->Database->execute("SELECT * FROM temp_tl_news_old WHERE text!='' AND source='default'");

    $i=0;
    while (
    $objNews->next())
    {
        
    //Zaehler zur Kontrolle
        
    echo ++$i."<br />";
        
        
    //Text-Elemente aufbereiten
        
    $set = array
          (
          
    'pid' => $objNews->id,
          
    'ptable' => 'tl_news',
          
    'sorting' => 128,
          
    'tstamp' => $objNews->tstamp,
          
    'type' => 'text',
          
    'text' => $objNews->text,
          
    'addImage' => $objNews->addImage,
          
    'singleSRC' => $objNews->singleSRC,
          
    'alt' => $objNews->alt,
          
    'size' => $objNews->size,
          
    'imagemargin' => $objNews->imagemargin,
          
    'imageUrl' => $objNews->imageUrl,
          
    'fullsize' => $objNews->fullsize,
          
    'caption' => $objNews->caption,
          
    'floating' => $objNews->floating
          
    );

        
    $this->Database->prepare("INSERT INTO tl_content %s")->set($set)->execute();
    }
    ?>
    Der Tabellenname "temp_tl_news_old" ist dann die händisch angelegt Tabelle mit den alten tl_news-Einträgen aus dem (hoffentlich vorhandenem) Backup der Datenbank - diese temporäre Tabelle kann nach Abschluss der Arbeiten gelöscht werden.
    Den Code dann einfach in eine php-Datei packen, in den templates-Ordner laden und diese auf einer Seite in Contao via {{file::datei.php}} einbinden.
    Vorsicht: Diese Seite dann nicht mehrmals aufrufen, sonst hat man die Einträge, doppelt, dreifach ... n-fach in tl_content!
    Geändert von Scheuch (12.01.2013 um 12:19 Uhr)
    Beste Grüße
    Benny
    Do your work, then step back. The only path to serenity.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

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