Hallo
ich will das Versenden von Ecards anbieten und habe folgendes Problem:
- habe Webesse E-Card installiert
Weiter weiss ich aber nicht. 😢 Es erscheinen keine Ecards, kann, wie ich in vorigen Beitraegen gelesen habe, auch nicht im TypoScript Object Browser irgendwas aendern. Bitte um Entschuldigung, stelle mich, glaube ich, ziemlich dusslig an.
Tausend Dank schon mal fuer Eure Hilfe!
Zuerst mal hier kurz nachlesen
#1810
und nicht vergessen auf der Seite wo das Plugin installiert ist ganz unten einen "Datensatz" anlegen wo die jeweilige E-Card definiert wird. Dann sollte es eigentlich laufen.
Ja und im Objekt Browser unten
noch bei "Enable object links" ein Häkchen und dann geht auch das Ändern.
Gruß Peter
Nun klappts! Eine Frage habe ich dennoch: wo kann ich die Texte aendern? (zB.: Your E-Card has been successfully sent to...)
😉 Danke fuer deine Antwort. Mein Fehler lag darin, dass ich die Aenderung im falschen Template gemacht hatte.
Also nochmals DANKE!
Hallo Mina,
der Text ist im Quellcode codiert. Ich habe ihn übersetzt. Du brauchst nur den Inhalt der Datei class.tx_wsecard_pi.php im Verzeichnis typo3conf/ext/ws_ecard/pi1 austauschen.
<?php
/***************************************************************
* Copyright notice
*
* (c) 2003 Luke Chiam (luke@webesse.com)
* All rights reserved
*
* This script is part of the Typo3 project. The Typo3 project is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
*
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
/**
* Plugin 'Webesse E-Card' for the 'ws_ecard' extension.
*
* @author Luke Chiam <luke@webesse.com>
*/
require_once(PATH_tslib."class.tslib_pibase.php");
class tx_wsecard_pi1 extends tslib_pibase {
var $prefixId = "tx_wsecard_pi1"; // Same as class name
var $scriptRelPath = "pi1/class.tx_wsecard_pi1.php"; // Path to this script relative to the extension dir.
var $extKey = "ws_ecard"; // The extension key.
var $conf = array();
/**
* Webesse E-Card extension for Typo3 CMS (ws_ecard)
*/
function main($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$GLOBALS["TSFE"]->set_no_cache(); // Disable caching
( t3lib_div::GPvar("cmd") ) ? $cmd = t3lib_div::GPvar("cmd") : $cmd = '';
$id = $GLOBALS["TSFE"]->id;
$workingDir = $this->conf['dir'];
$maxCol = ( isset( $this->conf['maxCol'] ) ) ? $this->conf['maxCol'] : 3;
$imageSmallWidth = $this->conf['imageSmallWidth'];
$imageSmallHeight = $this->conf['imageSmallHeight'];
$imageBigWidth = $this->conf['imageBigWidth'];
$imageBigHeight = $this->conf['imageBigHeight'];
$imgInfo = '';
$imgObj = t3lib_div::makeInstance( "t3lib_stdGraphic" );
$imgObj->init();
$imgObj->mayScaleUp=0;
/*
* Display E-Card listing for page
*/
if( $cmd == '' ) {
$query = 'SELECT ecard, image FROM tx_wsecard_card '.
'WHERE pid = '.$GLOBALS["TSFE"]->id.' '.
$this->cObj->enableFields("tx_wsecard_card").' '.
'ORDER BY ecard';
$res = mysql( TYPO3_db, $query );
$colCount = 0;
$content .= '<table cellspacing=5 cellpadding=0 width="100%" border=0><tr>';
while( $row = mysql_fetch_array( $res ) ) {
if( $colCount++ >= $maxCol ) {
$content .= '</tr><tr>';
$colCount = 0;
}
/* Massage and display image in thumbnail size */
$imgInfo = $imgObj->getImageDimensions( $workingDir.'/'.$row['image'] );
if( $imgInfo ) {
$imgInfo_scaled = $imgObj->imageMagickConvert( $workingDir.'/'.$row['image'], 'web',
$imageSmallWidth.'m', $imageSmallHeight.'m', '', '', '', 1 );
$content .= '<td width="'.(100 / $maxCol).'%" align="center" valign="bottom" class="body1">'.
'<a href="index.php?id='.$id.'&cmd=prompt&ecard='.$workingDir.'/'.$row['image'].'">'.
$imgObj->imgTag( $imgInfo_scaled ).'<br>'.$row['ecard'].'</a>'.
'</td>';
}
}
for( $i=0; $i<($maxCol - $colCount - 1); $i++ ) $content .= '<td> </td>';
$content .= '</tr></table>';
}
/*
* Display E-Card and prompt for recipent information
*/
elseif( $cmd == 'prompt' ) {
//$content .= '['.$_SERVER['SERVER_NAME'].']';
( t3lib_div::GPvar("ecard") ) ? $ecard = t3lib_div::GPvar("ecard") : $ecard = '';
$imgInfo = $imgObj->getImageDimensions( $ecard );
if( $imgInfo ) {
$imgInfo_scaled = $imgObj->imageMagickConvert( $ecard, 'web',
$imageBigWidth.'m', $imageBigHeight.'m', '', '', '', 1 );
$content .= '<table cellspacing=5 cellpadding=0 border=0 align="center">';
$content .= '<tr><td colspan=2 width="100%" class="body1" align="center">'.
'<a href="index.php?id='.$id.'&cmd=prompt&ecard='.$workingDir.'/'.$row['image'].'">'.
$imgObj->imgTag( $imgInfo_scaled ).'<br>'.$row['ecard'].'</a></td></tr><tr>'.
'<form action="index.php?id='.$id.'" method="post">'.
'<tr><td class="body1">An:</td><td><input type="edit" name="'.$this->prefixId.'[dest_email]"></td></tr>'.
'<tr valign="middle"><td class="body1">Nachricht:</td><td><textarea name="'.$this->prefixId.'[message]" rows=8 cols=35></textarea></td></tr>'.
'<tr><td class="body1">Von:</td><td><input type="edit" name="'.$this->prefixId.'[src_email]"></td></tr>'.
'<tr><td> </td><td class="body1"><input type="checkbox" name="'.$this->prefixId.'[cc_me]"> Eine Kopie an mich senden.</td></tr>'.
'<tr><td> </td><td><input type="submit" name="cmd" value="Senden">'.
'<input type="hidden" name="'.$this->prefixId.'[ecard]" value="'.$ecard.'"></form></table>';
}
}
/*
* Generate and send E-Card
*/
elseif( $cmd == 'Senden' ) {
$dest_email = htmlspecialchars( $this->piVars["dest_email"]);
$message = str_replace( "
", "<br>", htmlspecialchars( $this->piVars["message"] ) );
$src_email = htmlspecialchars( $this->piVars["src_email"] );
$ecard = htmlspecialchars( $this->piVars["ecard"] );
$cc_me = htmlspecialchars( $this->piVars["cc_me"] );
if( empty( $dest_email ) || empty( $message ) || empty( $src_email ) || empty( $ecard ) ) {
$content .= 'Ihre E-Card konnte nicht versendet werden. Bitte ergänzen Sie Ihre Daten.';
}
else {
//$content .= $this->prefixId."[$dest_email, $dest_email, $message, $src_email, $src_email, $ecard]<br>";
$subject = 'E-Card von '.$src_email;
$message = '<html><body><table cellpadding="10"><tr valign="top"><td width="50%">'.$message.'</td>'.
'<td width="50%"><img src="http://'.$_SERVER['SERVER_NAME'].'/'.$ecard.'"><br></td>'.
'</tr><tr valign="top"><td width="100%" colspan="2" align="left">Ein Service von <a href="http://www.neumarkt4you.de/">Neumarkt 4you</a> der Website für Neumarkt</td></tr></table></body></html>';
/*
must be wrapped in " and NOT ' */
mail( $dest_email, $subject, $message, 'From: '.$src_email.
"
Content-Type: text/html; charset=iso-8859-1" );
$content .= 'Ihre E-Card wurde erfolgreich an folgende Adresse versendet: '.$dest_email;
if( $cc_me == 'on' ) {
$subject = 'Eine Kopie Ihrer E-Card an '.$dest_email;
mail( $src_email, $subject, $message, 'From: '.$src_email.
"
Content-Type: text/html; charset=iso-8859-1" );
$content .= '<br><br>Eine Kopie der Nachricht wurde direkt an Ihre Adresse weitergeleitet';
}
$content .= '.';
}
}
return $this->pi_wrapInBaseClass($content);
} // endof function main
}
if (defined("TYPO3_MODE") && $TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/ws_ecard/pi1/class.tx_wsecard_pi1.php"]) {
include_once($TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/ws_ecard/pi1/class.tx_wsecard_pi1.php"]);
}
?>
Gruß Peter 😉
Hallo Peter,
danke! 🙂 Ich habe mich schon dusslig gesucht nach der Datei. Weisst du auch von wo die Datei aufgerufen wird? Ich habe naemlich mehrere Sprachen.
Nochmals Danke, dann hoffe ich, dass ich vielleicht mal irgendwann dir helfen kann (momentan wohl eher unwahrscheinlich) 😉
Mina
Hy Mina,
das mit der Mehrsprachigkeit wird glaube ich normalerweise über sogenannte Language Files gelöst.
Da diese Files bei dieser Erweiterung zwar vorhanden sind, die entsprechenden Texte aber im Quellcode fest codiert sind schaut es mit der Mehrsprachigkeit im Moment schlecht aus. 😢
Außer jemand weis eine bessere Antwort, da ich von Extension Programmierung keine Ahnung habe. 🙁
Gruß Peter
Ich habe das gleiche Problem. Habe die Extension ws_ecard installiert, klappt alles wunderbar.
Aber eben die Mehrsprachigkeit.... Vielleicht mehrmals installieren? Ginge das? Oder was gäbe es da für Lösungen?
Danke für eure Ideen! #paralyzed#
Die SPracheinstellungen sind in der Datei pi1/locallang.xml gespeichert. Da kann man für jede weitere Sprache Übersetzungen einfügen.
Viel Erfolg!
mamo
Hi Mamo
Das Problem ist eben dieses:
das mit der Mehrsprachigkeit wird glaube ich normalerweise über sogenannte Language Files gelöst. Da diese Files bei dieser Erweiterung zwar vorhanden sind, die entsprechenden Texte aber im Quellcode fest codiert sind schaut es mit der Mehrsprachigkeit im Moment schlecht aus.