Contenido Classe in eine eigene einbinden

Gesperrt
Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Contenido Classe in eine eigene einbinden

Beitrag von Tom Quenten »

Halli Hallo,

als erstes muss ich mich mal bei einigen Usern entschuldigen, das ich so lange nicht auf Ihre Post reagiert habe. (media-konzept,bluefin,donner_blitz,der_allgaeuer) Ich war immer der Meinung die Mails werden weitergeleitet, da ich hier nur selten angemeldet bin. Wenn Ihr die Probleme mit dem Artikelmodul (Spalten nebeneinander) noch habt, so meldet euch einfach per E-Mail bei mir.

So, nun zu einer anderen Sache. Ich habe mittlerweile mehrere Contenido Seiten am laufen und bin nach wie vor hellauf begeistert. Nun möchte ich für diverse Verknüpfungen von verschiedenen Projekten eine EIGENE Classe entwickeln. Soweit so gut, läuft ja auch schon. Aber ich möchte nun auch die Classe DB_Contenido einbinden....um auf die Datenbankfunktionen zugreifen zu können...und genau da liegt der Hase begraben. Ich bekomme es einfach nicht hin, habe schon verschieden Objekt Funktionen angewandt um herauszubekommen wo diese verflixte Klasse eigentlich liegt. Ohne Erfolg. Ich muss zugeben Klassen sind für mich jetzt noch relativ neu, aber die kleinen Erfolge haben mich schon motiviert, daher will ich das auch unbedingt weiterverfolgen. Aber hier brauche ich echt mal einen Hinweis.



Beste Grüsse
tomquenten

P.S.
In Kürze werden dann auf meiner Website alle von mir (weiter)-entwickelten Module zum Download angeboten. Es werden auch welche dabei sein um Daten zwischen XT-Xommerce und Contenido auszutauschen....feine Sache kann ich da nur sagen. :-)
Wer fragt, ist ein Narr für fünf Minuten.
Wer nicht fragt, bleibt es für immer.

Handy doof? Tarif doof? Rechnung zu hoch?
Unter www.cottbushandy.de wird dir sicher geholfen!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ist eigentlich ganz einfach. Die erste Zeile Deiner Klassendatei lautet cInclude("classes", "class.genericdb.php"); und die erste Zeile der neuen Klasse (Collection):

Code: Alles auswählen

class cYourItemCollection extends ItemCollection {
...
}
Ein einzelnes Item ist:

Code: Alles auswählen

class cYourItem extends Item {
...
}
Was im Konstruktor zu definieren ist, kannst Du z.B. der class.newsletter.php entnehmen (evtl. nur in V4.6.x enthalten).

Grundsätzlich würde ich Dir empfehlen, zur V4.6.8.5 and beyond zu schwenken, da sich gerade dort sehr viel getan hat (ich kann mich noch nicht mal erinner, ob es ein cInclude in V4.4.x gab..., nun ja).

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
Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten »

Hallo HerrB

da habe ich mich wohl etwas unglücklich ausgedrückt. Ich habe schon eine Klasse fertig geschrieben, will die nun erweitern um die in Contenido üblichen Funktionen. Also muss ich in die bestehende Klasse noch eine zusätzlich (Contenido) Klasse einbinden. Das dies mit include zu realisieren geht ist mir klar, aber in welchem Pfad die liegt bzw. wie diese eigentlich heißt....das wußte ich echt nicht. Aber Du hast mir da einen Tip gegeben, habe diese jetzt auch gefunden. Wußte nicht das das die class.genericdb.php ist, die ich suche. Habe bisher immer nach DB_contenido gesucht.

Die V4.6.8.5 teste ich schon auf einem anderen Projekt, wenn ich dort alle meine eigenen Module zum laufen geracht habe, dann werde ich sicher auch wechseln...bis dahin heißt es aber dann doch noch...never change a running system. :D

Vielen Dank! Jetzt kanns ja endlich weitergehen... :-)



Beste Grüsse
tomquenten
Wer fragt, ist ein Narr für fünf Minuten.
Wer nicht fragt, bleibt es für immer.

Handy doof? Tarif doof? Rechnung zu hoch?
Unter www.cottbushandy.de wird dir sicher geholfen!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Na ja, wobei die genericdb die Item bzw. ItemCollection-Klasse zur Verfügung stellt.

DB_Contenido ist ein Objekt aus der conlib (und hat insofern nix mit der genericdb zu tun).

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
Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten »

Mhh...das habeich uch gemerkt....irgendwie komme ich nicht weiter. Nun um es mal zu veranschaulichen....

Code: Alles auswählen

<?php

/* -----------------------------------------------------------------------------------------
   Optionsberechnung für den Shop PHP Classe
   written by Andre Domaschke
   Version 1.0  2006-08-03-001
   -----------------------------------------------------------------------------------------
   based on:
   (c) 2006
   ---------------------------------------------------------------------------------------*/

class ap {

	/***** binde die classe ap ein *****/
 	require_once('../tlcc.admin/application/contenido/classes/class.genericdb.php');
	$db		= new DB_Contenido;
	
	####################################################################################################
	// eintragen eines sortierfähigen datums in die hardwaredatenbank
	####################################################################################################
	function write_sort_date(){
		$sql	=		"		SELECT		dh.export_vom,
											dh.export_vom_z,
											dh.artikelnr
								FROM   	dat_hardware AS dh
								WHERE		dh.export_vom_z = ''
								OR			dh.export_vom_z is NULL
						";
		$db->query($sql);
		while ($db->next_record()){
			$artikel = $db->f(artikelnr);
			//zerlegen des datum in seine bestandteile
			$date = explode(".", $db->f(export_vom));
			//zerlegen der uhrzeit in seine bestandteile
			$time = explode(" ", $date[2]);
			//zusammenfügen der bestandteile zum sortierfähigen datum
			$export_vom_z = $time[0]."-".$date[1]."-".$date[0]." ".$time[1];
			//eintragen des export_vom_z
			$sql	=		"
								UPDATE		dat_hardware AS dh
								SET			dh.export_vom_z = '$export_vom_z'
								WHERE		dh.artikelnr = '$artikel'
							";
			$db->query($sql);
		}
	}

}
?>
Ich war der meinung so sollte es funktionieren, ich habe also eine eigene Klasse erstellt. In dieser Klasse möchte ich dann zusätzlich auf die Funktionen und Methoden der DB_Contenido zugreife....genau da hakt es. Was muss ich denn alles includen damit mir die Funktionen und Methoden in meiner Klasse zur Verfügung stehen.

Immerhin....ich glaube schon zu erkennen woran es liegt. Das Objekt DB_Contenido muss ja irgendwo mal die Konfigurationsdaten einlesen, also sqluser, sqlpasswort etc., das macht ja nicht meine Klasse. Lieg ich da zumindest schon mal richtig? *schulter zuck*



Beste Grüsse
tomquenten
Wer fragt, ist ein Narr für fünf Minuten.
Wer nicht fragt, bleibt es für immer.

Handy doof? Tarif doof? Rechnung zu hoch?
Unter www.cottbushandy.de wird dir sicher geholfen!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Das Objekt DB_Contenido muss ja irgendwo mal die Konfigurationsdaten einlesen
Nein, wie gesagt, ist ein Objekt der conlib (siehe in dieses Verzeichnis, Datei local.php, wenn ich mich irre). Was alles eingebunden werden muss, kann ich Dir gar nicht so genau sagen, guck' Dir dazu mal die dbfs.php (V4.6.x), die cronjob-Dateien oder die Dateien im tools-Verzeichnis (auch hier: V4.6) an, das ist so das unterste Level des Zugriffs.

Wenn Du das als Modul realisierst, kannst Du natürlich auf alle Objekte zugreifen - auch wenn Du die Klasse selbst aus dem Modul auslagerst und im Modul includierst (das wäre so mein Quick and Dirty-Trick).

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
Tom Quenten
Beiträge: 125
Registriert: Do 10. Jun 2004, 13:55
Wohnort: Gallinchen
Kontaktdaten:

Beitrag von Tom Quenten »

Danke HerrB, werde mir das jetzt mal zu Gemüte führen.


Beste Grüsse
tomquenten
Wer fragt, ist ein Narr für fünf Minuten.
Wer nicht fragt, bleibt es für immer.

Handy doof? Tarif doof? Rechnung zu hoch?
Unter www.cottbushandy.de wird dir sicher geholfen!
Gesperrt