Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> ContentAPI v00.01.00, API Zugriff auf den Inhalt aller Seiten
mistral
Beitrag Wed. 29. August 2007, 23:19
Beitrag #1


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 343
Mitglied seit: 26.06.2006
Wohnort: CH
Mitglieds-Nr.: 5



Hallo zusammen

Die Folgende API-Erweiterung bietet die Möglichkeit auf allen Inhalt (der cms_content-Tabelle) zuzugreifen.
Der Inhalt kann mit der Hilfe der ConentSylerAPI analog der cms:tags ausgegeben werden.

Diese API besteht aus folgenden Klassen:
  • \backend\API\PAGE\class.SF_PAGE_ContentCollection.php
  • \backend\API\GUI\class.SF_GUI_ContentStylerHTML.php
  • \backend\API\GUI\class.SF_GUI_ContentStylerPlain.php

Diese API wird für einige Module benötigt und wird in erweiterter Form in zukünftigen Version von Sefrengo enthalten sein.

Diese ContentAPI ist ein Alpha-Version. Bis zur offiziellen Integration in das Core sind noch Änderungen an der API Schnittstelle möglich.
Die Dateien müssen in das Verzeichnis backend/API/... (PAGE/GUI) kopiert werden.

Gruss
Mistral


Angehängte Datei(en)
Angehängte Datei  ContentAPI_v00_01_00.zip ( 10.63KB ) Anzahl der Downloads: 155
 


--------------------
So einfach wie möglich, aber nicht einfacher!
(Albert Einstein)
Go to the top of the page
 
+Quote Post
mvsxyz
Beitrag Thu. 30. August 2007, 09:16
Beitrag #2


Advanced Member
********

Gruppe: Admins
Beiträge: 507
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 11



Hallo Mistral,
kannst du bitte kurz beschreiben, wie man auf diesen Teil der API zugreift und Content aus der Tabelle holt? Das würde schon weiterhelfen. smile.gif
Danke.

Der Beitrag wurde von mvsxyz bearbeitet: Thu. 30. August 2007, 09:16
Go to the top of the page
 
+Quote Post
mistral
Beitrag Thu. 30. August 2007, 13:48
Beitrag #3


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 343
Mitglied seit: 26.06.2006
Wohnort: CH
Mitglieds-Nr.: 5



Ein gewisser Teil ist bei den verschiedenen Metoden beschrieben.
Hier ein kurzes Beispiel der Anwendung:

QUELLTEXT
// Object erzeugen
$_sf_content =& sf_factoryGetObjectCache('PAGE', 'ContentCollection');
// Styler definieren wenn die Ausgabe wie im Core gewünscht wird.
// Wenn kein spezifischer Styler definiert ist erfolgt die Ausgabe des Inhalts immer so wie die Daten in der DB stehen.
$_sf_content->setStyler('ContentStylerHTML');
// Seite von welcher der Inhalt geladen werden soll
$_sf_content->setIdside($modtemp['idside']);
// Container von welchem der Inhalt geladen werden soll;
// Wenn keine Container angegeben wird, werden alle Inhalte der Seite geladen und
// der entsprechden Container muss in der get-Funktion angegeben werden.
$_sf_content->setContainer($modtemp['container']);
// Daten aus der DB laden
$_sf_content->generate();

// Ausgabe der Daten.
// Hier von id=2 und der ersten Wiederholung der textarea.
echo $_sf_content->getTextarea('',2,1);

// Im ersten Parameter können die Möglichkeiten der cms:tags als Array verwendet werden.
// Allgemein: array('Parameter1'=>'Wert1', 'Parameter2'=>'Wert2');
// Ausgabe der Bildbeschreibung von der id=3 und der ersten Wiederholung des Bildes
$config['mode'] = 'desc';
echo $_sf_content->getImagea($config,3,1);

// Ausgabe vom Url des Links von der id=3 und der ersten Wiederholung des Bildes
$config['mode'] = 'url';
echo $_sf_content->getImagea($config,3,1);


Reicht Dir das für den Anfang?

Gruss
Mistral

Der Beitrag wurde von mistral bearbeitet: Thu. 30. August 2007, 23:05


--------------------
So einfach wie möglich, aber nicht einfacher!
(Albert Einstein)
Go to the top of the page
 
+Quote Post
mvsxyz
Beitrag Thu. 30. August 2007, 20:29
Beitrag #4


Advanced Member
********

Gruppe: Admins
Beiträge: 507
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 11



Ja, danke. Wenn ich weitere Fragen habe, dann werde ich melden.
Go to the top of the page
 
+Quote Post
monkderhonk
Beitrag Sat. 2. February 2008, 19:55
Beitrag #5


Member
**

Gruppe: Members
Beiträge: 48
Mitglied seit: 28.10.2007
Mitglieds-Nr.: 1.203



kann ich damit auch content ändern?
lg, monk
Go to the top of the page
 
+Quote Post
mistral
Beitrag Sat. 9. February 2008, 15:19
Beitrag #6


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 343
Mitglied seit: 26.06.2006
Wohnort: CH
Mitglieds-Nr.: 5



nein


--------------------
So einfach wie möglich, aber nicht einfacher!
(Albert Einstein)
Go to the top of the page
 
+Quote Post
eSynth
Beitrag Mon. 2. June 2008, 14:47
Beitrag #7


Member
**

Gruppe: Members
Beiträge: 20
Mitglied seit: 20.09.2007
Mitglieds-Nr.: 1.129



Hey,

hat sich in der Entwicklung noch was Neues getan? Ich verzweifle langsam wacko.gif

Ich muss nämlich aus einem externen Script Datenfelder aus Sefrengo auslesen und umformatiert darstellen. Über den rohen Datenzugriff über MySQL wird man ja wahnsinnig.

Gruß
Go to the top of the page
 
+Quote Post
mistral
Beitrag Mon. 2. June 2008, 17:38
Beitrag #8


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 343
Mitglied seit: 26.06.2006
Wohnort: CH
Mitglieds-Nr.: 5



ZITAT(eSynth @ Mon. 2. June 2008, 15:47) *
Hey,

hat sich in der Entwicklung noch was Neues getan? Ich verzweifle langsam wacko.gif

Ich muss nämlich aus einem externen Script Datenfelder aus Sefrengo auslesen und umformatiert darstellen. Über den rohen Datenzugriff über MySQL wird man ja wahnsinnig.

Gruß

welche Funktionen fehlen Dir, damit du dies nicht mit den vorhanden Funktionen der ContentAPI machen kannst?


--------------------
So einfach wie möglich, aber nicht einfacher!
(Albert Einstein)
Go to the top of the page
 
+Quote Post
andi
Beitrag Tue. 8. July 2008, 17:13
Beitrag #9


purist
********

Gruppe: AdvancedMembers
Beiträge: 1.525
Mitglied seit: 30.06.2006
Wohnort: luzern (schweiz)
Mitglieds-Nr.: 16



schön wäre es noch, in der datei class.SF_GUI_ContentStylerHTML.php das border in zeile 429 zu entfernen:

QUELLTEXT
// Ausgabe image - Frontend
        $mod = sprintf("<img src=\"$mod_url\"%s%s%s ". $css['fullstyle'] ." border=\"0\" />", ($mod_descr != '') ? ' alt="'.$mod_descr.'" title="'.$mod_descr.'"' : " alt=\"\"", ($pic_width) ? ' width="'.$pic_width.'"' : '', ($pic_height) ? ' height="'.$pic_height.'"' : '');
        return $mod;


gruss andi


--------------------
Go to the top of the page
 
+Quote Post
gunwalt
Beitrag Wed. 20. August 2008, 16:11
Beitrag #10


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 1.126
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 7



Sollte dieser Threads nicht ins Archiv? Die Features sind doch in der 1.41 enthalten.


--------------------
------
Ich gehe spazieren durch Gelsenkirchen
Go to the top of the page
 
+Quote Post
andi
Beitrag Wed. 20. August 2008, 18:29
Beitrag #11


purist
********

Gruppe: AdvancedMembers
Beiträge: 1.525
Mitglied seit: 30.06.2006
Wohnort: luzern (schweiz)
Mitglieds-Nr.: 16



mh, finde ich nicht. schliesslich arbeitet noch lange nicht jeder mit 1.4.1. wenn, dann eine bereinigte version, sofern das nötig ist, veröffentlichen.

gruss andi


--------------------
Go to the top of the page
 
+Quote Post
Taturo
Beitrag Mon. 24. November 2008, 23:07
Beitrag #12


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 328
Mitglied seit: 29.08.2006
Wohnort: Konstanz / Bodensee
Mitglieds-Nr.: 216



Hallo,
ich habe mal eine Verständnisfrage zur ContentAPI, da meine php Kenntnisse eher mau sind. Die Formatierung des Output wird ja über die Classes ContentStylerHTML, ContentStylerPlain etc geregelt. In den Modulen, die die ContentAPI verwenden, ist der Styler meist angegeben, wenn nicht, wird der Text so übernommen, wie er in der Datenbank steht.
Ich hoffe, das habe ich soweit richtig verstanden.

Ich habe jetzt den ContentStylerHTML so modifiziert, dass der Text des wysiwyg ohne Formatierung ausgegeben wird. Das macht natürlich auf Dauer wenig Sinn, weil ContentStylerHTML von mehreren Modulen genutzt wird, die dann nicht mehr richtig funktionieren.

Ich hatte gehofft, ich kann die modifizierte Class einfach unter einem anderen Namen abspeichern und im gewünschten Modul auf diese verweisen, aber das geht nicht, da gibts eine Fehlermeldung.

Muss ich die neue Class noch irgendwo anders eintragen oder bin ich total auf dem Holzweg und meine Herangehensweise ist grundsätzlich falsch?

Gruss,
Andreas
Go to the top of the page
 
+Quote Post
Guest_bkm_*
Beitrag Tue. 25. November 2008, 10:38
Beitrag #13





Guests






ich habe da keine fm, wenn du deine neue klasse in der api=>gui ablegst.
dieser dann natürlich einen anderen namen gibst und im modul setzt.

ZITAT
$_sf_content->setStyler('ContentStylerPDF');
Go to the top of the page
 
+Quote Post
Taturo
Beitrag Tue. 25. November 2008, 12:32
Beitrag #14


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 328
Mitglied seit: 29.08.2006
Wohnort: Konstanz / Bodensee
Mitglieds-Nr.: 216



Hallo bkm,

habe es gerade nochmal probiert: wenn ich die class.SF_GUI_ContentStylerHTML.php umbenenne in class.SF_GUI_ContentStylerTEXT.php und im Modul mit dem neuen Namen verbinde kommt
QUELLTEXT
Fatal error: Cannot instantiate non-existent class: sf_gui_contentstylertext in /homepages/1/d66620245/htdocs/backend/API/API/class.SF_API_ObjectFactory.php(322) : eval()'d code on line 1


Die FM bezieht sich wohl hier drauf
QUELLTEXT
function SF_API_ObjectFactory($api_path, &$object_store) {
        $this->api_path = $api_path;
        $this->object_store = &$object_store;
    }
Go to the top of the page
 
+Quote Post
Guest_bkm_*
Beitrag Tue. 25. November 2008, 12:44
Beitrag #15





Guests






wie oben schon geschrieben, benutze auch extra klassen und habe die fm nicht.
vll. hängste deine class.SF_GUI_ContentStylerTEXT.php mal hier an <<das mal jemand schauen kann>>
ob der fehler vll. auch bei ihm kommt.
Go to the top of the page
 
+Quote Post
saschapi
Beitrag Fri. 7. August 2009, 16:56
Beitrag #16


Advanced Member
********

Gruppe: Moderators
Beiträge: 911
Mitglied seit: 26.06.2006
Wohnort: Essen; Ruhrgebiet
Mitglieds-Nr.: 4



Wenn ich mir eine URL von einem Image mit der ContentAPI heraushole bekomme ich immer die interne CMS kurzversion. Wenn ich <?php ?> nutze geht das natürlich, weil dann das ganze gechached wird. Aber ich möchte gerne <CMSPHP> </CMSPHP> nutzen um auch änderungen immer direkt am Start zu haben.

Gibt es eine Möglichkeit, dass mir nicht cms://idfile=5 sondern direkt die URL ausgegeben wird? Oder kann ich aus der CMS URL irgendwie die URL machen?

LG Sascha


--------------------
Go to the top of the page
 
+Quote Post
saschapi
Beitrag Sun. 9. August 2009, 10:46
Beitrag #17


Advanced Member
********

Gruppe: Moderators
Beiträge: 911
Mitglied seit: 26.06.2006
Wohnort: Essen; Ruhrgebiet
Mitglieds-Nr.: 4



Stelle gerade fest, dass andere dieses Problem auch schon hatte: Thread

Wie gesagt, wenn das Php gecached wird gehts, dann bekommt man aber halt nicht alle Veränderungen mit sad.gif

EDIT: Alles klar mit "$_sf_content->setStyler('ContentStylerHTML');" gehts smile.gif Supi!


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 28.3.24 - 09:19

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.