API Klasse Article erweitern um Methode setContent

Ideen für neue Funktionen in CONTENIDO?
Antworten
knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

API Klasse Article erweitern um Methode setContent

Beitrag von knb » Do 14. Jun 2007, 13:36

Bisher kann ich ja sowas schreiben um auf das HTML eines Artikels zuzugreifen.

Code: Alles auswählen

$art = new Article($selart, $client, $lang);
$aid = $art -> getField("idart");
$atitle = $art -> getField("title");
$aheadline = $art -> getContent("CMS_HEAD", 1);
$acontent = $art -> getContent("CMS_HTML", 1); 
...
Um den Content zu ändern bzw in die DB zurückschreiben zu können fehlt mir eine Methode setContent(). So ungefähr:

Code: Alles auswählen

$art -> setContent("CMS_HTML", 1, $acontent . " blah-blah-blah"); 
Diese Methode bitte irgendwann hinzufügen, auch wenn es nur ein simpler Wrapper für die Funktion conSaveContentEntry() ist . (Mir schwebt gerade vor, den Inhalt mit dieser Funktion zu setzen- mal sehen ob das klappt. )
Gruss,
Knut

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 14. Jun 2007, 17:04

meinst du so ?

Code: Alles auswählen

    function setContent($type, $id, $value)
    {
        if ($type == '' || $id == '')
        {
            return false;
        }

        $type = strtolower($type);
        if (!strstr($type, 'cms_'))
        {
             $type = 'cms_' . $type;
        }

        conSaveContentEntry($this->get('idartlang'), $type, $id, $value);
        return true;
    }
ist nicht getestet...
*** make your own tools (wishlist :: thx)

knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb » Fr 15. Jun 2007, 11:06

ja, genau so. Nur wenn ich es selbst implementiere, dann muss ich mir überlegen ob
  • - ich die Originalklasse in contenido subdir aufbohre und diesen Code hinzufüge (riskant , könnte bugs einführen die alle Nutzer betreffen)
    - ich eine eigene Artikelklasse von Article ableite (wenn ja, wie nennen? wo ablegen - ContenidoVerz. oder Mandantenverz. ?)
    - etc
Wär gut wenn die Methode in der nächsten Version (wenn's denn eine geben sollte) mit dabei wäre . Schwierig zu implementieren ist sie ja augenscheinlich nicht.
In Web 2.0 Zeiten besteht wohl in Zukunft verstärkt das Bedürfnis, dynamisch zusammengestellte Inhalte als Artikel abzulegen. Bei uns soll dies ein Contenido-basiertes Script übernehmen, das dann von privilegierten Redakteuren oder sogar Cronjobs aufgerufen werden kann.
Gruss,
Knut

knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb » Fr 15. Jun 2007, 11:39

Nachtrag: Ich sehe gerade dass der Klassendesigner eine ähnliche Methode Article->store() statt setContent($type, $id, $value) vorgesehen hatte. Im Quellcode steht dazu allerdings:

Article::store ( )

Store -DISABLED-

This Article Object is READ ONLY


Warum und wieso, steht allerdings nicht dabei.

Schien auch mal "enabled" gewesen zu sein.
Gruss,
Knut

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 15. Jun 2007, 16:37

Die Funktion wurde sicherheitshalber (und vermutlich auch wegen Aufwand) deaktiviert.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Antworten