Ergebnis 1 bis 6 von 6

Thema: Artikel kopieren

  1. #1
    Contao-Nutzer Avatar von kozi
    Registriert seit
    06.12.2010.
    Beiträge
    68

    Standard Artikel kopieren

    Ich möchte in einer Erweiterung von mir einen bestimmten Artikel kopieren.

    D.h. meine Erweiterung soll mit der ID eines Artikels den Artikel und die Inhaltselemente in eine andere Seite kopieren.
    Gibt es eine Methode, die diese Funktion bereitstellt, da diese Funktion ja im Backend vorhanden ist?

  2. #2
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Die von dir genannte Aktion wird im Backend durch aufrufen der DCA funktionen copy und paste erledigt. Will jedoch dazu dann Benutzerinteraktion.

    Einfacher geht es, wenn du die entsprechende Zeile aus tl_article duplizierst und anschliessend die childs aus tl_content ebenfalls duplizierst und denen die pid deiner Artikelkopie verpasst.
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  3. #3
    Contao-Nutzer Avatar von kozi
    Registriert seit
    06.12.2010.
    Beiträge
    68

    Standard

    Zitat Zitat von xtra Beitrag anzeigen
    Die von dir genannte Aktion wird im Backend durch aufrufen der DCA funktionen copy und paste erledigt. Will jedoch dazu dann Benutzerinteraktion.
    Wo findet das denn genau statt? Kann ich das nicht auch irgendwie programmatisch lösen?
    Zitat Zitat von xtra Beitrag anzeigen
    Einfacher geht es, wenn du die entsprechende Zeile aus tl_article duplizierst und anschliessend die childs aus tl_content ebenfalls duplizierst und denen die pid deiner Artikelkopie verpasst.
    Das habe ich mir auch schon überlegt. Allerdings dachte ich dass es evtl. mit den Systemfunktionen einfacher geht und man dann auch nichts vergisst, da die Funktionen natürlich schon getestet sind.

  4. #4
    Contao-Nutzer Avatar von kozi
    Registriert seit
    06.12.2010.
    Beiträge
    68

    Standard

    Zitat Zitat von xtra Beitrag anzeigen
    Einfacher geht es, wenn du die entsprechende Zeile aus tl_article duplizierst und anschliessend die childs aus tl_content ebenfalls duplizierst und denen die pid deiner Artikelkopie verpasst.
    Wie geht das genau? Gibt es die SQL-Statements irgendwo im Quelltext? Dann bräuchte ich die nicht selbst zusammenschrauben.

  5. #5
    Contao-Nutzer Avatar von kozi
    Registriert seit
    06.12.2010.
    Beiträge
    68

    Standard

    ContentElemente aus dem Artikel 119 in den Artikel 133 kopieren

    Code:
    CREATE TABLE temp_tl_content like tl_content;
    INSERT INTO temp_tl_content SELECT * FROM tl_content WHERE pid = '119';
    ALTER TABLE temp_tl_content CHANGE id id INT(10) UNSIGNED NULL;
    ALTER TABLE temp_tl_content DROP PRIMARY KEY;
    UPDATE temp_tl_content SET pid = 133, id = NULL WHERE 1;
    INSERT INTO tl_content SELECT * FROM temp_tl_content WHERE 1;
    Oder geht es viel einfacher?!?

  6. #6
    Contao-Nutzer Avatar von kozi
    Registriert seit
    06.12.2010.
    Beiträge
    68

    Standard

    Äh....so:
    Code:
    CREATE TEMPORARY TABLE temp_tl_content like tl_content;
    INSERT INTO temp_tl_content SELECT * FROM tl_content WHERE pid = '119';
    ALTER TABLE temp_tl_content CHANGE id id INT(10) UNSIGNED NULL;
    ALTER TABLE temp_tl_content DROP PRIMARY KEY;
    UPDATE temp_tl_content SET pid = 133, id = NULL WHERE 1;
    INSERT INTO tl_content SELECT * FROM temp_tl_content WHERE 1;
    DROP TEMPORARY TABLE temp_tl_content;

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
  •