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

 
Reply to this topicStart new topic
> Modulerstellung mit externen Daten
FireFlyer
Beitrag Sat. 10. April 2010, 16:25
Beitrag #1


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 446
Mitglied seit: 12.09.2006
Wohnort: Bamberg
Mitglieds-Nr.: 235



Hallo,
ich habe angefangen ein Modul zu schreiben, welches den JW-Player einbindet. Klappt auch schon, aber ich bräuchte Hilfe in zwei Punkten:

- ich muss Daten für den Player auf den Server speichern (JS, CSS und Player-Dateien) Wo sollten diese am besten untergebracht werden?
- ich habe eine Verzeichnis und Dateiauswahl im Modul integriert. Bei der Ausgabe dieser Variablen bekomme ich die ID des Ordners, bzw. der Datei zurück. Gibt es hierfür schon eine Funktion, damit ich die beiden zu PFAD/DATEI zusammenführen kann und an das Skript übergeben kann?

Go to the top of the page
 
+Quote Post
mvsxyz
Beitrag Sat. 10. April 2010, 17:13
Beitrag #2


Advanced Member
********

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



1. Bisher wurde es meines Wissens immer so gehandhabt, dass das Modul (cmsmod-Datei) mit den externen Ressourcen als ZIP zum Download angeboten wird. Diese Ressourcen kannst du dann so aufteilen:

/cms/mod/jwplayer/
/cms/css/
/cms/js/

Alternativ kannst du auch die CSS- und JS-Dateien im Modulverzeichnis unterbringen.

2. Dafür gibt es die API-Klasse DbFile, die du wie folgt benutzen kannst:

QUELLTEXT
$_sf_file =& sf_factoryGetObjectCache('ASSETS', 'DbFile');
$_sf_file->loadByIdupl(<DEINE_IDUPL>);
$_sf_file->getHttppathRelative();
// oder
// $_sf_file->getHttpDirpathRelative().$_sf_file->getFilename();
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag Sat. 10. April 2010, 17:53
Beitrag #3


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 446
Mitglied seit: 12.09.2006
Wohnort: Bamberg
Mitglieds-Nr.: 235



Danke für die flotte Antwort. Werd mich zwar nicht mehr heute drüber machen, aber wenn der Geburtstag heute nicht zu heftig wird, dann werde ich morgen dran schrauben!
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag Sun. 11. April 2010, 15:18
Beitrag #4


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 446
Mitglied seit: 12.09.2006
Wohnort: Bamberg
Mitglieds-Nr.: 235



Bekomm das leider nicht gebacken mit der API, kannst mir weng helfen?

Fehler:
Fatal error: Call to a member function getHttpDirpathRelative() on a non-object

QUELLTEXT
<CMSPHP>
$width=MOD_VALUE[10];
$height=MOD_VALUE[15];
$path=MOD_VALUE[30];
$file=MOD_VALUE[35];

echo "PFAD-ID: ".$path."<br/>";
echo "DATEI-ID: ".$file;

//$_sf_file->getHttpDirpathRelative(5);
//$_sf_file->getFilename($file);

$_sf_file->getHttpDirpathRelative(5);

print_r($_sf_file);

$myTplVars['player'] = '{player}';

$myPlayer['player'] = "PLAYER-VARIABLEN sind hier";

$myTpl = "MOD_VALUE[5]";
$myTpl = str_replace($myTplVars, $myPlayer, $myTpl);

echo $myTpl;

</CMSPHP>
Go to the top of the page
 
+Quote Post
mvsxyz
Beitrag Sun. 11. April 2010, 18:04
Beitrag #5


Advanced Member
********

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



Du hast den Aufruf aus meinem Beispiel nicht korrekt übernommen. Schau dir bitte das Beispiel nochmal an und vergleiche deine Zeilen wie du $_sf_file initialisierst und verwendest.
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag Sun. 11. April 2010, 18:54
Beitrag #6


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 446
Mitglied seit: 12.09.2006
Wohnort: Bamberg
Mitglieds-Nr.: 235



OK, da hatte ich vor lauter weiter testen einen Bock drin. Hast auf jeden Fall recht, dass es klappt. Nun werden mir anscheinend alle Objekte zu dieser Datei angezeigt!

Auszug daraus:
QUELLTEXT
[filename] => video.flv, usw.


Wie kann ich jetzt nur das eine Objekt [httppath_absolute] ausgeben oder in eine Variable zur Weiterverarbeitung schreiben?

Erklär mir bitte deinen Code:
QUELLTEXT
$_sf_file =& sf_factoryGetObjectCache('ASSETS', 'DbFile');     Initialisierung?
$_sf_file->loadByIdupl(<DEINE_IDUPL>);      auf die bestimmte Datei und deren Objekte zugreifen?
$_sf_file->getHttppathRelative();      hier sollte nur der relative Pfad ausgeben werden?

Go to the top of the page
 
+Quote Post
Guest_bkm_*
Beitrag Sun. 11. April 2010, 19:38
Beitrag #7





Guests






echo $_sf_file->getHttppathRelative();
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag Sun. 11. April 2010, 23:01
Beitrag #8


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 446
Mitglied seit: 12.09.2006
Wohnort: Bamberg
Mitglieds-Nr.: 235



Danke bkm das klappt so!

Kann mir trotzdem jemand meine Vermutung aus der Code-Box bestätigen oder berichtigen. Muss ja was draus lernen! wink.gif
Go to the top of the page
 
+Quote Post
mvsxyz
Beitrag Mon. 12. April 2010, 09:44
Beitrag #9


Advanced Member
********

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



QUELLTEXT
// Deklaration der Variable $_sf_file und Initialisierung mit dem API-Objekt DbFile
$_sf_file =& sf_factoryGetObjectCache('ASSETS', 'DbFile');

// Laden der Datei mit der IDUPL aus der Datenbank -> Variable $_sf_file ist folglich mit den Daten der (einen) Datei belegt
$_sf_file->loadByIdupl(<DEINE_IDUPL>);

// Baut den relativen Pfad aus dem Pfad und Dateinamen zusammen und gibt dieses mit return zurück -> kann in Variable gespeichert oder mit echo ausgegeben werden
$_sf_file->getHttppathRelative();
Go to the top of the page
 
+Quote Post
Guest_bkm_*
Beitrag Tue. 13. April 2010, 18:17
Beitrag #10





Guests






ZITAT(bkm @ Sun. 11. April 2010, 20:38) *
echo $_sf_file->getHttppathRelative();

Vielleicht langt auch schon in Deinem Fall getHttppathAbsolute ohne es erst wieder neu zubauen.
Go to the top of the page
 
+Quote Post
FireFlyer
Beitrag Tue. 13. April 2010, 20:01
Beitrag #11


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 446
Mitglied seit: 12.09.2006
Wohnort: Bamberg
Mitglieds-Nr.: 235



Kann sein, aber never change a running Sefrengo Modul smile.gif

Muss ich mal probieren, bin froh, dass es so schon geklappt hat. Jetzt warte ich erst mal auf Feedback zum Modul.

Danke für die stetige Unterstützung!!!
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: 4.4.20 - 10:28

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