Hallo Leute ich habe mein Problem gelöst:
Ich habe es geschaft die Kontak - Komponente (Com_contac) so umzubauen das man sie als Rückmeldeformular verwenden kann;
Im Backend besteht die Möglichkeit die Kategorien der Komponente auf 'registred' oder 'special' zu stellen.
Betreff ist vorgegeben durch den Kontaktname(backend);
Name und Email - tragen sich ein sofern ein User eingeloggt.
Nicht eingeloggte User können aber trotzdem die beiden Formularfelder ausfüllen.
So erhält man wunderbare Rückmeldekarten.
** die datei contact.html.php befindet sich im Anhang
** Installation über Ftp in den Ordner '/components/com_contact/' verschieben
** Backup zuvor nicht vergessen.
...
Vorarbeit:
PHP-Code:
global $mosuser; // **die Uservariablen aus der com_user */
/**
* @package Joomla
* @subpackage Contact
*/
class HTML_contact {
var $benutzer; var $eadresse; var $eingeloggt; var $inputform; //** Variabeln hinzugefügt*/
...
Änderung im Formular: Hinzufügen der User-Variabeln
...
PHP-Code:
/**
* Writes Email form
*/
function _writeEmailForm( &$contact, &$params, $sitename, &$menu_params ) {
global $Itemid,$mosuser, $my; //* $my ist eine globale variable von user
...
Prüfphase + Ausgabe:
PHP-Code:
<form action="<?php echo sefRelToAbs( 'index.php?option=com_contact&Itemid='. $Itemid ); ?>" method="post" name="emailForm" target="_top" id="emailForm" >
<div class="contact_email<?php echo $menu_params->get( 'pageclass_sfx' ); ?>">
<?php
if ($my->$logged='1') /** Es wird geprüft ob der user gerade eingeloggt ist*/
{
$eingeloggt = true; /** und einer Wahr-Falsch-Var. übergeben*/
$benutzer=$my->name; /** Zgl. , wenn Wahr: werden Name -> Nicht Username( $my->username; )*/
$eadresse=$my->email;
} /** ...und emailadresse aus gelesen*/
if ( $eingeloggt = true) //**Input-Type-Schalter*/
{
$inputform='"hidden" readonly=""';} //** Im Hintergrund /wird der eintrag der id übergeben,*/
if ($eingeloggt = false) //** readonly, das Formfeld ist für einträge gesperrt*/
{
$inputform="text";
}
?>
Jetzt wir richtig gearbeitet: Ausgabe der Var:
<label for="contact_name">
<?php echo(_NAME_PROMPT);?>
</label>
<br />
<input type= <?php echo $inputform;?> name="name" id="contact_name" size="30" class="inputbox" value="<?php echo $benutzer;?>" />
<?php if ($eingeloggt = true) { echo $benutzer;}?>
<br />
</input>
<br />
<label for="contact_email">
<?php echo(_EMAIL_PROMPT);?>
</label>
<br />
<input type=<?php echo $inputform;?> name="email" id="contact_email" size="30" class="inputbox" value="<?php echo $eadresse; ?>" />
<?php if ($eingeloggt = true) { echo $eadresse;}?>
<br />
</input>
<br />
<br />
<label for="contact_subject">
<?php echo (_SUBJECT_PROMPT) ?>
</label>
<br />
<input type="text" name="subject" id="contact_subject" size="30" class="inputbox" value=" <?php echo $contact->name;?>" readonly />
Gruß
Barney
Lesezeichen