Members: 16,996
Threads: 38,845
Posts: 159,389
Online: 18

Newest Member: Kl_broka@rediffmail.com


Odoo.tv - Outdoor Television


Sedo - Domains kaufen und verkaufen das Projekt mambers.com steht zum Verkauf Besucherstatistiken von mambers.com etracker® Web-Controlling statt Logfile-Analyse

Go Back   Mambers.com > International > German - Deutsch > Komponenten

Reply
 
LinkBack Thread Tools Display Modes
Old 25.07.2005, 00:17   #1 (permalink)
Baby Mamber
 
Join Date: Sep 2004
Posts: 23
Florianinside is on a distinguished road
Default Mambohut Component Tutorial und seine Nachwirkungen

Hallo Forum, erstmal ein freudiges Restwochenende an euch.

Zur Zeit spiele ich mit der Hello-World-Komponente von Mambohut rum.
Das Ding klappt soweit ganz gut und ist auch prima erweiterbar.

Jetzt möchte ich dem Gerät noch beibringen, dass man auch im Frontend information zur Datenbank einfügen kann. Im Administratormenü klappt das alles ganz prima, aber halt auf der Webseite noch nicht.

Da kommen mir mehrere Fragen:
In der componenten.xml, in der es um die Installation geht, kann ich zwar auch mehrere .php-Dateien installieren lassen die dann auch im components-ordner zu finden sind, jedoch kann ich nur eine von beiden im Menü als Komponente verlinken.
Hier Frage NR.1 : Wie bekomme ich beide php´s verlinkt ohne den Wrapper benutzen zu müssen??

Möglichkeit 2 die mir eingefallen ist:
Einfach eine zweite Komponente basteln und die dann Problemlos installieren und ins Menü einbinden.
Da dann aber jedoch das Problem, dass ich nicht so ohne weiteres auf die Datenbank der anderen Componente zugreifen kann (oder es einfach nicht hinbekomme).

Also einfache Frage zwei (eigentlich): Wie kann ich, ohne extern mit der MySQL-Datenbank eine Verbindung aufzubauen, die Daten der Table verändern??

Schonmal Danke für die Zeit des lesens und Danke im vorraus fürs Antworten,
mfg,
Florian.
Florianinside is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Old 25.07.2005, 02:01   #2 (permalink)
Baby Mamber
 
Join Date: Sep 2004
Posts: 23
Florianinside is on a distinguished road
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

Hmmm, kennt Ihr das Phänomen, dass man stundelang im Netz nach Antworten sucht , am Ende einen Foreneintrag schreibt und direkt danach die Lösung findet??
Naja, hat geklappt.
Jetzt brauche ich nur noch eine kleine Hilfestellung, da der Wrapper ein Problem nach sich zieht:
Ich habe jetzt zwei php-Dateien, eine heisst Submit.php und die andere send.php (jaja, nicht ideal gewählt die namen ).
Auf jeden Fall ruft die eine (aus Mambo heraus) die andere auf (einfach so auf dem Server) und das ist ja alles nicht so ideal. Wenn ich die Aufgerufene über einen Wrapper aufrufe dann geht der Befehl im Hyperlink flöten, dass funktioniert also auch nicht.
Jetzt die Frage: Wie kann ich aus den zwei Dateien eine machen?

Sieht alles folgendermaßen aus:

------submit.php-------
<form action="send.php" method="post">
<table border="0">
<tr>
<td><b>Eintrag</b></td>
<td><input type="text" name="eintrag" maxlength="50"></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="Eintragen">
<input type="reset" value="L&ouml;schen">
</td>
</tr>


-------send.php----------
$db=mysql_connect("","","");
mysql_select_db("", $db);
mysql_query("
INSERT INTO mos_hello_world (eintrag)
VALUES
(NOW(''), '$eintragt')
", $db);
if(mysql_affected_rows($db)==1)
echo "Vielen Dank f&uuml;r Ihren Eintrag!<br>",
"<a href=\"gaestebuch.php3\">Zur&uuml;ck</a>";
else
echo "Beim Eintragen ist ein Fehler aufgetreten.<br>",
"<a href=\"javascript:history.back();\">Zur&uuml;ck</a>";

</table>


Also eigentlich müsste ich doch in der submit.php einfach die Funktion der send.php aufrufen können, wie eine java-methode.
Jedoch kriege ich das auch nach längerem basteln nicht hin.

Danke für die Hilfe,
Florian.
Florianinside is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 25.07.2005, 09:28   #3 (permalink)
Expert Mamber
 
lukewill's Avatar
 
Join Date: Apr 2004
Location: Germany
Posts: 475
lukewill is an unknown quantity at this point
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

Ich antworte mal auf dein erstes Post, die Nutzung des Wrapper halt ich für keine sinnvolle Lösung.

Zu 1) Du könnstest der Komponente einen Parameter spendieren, kannst du über deine components.xml machen, z.B. Ansicht1 Anschicht2, .... AnsichtN. Dann kannst du die Komponente mehrfach in das Menü einbinden und am Anfang erstmal auswählen was den nun gewünscht ist.

Zu 2) Hier gibt es nun zwei Möglichkeiten, du erstellst ein neue Klasse -am besten von mosDBTabel abgeleitet- mit deiner Tabelle (das du zu Abspeichern ein Datenbanktabelle brauchst ist dir sicher klar) oder gehst direkt über die $database und setzt die entsprechenden SQL`s ab.

Hier gibt es eine Beispielkomponente die einen Editor im Frontend nutzt.

Eine gute Dokumentation über die Komponentenprogrammierung findest du hier
__________________
- Viele Grüße - Best regards - Lukewill

Mambo e.V. |Das Mambobuch
lukewill is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 25.07.2005, 12:47   #4 (permalink)
Baby Mamber
 
Join Date: Sep 2004
Posts: 23
Florianinside is on a distinguished road
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

Hi Lukewill,
danke für Deine Antwort. Ich habe mal nach Parametern gesucht und auch ein ganz hübsches Post von Dir gefunden, in dem Du über Parameter weiterhilfst.
Angenommen, ich möchte einfach wie das auch bei

datei.php?wert=5

problemlos geht, den Wert 5 oder 17 oder so übergeben, dann sollte das ja hoffentlich in Mambo über die Parameter funktionieren.
Jetzt habe ich aus der Doku einfach mal das hier übernommen:

<params name="" description="">
<param name="count" type="text" default="5" label="Number of items"
description="The number of items to show" />
</params>

Das ganze in die XML eingebaut und der Schuh läuft auch.
Jetzt bekomme ich es nur ums ver*** nicht hin, die 5 oder 17 oder so in dem php-script aufzufangen.

Zumindest klappt es hiermit, und ich 50 anderen Versionen mit mehr oder weniger Kommas oder Variablen auch nicht:

$params =new mosParameters(mos_Params);
$ding = $params->get('count');
echo $ding;

So schwer kann das doch alles nicht sein, leider finde ich nichts was mir weiterhilft im großen weitern Netz.
Weiterhin vielen Dank,
Flo.
Florianinside is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 25.07.2005, 14:53   #5 (permalink)
Expert Mamber
 
lukewill's Avatar
 
Join Date: Apr 2004
Location: Germany
Posts: 475
lukewill is an unknown quantity at this point
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

Quote:
Originally Posted by Florianinside
$params =new mosParameters(mos_Params);
$ding = $params->get('count');
echo $ding;
das ist nicht ganz falsch

Also mit den xml hast du den Parameter zur Verfügung gestellt, du solltest den Menüpunt aufrufen und erst noch mal speichern, dann müsste in der params - Spalte der Tabelle #__menu "count=5" drin stehen. D.h. der Wert steht in der DB, jetzt musst du den nun noch raus bekommen. Du wolltest ja unterschiedliche Ansichten für eine komponente realisieren, anhängig sollte das vom menüpunkt sein. Welcher der aktuelle Menüpunkt ist bekommst du über die Itemid raus. Also nun die Informationen als php-code

PHP Code:
$query "SELECT params FROM #__menu WHERE id = '$Itemid'";
$database->setQuery$query );
$_params $database->loadResult();
$menuparams =& new mosParameters$_params );
$count$menuparams->get('count','5'); 
ggf. musst vorher noch ein global Itemid machen, falls du in einer function bist.
__________________
- Viele Grüße - Best regards - Lukewill

Mambo e.V. |Das Mambobuch
lukewill is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 25.07.2005, 15:11   #6 (permalink)
Baby Mamber
 
Join Date: Sep 2004
Posts: 23
Florianinside is on a distinguished road
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

Du bist ja cool, dankeschön :-D
Hat auf Anhieb gelappt
Florianinside is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 25.07.2005, 16:48   #7 (permalink)
Baby Mamber
 
Join Date: Sep 2004
Posts: 23
Florianinside is on a distinguished road
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

sorry, da fällt mir ja noch ein: Wie mache ich denn jetzt aus den beiden Dateien eine??
Florianinside is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 25.07.2005, 21:28   #8 (permalink)
Expert Mamber
 
lukewill's Avatar
 
Join Date: Apr 2004
Location: Germany
Posts: 475
lukewill is an unknown quantity at this point
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

welche beiden dateien, bisher brauchst du nur eine datei
__________________
- Viele Grüße - Best regards - Lukewill

Mambo e.V. |Das Mambobuch
lukewill is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 25.07.2005, 21:38   #9 (permalink)
Baby Mamber
 
Join Date: Sep 2004
Posts: 23
Florianinside is on a distinguished road
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

Diese beiden, wie bereits gaaaaanz oben geschrieben.

------submit.php-------
<form action="send.php" method="post">
<table border="0">
<tr>
<td><b>Eintrag</b></td>
<td><input type="text" name="eintrag" maxlength="50"></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="Eintragen">
<input type="reset" value="L&ouml;schen">
</td>
</tr>


-------send.php----------
$db=mysql_connect("","","");
mysql_select_db("", $db);
mysql_query("
INSERT INTO mos_hello_world (eintrag)
VALUES
(NOW(''), '$eintragt')
", $db);
if(mysql_affected_rows($db)==1)
echo "Vielen Dank f&uuml;r Ihren Eintrag!<br>",
"<a href=\"gaestebuch.php3\">Zur&uuml;ck</a>";
else
echo "Beim Eintragen ist ein Fehler aufgetreten.<br>",
"<a href=\"javascript:history.back();\">Zur&uuml;ck</a>";

</table>

Das Eintragen der send.php hätte ich gerne schon in der submit.php gespeichert, dann spare ich mir das nervige aufrufen der zweiten...
Florianinside is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 25.07.2005, 22:31   #10 (permalink)
Expert Mamber
 
lukewill's Avatar
 
Join Date: Apr 2004
Location: Germany
Posts: 475
lukewill is an unknown quantity at this point
Default Re: Mambohut Component Tutorial und seine Nachwirkungen

mach doch einfach funktionen daraus und verzweige in die passende mittels switch
__________________
- Viele Grüße - Best regards - Lukewill

Mambo e.V. |Das Mambobuch
lukewill is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Fun: Wie werde ich User des Monats? -peter- Smalltalk 24 20.08.2007 01:29
Newskomponente von Mambo - Wunschliste wolpertinger Komponenten 3 30.08.2004 12:53
Benutzer und Gruppe bei Dateien und Verzeichnissen v. Modulen und Komponenten falsch. obelix Mambo 4.5 Allgemein 1 28.05.2004 16:43
::Tutorial zu HtmlArea 3 und ein Addon dazu descartes Installation 7 14.04.2004 10:39
.: Tips und Tricks auf mamboreport.de :. descartes Mamboreport Dokus & Tips 0 29.03.2004 12:45


All times are GMT +2. The time now is 06:09.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0
A vBSkinworks Design
© Copyright 2004-2008 by Arthur Konze Webdesign.