Shop Support News Archive - Shopbetreiber News -> Forum : Newsletter
gollumHN
30.04.2006, 20:39
ich wage kaum nach all den monaten, die ich hier im forum mitglied bin, folgende frage zu stellen:
gibt es eine möglichkeit festzustellen, welche personen den newsletter abonniert, jedoch kein kundenkonto angelegt haben?
ich möchte nämlich gerne jedem newsletter-abonnenten einen gutschein per email zukommen lassen. vergleichbar mit der option, dass beim erstellen eines kundenkontos ein gutschein versand wird. leider habe ich bisher keine vergleichbare funktion für newsletter entdeckt.
wie handhabt ihr das mit newsletter-abonnenten?
gruss
- pete -
bluemoon
30.04.2006, 22:20
das Modul ist für 3.03 , sollte aber auch unter 3.04 laufen
[attachmentid=211]
gollumHN
30.04.2006, 23:09
''>ZITAT</div>Fatal error: Call to undefined function: xtc_image_button() in /home/virtual/iste10/fst/var/www/html/shop/admin/module_newsletter.php on line 399[/b]
diese meldung kam nach der installation, als ich im admin-bereich unter "rundschreiben" einen blick auf das tool werfen wollte. es werden mir nur noch die kundengruppen angezeigt, die den newsletter abonniert haben. einen neuen newsletter verfassen geht im augenblick nicht mehr, da sämtliche buttons verschwunden sind. : <_< mellow: :angry:
bluemoon
30.04.2006, 23:52
hab dir per PM ne neue Datei geschickt
gollumHN
01.05.2006, 00:15
geil. jetzt hat es geklappt. :D
schaut ja supermäßig gut aus!
herzlichsten dank für deine hilfe
:D :D :D :D
Hallo bluemoon
Wäre es möglich die Datei auch mir mal zukommen zu lassen?
Dankeschön :)
bluemoon
01.05.2006, 10:54
Hoffe, dass es mit der funktioniert
[attachmentid=216]
Hallo
Danke, funktioniert einwandfrei bei mir.
daveland
08.05.2006, 15:17
''>ZITAT(bluemoon @ May 1 2006, 10:54) 4180
Hoffe, dass es mit der funktioniert
[attachmentid=216]
[/b]
Hallo, kannst du mir sagen, wo ich dieses modul installieren muss?
danke
voliere.net
09.05.2006, 12:11
du musst das ganze zip ziehen, nur die eine nachträgliche datei im admin austauschen und es funktioniert. in der zip siehst du, wo was hin muss.
daveland
09.05.2006, 16:46
Hi Claudia.
Bei mir scheint das ganze nicht zu funktionieren. Hab die Datei ausgetauscht, sieht aber komplett gleich aus wie die ursprüngliche, nur das ich keinen Newsletter mehr versenden kann, weil der button nicht funktioniert. Und wer letztendlich den Newsletter abonniert hat, kann ich erst wieder nicht sehn.
Hab jetzt das alte Modul wieder installiert.
Besten Dank aber für deine Hilfe.
Anscheinend gibt es wirklich kein Tool, das auch wirklich funktioniert und man den Besteller sehen kann, bearbeiten und idealerweise auch löschen könnte.
voliere.net
09.05.2006, 21:31
diese dateien hast du auch auf deinen server gepackt???? [attachmentid=211]
du kannst die nl-abonnenten auch über die datenbank ersehen, hinzufügen, löschen, ändern in folgender tabelle: Tabelle: newsletter_recipients oder über die customers
daveland
10.05.2006, 07:24
Hi Claudia.
Nein ich hab die andere probiert (
module_newsletter.php ( 25.29KB ) Anzahl der Aufrufe/Downloads: 19
Von diesem Modul, das du erwähnst, hab ich mich nicht drübergetraut. Zwecks Bemerkung von gollumhn:
ZITAT
Fatal error: Call to undefined function: xtc_image_button() in /home/virtual/iste10/fst/var/www/html/shop/admin/module_newsletter.php on line 399
diese meldung kam nach der installation, als ich im admin-bereich unter "rundschreiben" einen blick auf das tool werfen wollte. es werden mir nur noch die kundengruppen angezeigt, die den newsletter abonniert haben. einen neuen newsletter verfassen geht im augenblick nicht mehr, da sämtliche buttons verschwunden sind. : mellow:
Ich verwende ja auch xt v3.0.4 SP1, oder haut das auch mit dieser Version hin?
bluemoon
10.05.2006, 07:59
OK ;
nimm den ersten Download - installiere und tausche dann die zweite Datei aus.
Mit dieser sollte es funktionieren.
Ich werde, wenn ich im Laufe der Woche Zeit habe, das überarbeitet Ergebnis im Downloadbereich zur Verfügung stellen.
Sollte jemand anderes schneller sein, bin ich nicht böse - schalte es dann frei :D
Hallo,
ich habe auch alle Dateien ausgetauscht sehe aber im Rundschreiben keine Änderung als in der org. Version.
Einen zusätzlichen Button habe ich nicht, der mir die Abbos zeigt. Sehe da nur die normalen Gruppen.
Sieht irgend jemand eine Lösung?
Dank an Euch
Hallo,
wenn Du auf "Neuer Newsletter" klickst, hast ja oben Deine Gruppen, da müsste "Kundenliste anzeigen" neben den Gruppen stehen, oder?
Mythbuster
09.06.2006, 10:44
Hallo zusammen
Ich habe das selbe Problem und denke der Fehler liegt beim SQL Befehl.
Gebe ich wie in der Anleitung beschrieben:
ALTER TABLE `admin_access` ADD `module_newsletter_customers` INT( 1 ) DEFAULT '0' NOT NULL
UPDATE `admin_access` SET `module_newsletter_customers` = 1
in meine Datenbank ein, erhalte ich die folgende Fehlermeldung:
SQL query:
ALTER TABLE `admin_access` ADD `module_newsletter_customers` INT( 1 ) DEFAULT '0' NOT NULL UPDATE `admin_access` SET `module_newsletter_customers` =1
MySQL said:**
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `admin_access` SET `module_newsletter_customers` = 1' at line 3
Wie müsste der korrekte SQL Befehl lauten? Ich verwende xtc Version 3.0.4SP1
Danke und Gruss
Mythbuster
Mythbuster
09.06.2006, 11:28
Ich nochmals
also... ich habe nun die Tabelle "module_newsletter_customers" manuell in der admin_access angelegt. Nun habe ich jedoch das selbe Problem wie bereits von daveland beschrieben. Klicke ich auf den Button "Newsletter" geschieht gar nichts. Wie kann dem abgeholfen werden?
Danke und Gruss
Patrik
daveland
09.06.2006, 11:35
Hi.
Also ich habe das ganze mit dem Newsletter schon abgehackt, da es anscheinend keine Möglichkeit gibt, dieses Problem auf vernünftige Weise zu lösen. :angry:
Mythbuster
09.06.2006, 11:59
So, habs nun hinbekommen - bei mir läufts nun auch unter 3.0.4SP1 :D
Hier die Datei welche du austauschen musst, dann sollte es funktionieren!
in /admin/ module_newsletter.php
<?php
/ --------------------------------------------------------------
** $Id: module_newsletter.php 1142 2005-08-11 08:19:55Z matthias $
** XT-Commerce - community made shopping
** http://www.xt-commerce.com
** Copyright (c) 2003 XT-Commerce
** --------------------------------------------------------------
** based on:
** (c) 2000-2001 The Exchange Project**(earlier name of osCommerce)
** (c) 2002-2003 osCommercecoding standards www.oscommerce.com
** (c) 2003**nextcommerce (templates_boxes.php,v 1.14 2003/08/18); www.nextcommerce.org
** Released under the GNU General Public License
** -------------------------------------------------------------- /
**require('includes/application_top.php');
**require_once(DIR_FS_CATALOG.DIR_WS_CLASSES.'clas s.phpmailer.php');
**require_once(DIR_FS_INC . 'xtc_php_mail.inc.php');
**require_once(DIR_FS_INC . 'xtc_wysiwyg.inc.php');
**switch ($_GET['action']) {**// actions for datahandling
****case 'save': // save newsletter
**** $id=xtc_db_prepare_input((int)$_POST['ID']);
**** $status_all=xtc_db_prepare_input($_POST['status_all']);
**** if ($newsletter_title=='') $newsletter_title='no title';
**** $customers_status=xtc_get_customers_statuses();
****
**** $rzp='';
**** for ($i=0,$n=sizeof($customers_status);$i<$n; $i++) {
******** if (xtc_db_prepare_input($_POST['status'][$i])=='yes') {
************ if ($rzp!='') $rzp.=',';
************ $rzp.=$customers_status[$i]['id'];
******** }
**** }
****
******if (xtc_db_prepare_input($_POST['status_all'])=='yes') $rzp.=',all';
** $error=false; // reset error flag
** if ($error == false) {
******$sql_data_array = array( 'title'=> xtc_db_prepare_input($_POST['title']),
****************************** 'status' => '0',
****************************** 'bc'=>$rzp,
****************************** 'cc'=>xtc_db_prepare_input($_POST['cc']),
****************************** 'date' => 'now()',
****************************** 'body' => xtc_db_prepare_input($_POST['newsletter_body']));
** if ($id!='') {
** xtc_db_perform(TABLE_MODULE_NEWSLETTER, $sql_data_array, 'update', "newsletter_id = '" . $id . "'");
** // create temp table
** xtc_db_query("DROP TABLE IF EXISTS module_newsletter_temp_".$id);
** xtc_db_query("CREATE TABLE module_newsletter_temp_".$id."
******************(
******************** id int(11) NOT NULL auto_increment,
********************customers_id int(11) NOT NULL default '0',
********************customers_status int(11) NOT NULL default '0',
********************customers_firstname varchar(64) NOT NULL default '',
********************customers_lastname varchar(64) NOT NULL default '',
********************customers_email_address text NOT NULL,
********************mail_key varchar(32) NOT NULL,
********************date datetime NOT NULL default '0000-00-00 00:00:00',
********************comment varchar(64) NOT NULL default '',
********************PRIMARY KEY**(id)
********************)");
** } else {
** xtc_db_perform(TABLE_MODULE_NEWSLETTER, $sql_data_array);
** // create temp table
** $id=xtc_db_insert_id();
** xtc_db_query("DROP TABLE IF EXISTS module_newsletter_temp_".$id);
** xtc_db_query("CREATE TABLE module_newsletter_temp_".$id."
******************(
******************** id int(11) NOT NULL auto_increment,
********************customers_id int(11) NOT NULL default '0',
********************customers_status int(11) NOT NULL default '0',
********************customers_firstname varchar(64) NOT NULL default '',
********************customers_lastname varchar(64) NOT NULL default '',
********************customers_email_address text NOT NULL,
********************mail_key varchar(32) NOT NULL,
********************date datetime NOT NULL default '0000-00-00 00:00:00',
********************comment varchar(64) NOT NULL default '',
********************PRIMARY KEY**(id)
********************)");
** }
** // filling temp table with data!
** $flag='';
** if (!strpos($rzp,'all')) $flag='true';
** $rzp=str_replace(',all','',$rzp);
** $groups=explode(',',$rzp);
** $sql_data_array='';
** for ($i=0,$n=sizeof($groups);$i<$n;$i++) {
** // check if customer wants newsletter
**
** if (xtc_db_prepare_input($_POST['status_all'])=='yes') {
** $customers_query=xtc_db_query("SELECT
**********************************customers_id,
**********************************customers_firstn ame,
**********************************customers_lastna me,
**********************************customers_email_ address
**********************************FROM ".TABLE_CUSTOMERS."
**********************************WHERE
**********************************customers_status ='".$groups[$i]."'");
** } else {
******$customers_query=xtc_db_query("SELECT
**********************************customers_email_ address,
**********************************customers_id,
**********************************customers_firstn ame,
**********************************customers_lastna me,
**********************************mail_key********
**********************************FROM ".TABLE_NEWSLETTER_RECIPIENTS."
**********************************WHERE
**********************************customers_status ='".$groups[$i]."' and
**********************************mail_status='1'");
** }
** while ($customers_data=xtc_db_fetch_array($customers_que ry)){
**********$sql_data_array=array(
****************************** 'customers_id'=>$customers_data['customers_id'],
****************************** 'customers_status'=>$groups[$i],
****************************** 'customers_firstname'=>$customers_data['customers_firstname'],
****************************** 'customers_lastname'=>$customers_data['customers_lastname'],
****************************** 'customers_email_address'=>$customers_data['customers_email_address'],
****************************** 'mail_key'=>$customers_data['mail_key'],
****************************** 'date'=>'now()');
** xtc_db_perform('module_newsletter_temp_'.$id, $sql_data_array);
** }
** }
** xtc_redirect(xtc_href_link(FILENAME_MODULE_NEWSLET TER));
** }
** break;
** case 'delete':
** xtc_db_query("DELETE FROM ".TABLE_MODULE_NEWSLETTER." WHERE** newsletter_id='".(int)$_GET['ID']."'");
** xtc_redirect(xtc_href_link(FILENAME_MODULE_NEWSLET TER));
** break;
** case 'send':
** // max email package**-> should be in admin area!
** $package_size='30';
** xtc_redirect(xtc_href_link(FILENAME_MODULE_NEWSLET TER,'send=0,'.$package_size.'&ID='.(int)$_GET['ID']));
** }
// action for sending mails!
if ($_GET['send']) {
$limits=explode(',',$_GET['send']);
$limit_low = $limits['0'];
$limit_up = $limits['1'];
**** $limit_query=xtc_db_query("SELECT count( ) as count
********************************FROM module_newsletter_temp_".(int)$_GET['ID']."
********************************");
**** $limit_data=xtc_db_fetch_array($limit_query);
// select emailrange from db
****$email_query=xtc_db_query("SELECT
****************************** customers_firstname,
****************************** customers_lastname,
****************************** customers_email_address,
****************************** mail_key ,
****************************** id
****************************** FROM**module_newsletter_temp_".(int)$_GET['ID']."
****************************** LIMIT ".$limit_low.",".$limit_up);
**** $email_data=array();
while ($email_query_data=xtc_db_fetch_array($email_query )) {
$email_data[]=array('id' => $email_query_data['id'],
**********************'firstname'=>$email_query_data['customers_firstname'],
**********************'lastname'=>$email_query_data['customers_lastname'],
**********************'email'=>$email_query_data['customers_email_address'],
**********************'key'=>$email_query_data['mail_key']);
}
// ok lets send the mails in package of 30 mails, to prevent php timeout
$package_size='30';
$break='0';
if ($limit_data['count']<$limit_up) {
**** $limit_up=$limit_data['count'];
**** $break='1';
}
$max_runtime=$limit_up-$limit_low;
**$newsletters_query=xtc_db_query("SELECT
********************************** title,
************************************body,
************************************bc,
************************************cc
**********************************FROM ".TABLE_MODULE_NEWSLETTER."
**********************************WHERE**newslette r_id='".(int)$_GET['ID']."'");
$newsletters_data=xtc_db_fetch_array($newsletters_ query);
// if ($newsletters_data['cc']!='') {
// xtc_php_mail(EMAIL_SUPPORT_ADDRESS,
//**************EMAIL_SUPPORT_NAME,
//**************$newsletters_data['cc'],
//**************'' ,
//**************'',
//**************EMAIL_SUPPORT_REPLY_ADDRESS,
//**************EMAIL_SUPPORT_REPLY_ADDRESS_NAME,
//**************'',
//**************'',
//**************$newsletters_data['title'],
//**************$newsletters_data['body'],
//**************$newsletters_data['body']);
//**************}
for ($i=1;$i<=$max_runtime;$i++)
{
**// mail
$link1 = chr(13).chr(10).chr(13).chr(10).TEXT_NEWSLETTER_RE MOVE.chr(13).chr(10).chr(13).chr(10).HTTP_CATALOG_ SERVER.DIR_WS_CATALOG.FILENAME_CATALOG_NEWSLETTER. '?action=remove&email='.$email_data[$i-1]['email'].'&key='.$email_data[$i-1]['key'];
$link2 = $link2 = '
<hr>'.TEXT_NEWSLETTER_REMOVE.'
' . TEXT_REMOVE_LINK . ' ('.HTTP_CATALOG_SERVER.DIR_WS_CATALOG.FILENAME_CAT ALOG_NEWSLETTER.'?action=remove&email='.$email_data[$i-1]['email'].'&key='.$email_data[$i-1]['key'].')';
**xtc_php_mail(EMAIL_SUPPORT_ADDRESS,
************** EMAIL_SUPPORT_NAME,
************** $email_data[$i-1]['email'] ,
************** $email_data[$i-1]['lastname'] . ' ' . $email_data[$i-1]['firstname'] ,
************** '',
************** EMAIL_SUPPORT_REPLY_ADDRESS,
************** EMAIL_SUPPORT_REPLY_ADDRESS_NAME,
****************'',
****************'',
****************$newsletters_data['title'],
****************$newsletters_data['body'].$link2,
****************$newsletters_data['body'].$link1);
**xtc_db_query("UPDATE module_newsletter_temp_".(int)$_GET['ID']." SET comment='send' WHERE id='".$email_data[$i-1]['id']."'");
}
if ($break=='1') {
**** // finished
**********$limit1_query=xtc_db_query("SELECT count( ) as count
********************************FROM module_newsletter_temp_".(int)$_GET['ID']."
********************************WHERE comment='send'");
**** $limit1_data=xtc_db_fetch_array($limit1_query);
**** if ($limit1_data['count']-$limit_data['count']<=0)
**** {
**** xtc_db_query("UPDATE ".TABLE_MODULE_NEWSLETTER." SET status='1' WHERE newsletter_id='".(int)$_GET['ID']."'");
**** xtc_redirect(xtc_href_link(FILENAME_MODULE_NEWSLET TER));
**** } else {
**** echo ''.$limit1_data['count'].'[b] emails send
';
**** echo '[b]'.$limit1_data['count']-$limit_data['count'].'[b] emails left';
**** }
} else {
$limit_low=$limit_up+1;
$limit_up=$limit_low+$package_size;
xtc_redirect(xtc_href_link(FILENAME_MODULE_NEWSLET TER,'send='.$limit_low.','.$limit_up.'&ID='.(int)$_GET['ID']));
}
}
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Tranistional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['language_charset']; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<?php if (USE_WYSIWYG=='true') {
$query=xtc_db_query("SELECT code FROM ". TABLE_LANGUAGES ." WHERE languages_id='".$_SESSION['languages_id']."'");
$data=xtc_db_fetch_array($query);
if ($_GET['action']!='') echo xtc_wysiwyg('newsletter',$data['code']);
} ?>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<table border="0" width="100%" cellspacing="2" cellpadding="2">
**<tr>
****<td class="columnLeft2" width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
****</table></td>
****<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
******<tr>
********<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
**<tr>
****<td width="80" rowspan="2"><?php echo xtc_image(DIR_WS_ICONS.'heading_news.gif'); ?></td>
****<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
**</tr>
**<tr>
****<td class="main" valign="top">XTC Tools</td>
**</tr>
</table></td>
******</tr>
<?php
if ($_GET['send'])
{
?>
******<tr><td>
******Sending
******</td></tr>
<?php
}
?>
******<tr>
********<td><table width="100%" border="0">
**********<tr>
************<td>
<?php
// Default seite
switch ($_GET['action']) {
****default:
// Get Customers Groups
$customer_group_query=xtc_db_query("SELECT
************************************ customers_status_name,
************************************ customers_status_id,
************************************ customers_status_image
************************************ FROM ".TABLE_CUSTOMERS_STATUS."
************************************ WHERE
************************************ language_id='".$_SESSION['languages_id']."'");
$customer_group=array();
while ($customer_group_data=xtc_db_fetch_array($customer _group_query)) {
******// get single users
**** $group_query=xtc_db_query("SELECT count( ) as count
********************************FROM ".TABLE_NEWSLETTER_RECIPIENTS."
********************************WHERE mail_status='1' and
********************************customers_status='".$customer_group_data['customers_status_id']."'");
**** $group_data=xtc_db_fetch_array($group_query);
$customer_group[]=array( 'ID'=>$customer_group_data['customers_status_id'],
**************************'NAME'=>$customer_group_data['customers_status_name'],
**************************'IMAGE'=>$customer_group_data['customers_status_image'],
**************************'USERS'=>$group_data['count']);
}
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
**<tr>
****<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
********<tr class="dataTableHeadingRow">
**********<td class="dataTableHeadingContent" width="150" ><?php echo TITLE_CUSTOMERS; ?></td>
**********<td class="dataTableHeadingContent"**><?php echo TITLE_STK; ?></td>
********</tr>
********<?php
for ($i=0,$n=sizeof($customer_group); $i<$n; $i++) {
?>
********<tr>
**********<td class="dataTableContent" style="border-bottom: 1px solid; border-color: #f1f1f1;" valign="middle" align="left"><?php echo xtc_image(DIR_WS_ICONS . $customer_group[$i]['IMAGE'], ''); ?><?php echo $customer_group[$i]['NAME']; ?></td>
**********<td class="dataTableContent" style="border-bottom: 1px solid; border-color: #f1f1f1;" align="left"><?php echo $customer_group[$i]['USERS']; ?></td>
********</tr>
********<?php
}
?>
******</table></td>
****<td width="30%" align="right" valign="top""><?php
****echo ''.BUTTON_NEW_NEWSLETTER.' ('.xtc_href_link(FILENAME_MODULE_NEWSLETTER,'actio n=new').')';
****?></td>
**</tr>
</table>
<?php
// get data for newsletter overwiev
$newsletters_query=xtc_db_query("SELECT
********************************** newsletter_id,date,title
**********************************FROM ".TABLE_MODULE_NEWSLETTER."
**********************************WHERE status='0'");
$news_data=array();
while ($newsletters_data=xtc_db_fetch_array($newsletters _query)) {
$news_data[]=array(****'id' => $newsletters_data['newsletter_id'],
************************'date'=>$newsletters_data['date'],
************************'title'=>$newsletters_data['title']);
}
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
********<tr class="dataTableHeadingRow">
********<td class="dataTableHeadingContent" width="30" ><?php echo TITLE_DATE; ?></td>
**********<td class="dataTableHeadingContent" width="80%" ><?php echo TITLE_NOT_SEND; ?></td>
**********<td class="dataTableHeadingContent"**>.</td>
********</tr>
<?php
for ($i=0,$n=sizeof($news_data); $i<$n; $i++) {
if ($news_data[$i]['id']!='') {
?>
********<tr>
********<td class="dataTableContent" style="border-bottom: 1px solid; border-color: #f1f1f1;" align="left"><?php echo $news_data[$i]['date']; ?></td>
**********<td class="dataTableContent" style="border-bottom: 1px solid; border-color: #f1f1f1;" valign="middle" align="left"><?php echo xtc_image(DIR_WS_CATALOG.'images/icons/arrow.gif'); ?>[b]<?php echo $news_data[$i]['title']; ?> (<?php echo xtc_href_link(FILENAME_MODULE_NEWSLETTER,'ID='.$ne ws_data[$i]['id']); ?>)</td>
**********<td class="dataTableContent" style="border-bottom: 1px solid; border-color: #f1f1f1;" align="left">
**********</td>
********</tr>
<?php
if ($_GET['ID']!='' && $_GET['ID']==$news_data[$i]['id']) {
$total_query=xtc_db_query("SELECT
************************** count( ) as count
************************** FROM module_newsletter_temp_".(int)$_GET['ID']."");
$total_data=xtc_db_fetch_array($total_query);
?>
<tr>
<td class="dataTableContent_products" style="border-bottom: 1px solid; border-color: #f1f1f1;" align="left"></td>
<td colspan="2" class="dataTableContent_products" style="border-bottom: 1px solid; border-color: #f1f1f1;" align="left"><?php echo TEXT_SEND_TO.$total_data['count']; ?></td>
</tr>
<td class="dataTableContent" valign="top" style="border-bottom: 1px solid; border-color: #999999;" align="left">
**')"><?php echo BUTTON_DELETE.' (<?php echo xtc_href_link(FILENAME_MODULE_NEWSLETTER,'action=d elete&ID='.$news_data[$i]['id']); ?>)
'; ?>
**<?php echo BUTTON_EDIT.' (<?php echo xtc_href_link(FILENAME_MODULE_NEWSLETTER,'action=e dit&ID='.$news_data[$i]['id']); ?>)'; ?>
**
<div style="height: 1px; background: Black; margin: 3px 0;"></div>
**<?php echo BUTTON_SEND.' (<?php echo xtc_href_link(FILENAME_MODULE_NEWSLETTER,'action=s end&ID='.$news_data[$i]['id']); ?>)'; ?>
</td>
<td colspan="2" class="dataTableContent" style="border-bottom: 1px solid; border-color: #999999; text-align: left;">
<?php
// get data
****$newsletters_query=xtc_db_query("SELECT
********************************** title,body,cc,bc
**********************************FROM ".TABLE_MODULE_NEWSLETTER."
**********************************WHERE newsletter_id='".(int)$_GET['ID']."'");
** $newsletters_data=xtc_db_fetch_array($newsletters_ query);
echo TEXT_TITLE.$newsletters_data['title'].'
';
**** $customers_status=xtc_get_customers_statuses();
**** for ($i=0,$n=sizeof($customers_status);$i<$n; $i++) {
**** $newsletters_data['bc']=str_replace($customers_status[$i]['id'],$customers_status[$i]['text'],$newsletters_data['bc']);
**** }
echo TEXT_TO.$newsletters_data['bc'].'
';
echo TEXT_CC.$newsletters_data['cc'].'
'.TEXT_PREVIEW;
echo '<table style="border-color: #cccccc; border: 1px solid;" width="100%"><tr><td>'.$newsletters_data['body'].'</td></tr></table>';
?>
</td></tr>
<?php
}
?>
<?php
}
}
?>
</table>
<?php
$newsletters_query=xtc_db_query("SELECT
********************************** newsletter_id,date,title
**********************************FROM ".TABLE_MODULE_NEWSLETTER."
**********************************WHERE status='1'");
$news_data=array();
while ($newsletters_data=xtc_db_fetch_array($newsletters _query)) {
$news_data[]=array(****'id' => $newsletters_data['newsletter_id'],
************************'date'=>$newsletters_data['date'],
************************'title'=>$newsletters_data['title']);
}
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
********<tr class="dataTableHeadingRow">
**********<td class="dataTableHeadingContent" width="80%" ><?php echo TITLE_SEND; ?></td>
**********<td class="dataTableHeadingContent"><?php echo TITLE_ACTION; ?></td>
********</tr>
<?php
for ($i=0,$n=sizeof($news_data); $i<$n; $i++) {
if ($news_data[$i]['id']!='') {
?>
********<tr>
**********<td class="dataTableContent" style="border-bottom: 1px solid; border-color: #f1f1f1;" valign="middle" align="left"><?php echo $news_data[$i]['date'].'****'; ?><?php echo $news_data[$i]['title']; ?></td>
**********<td class="dataTableContent" style="border-bottom: 1px solid; border-color: #f1f1f1;" align="left">
**<a href="<?php echo xtc_href_link(FILENAME_MODULE_NEWSLETTER,'action=d elete&ID='.$news_data[$i]['id']); ?>" onClick="return confirm('<?php echo CONFIRM_DELETE; ?>')">
**<?php
**echo xtc_image(DIR_WS_ICONS.'delete.gif','Delete','','' ,'style="cursor:hand" onClick="return confirm(\''.DELETE_ENTRY.'\')"').'**'.TEXT_DELETE.'</a>';
**?>
<a href="<?php echo xtc_href_link(FILENAME_MODULE_NEWSLETTER,'action=e dit&ID='.$news_data[$i]['id']); ?>">
<?php echo xtc_image(DIR_WS_ICONS.'icon_edit.gif','Edit','',' ').'**'.TEXT_EDIT.'</a>'; ?>
**********</td>
********</tr>
<?php
}
}
?>
</table>
<?php
**break;****** // end default page
**case 'edit':
** $newsletters_query=xtc_db_query("SELECT title,body,cc,bc FROM ".TABLE_MODULE_NEWSLETTER." WHERE newsletter_id='".(int)$_GET['ID']."'");
** $newsletters_data=xtc_db_fetch_array($newsletters_ query);
**case 'safe':
**case 'new':**// action for NEW newsletter!
$customers_status=xtc_get_customers_statuses();
**echo xtc_draw_form('edit_newsletter',FILENAME_MODULE_NE WSLETTER,'action=save','post','enctype="multipart/form-data"').xtc_draw_hidden_field('ID',$_GET['ID']);
**?>
**
<table class="main" width="100%" border="0">
** </tr>
******<tr>
******<td width="10%"><?php echo TEXT_TITLE; ?></td>
******<td width="90%"><?php echo xtc_draw_input_field('title',$newsletters_data['title'],'size=100'); ?></td>
** </tr>
** <tr>
******<td width="10%"><?php echo TEXT_TO; ?></td>
******<td width="90%"><?php
for ($i=0,$n=sizeof($customers_status);$i<$n; $i++) {
**** $group_query=xtc_db_query("SELECT count( ) as count
********************************FROM ".TABLE_NEWSLETTER_RECIPIENTS."
********************************WHERE mail_status='1' and
********************************customers_status='".$customers_status[$i]['id']."'");
**** $group_data=xtc_db_fetch_array($group_query);
**** $group_query=xtc_db_query("SELECT count( ) as count
********************************FROM ".TABLE_CUSTOMERS."
********************************WHERE
********************************customers_status='".$customers_status[$i]['id']."'");
**** $group_data_all=xtc_db_fetch_array($group_query);
**** $bc_array = explode(',', $newsletters_data['bc']);
echo xtc_draw_checkbox_field('status['.$i.']','yes', in_array($customers_status[$i]['id'], $bc_array)).' '.$customers_status[$i]['text'].'**[i]('.$group_data['count'].''.TEXT_USERS.$group_data_all['count'].TEXT_CUSTOMERS;
if($customers_status[$i]['id']) { echo "<a href=\"\" onClick=\"window.open('module_newsletter_customers.php?custo mers_status=".$customers_status[$i]['id']."','popup','width=600,height=400,scrollbars=yes' )\">".TEXT_SHOW_LIST."</a>"; }
echo '
';
}
echo xtc_draw_checkbox_field('status_all', 'yes',in_array('all', $bc_array)).' '.TEXT_NEWSLETTER_ONLY.'';
****** ?></td>
** </tr>
******** <tr>
******<td width="10%"><?php echo TEXT_CC; ?></td>
******<td width="90%"><?php
****** echo xtc_draw_input_field('cc',$newsletters_data['cc'],'size=100'); ?></td>
** </tr>
******</tr>
******<tr>
******<td width="10%" valign="top"><?php echo TEXT_BODY; ?></td>
******<td width="90%"><?php
echo xtc_draw_textarea_field('newsletter_body', 'soft', '150', '45', stripslashes($newsletters_data['body']));
********?></td>
** </tr>
** </table>
** <?php echo BUTTON_BACK; ?> (<?php echo xtc_href_link(FILENAME_MODULE_NEWSLETTER); ?>)
** <right><?php echo '<input type="submit" class="button" onClick="this.blur();" value="' . BUTTON_SAVE . '"/>'; ?></right>
**</form>
**<?php
**break;
} // end switch
?>
</td>
**********</tr>
********</table></td>
******</tr>
****</table></td>
**</tr>
</table>
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
und hier noch der korrekte SQL Befehl. Hat ein ; gefehlt!
ALTER TABLE `admin_access` ADD `module_newsletter_customers` INT( 1 ) DEFAULT '0' NOT NULL;
UPDATE `admin_access` SET `module_newsletter_customers` = 1;
Viel Spass
Patrik
daveland
09.06.2006, 13:01
Super Patrik!
Das funktioniert! Bin begeistert! :D :D :D
Danke, Danke, Danke
Mythbuster
09.06.2006, 19:52
:P kein Problem
Gruss
Patrik
bluemoon
23.07.2006, 09:03
dazu könnte man das Modul umarbeiten, dass die anderen Newsletter Abonennten auch exportiert werden
bluemoon
23.07.2006, 10:46
ich könnte ... habe aber im Moment keine Zeit dafür
Hallo zusammen,
sorry, wenn ich den Beitrag nach so langer Zeit noch einmal aus der Versenkung hole. Ich habe im Downloadbereich gesehen, dass zu diesem Thema der letzte Upload von bluemoon am Dec 25 2006, 12:30 durchgeführt wurde ( http://www.ecombase.de/forum/index.php?showtopic=742 ).
Nun habe ich auf "gut Glück" diese Erweiterung in meinem Shop (3.04 SP2.01) MIT der Änderung in der admin/ module_newsletter.php von Mythbuster (siehe in diesen Beitrag) eingespielt und konnte keine Veränderungen im Newsletterbereich feststellen ... OK, steht ja auch nicht dran, dass dieser für 3.04 gedacht ist, aber gibt es keine Erweiterung für die aktuelle XTC Version?
Keine Möglichkeit, sich die Mailadressen der registrierten NL-Abonenten anzeigen zu lassen?
Vielen Dank für Eure Hilfe
backy
hallo,
ich würde auch gerne newsletter-abonnenten einen gutschein zukommen lassen gibt es noch irgendwo das modul?
danke schon mal ;-)
Mythbuster
05.05.2007, 01:44
''>ZITAT</div>dazu könnte man das Modul umarbeiten, dass die anderen Newsletter Abonennten auch exportiert werden [/b]
So, ich habe das ganze mal etwas angepasst. Nun klappts auch bei der Erstellung eines Gastkontos - selbstverständlich mit Zusendung eines Bestätigungslinks.
Im Templateordner modules / create_account_guest.html folgende Zeilen suchen:
<tr>
**********<td width="200" class="main">{#text_tel#}</td>
****<td class="inputRequirement">{$INPUT_TEL}</td>
**</tr>
**<tr>
****<td class="main">{#text_fax#}</td>
****<td class="inputRequirement">{$INPUT_FAX}</td>
**</tr>
und gleich anschliessend die Felder für die Newsletteranmeldung einfügen:
<tr>
****<td class="main" colspan="2"></td>
**</tr>
**<tr>
****<td class="main" colspan="2">{#text_newsletter#}</td>
**</tr>
**<tr>
****<td class="main" colspan="2">
<table class="formArea" width="100%" border="0" cellspacing="2"
cellpadding="0">
<tr>
<td class="main" width="30"><input type="checkbox" value="1"
name="newsletter"></td>
<td class="main">{#text_newsletter_feld#}</td>
</tr>
</table>
****</td>
**</tr>
in lang_german.conf unter [create_account] (Falls noch nicht vorhanden)
text_newsletter = 'Newsletter abonnieren'
text_newsletter_feld = 'ja, ich möchte den Newsletter regelmäßig per Email bekommen'
In der create_guest_account.php
Unter:
// include needed functions
die Zeile:
require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
einfügen
Ab ca. Zeile 75 / 76
die vorhandene Zeile Newsletter (inkl. der Auskommentierten) ersetzen mit:
if ($_POST['newsletter']<> '1' ) $_POST['newsletter']='0';
****$newsletter = xtc_db_prepare_input($_POST['newsletter']);
anschliessend diese Zeilen suchen:
customers_info_number_of_logons, customers_info_date_account_created) values
('".(int) $_SESSION['customer_id']."', '0', now())");
und gleich dannach folgendes einfügen:
//Einbau Newsletter mit Bestätigungslink
if ($newsletter > 0) {
$vlcode = xtc_random_charcode(32);
$sql_data_array = array ('customers_email_address' => $email_address,
'customers_id' => $user_id, 'customers_status' => 2, 'customers_firstname' =>
$firstname, 'customers_lastname' => $lastname, 'mail_status' => '0', 'mail_key' =>
xtc_db_prepare_input($vlcode), 'date_added' => 'now()');
xtc_db_perform(TABLE_NEWSLETTER_RECIPIENTS, $sql_data_array);
// sende opi-in Mail:
$link = xtc_href_link(FILENAME_NEWSLETTER,
'action=activate&email='.$email_address.'&key='.$vlcode, 'NONSSL');
// assign vars
$smarty->assign('EMAIL', $email_address);
$smarty->assign('LINK', $link);
// dont allow cache
$smarty->caching = false;
$html_mail = $smarty-
>fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/newsletter_mail.html');
$txt_mail = $smarty-
>fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/newsletter_mail.txt');
xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $email_address,
'', '', EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '',
TEXT_EMAIL_SUBJECT, $html_mail, $txt_mail);
}
// Ende Änderungen
Das war's - Ab sofort können Eure Kunden auch bei der Eröffnung eines Gastkontos beim Newsletter ein Häkchen setzen und erhalten dann einen Bestätigungslink zugesandt. Getestet mit Version 3.0.4SP2.1
Und noch schnell zur Frage von taxomio:
''>ZITAT</div>ich würde auch gerne newsletter-abonnenten einen gutschein zukommen lassen gibt es noch irgendwo das modul? [/b]
Da benötigst du doch kein zusatz Modul. Verwende einfach die Cupon-Funktion. Erstelle einen Cupon mit einem Fix Betrag oder in % und kopiere den Code in den Newsletter. Mach ich auch immer so und klappt bestens. ;)
Gruss Mythbuster
Hallo alle zusammen,
wie ist das jetzt: Kann ich mir mit diesem Update für die aktuelle XT:Commerce Version die E-Mail Adressesn aller Newsletter Abonnenten anzeigen lassen? Egal ob Gast oder neuer Kunde? Und kann ich damit einzelne Adressen editieren bzw. löschen - oder auch hinzufügen?
Und wenn das mit diesem Update nicht funktioniert: Gibt es ein Modul / Erweiterung, welche solche Funktionalitäten bietet?
Würde mich über eine Antwort sehr freuen.
Gruß
canetti
FlamingMoe
29.08.2008, 09:39
''>ZITAT(bluemoon @ Apr 30 2006, 22:20) 4165
das Modul ist für 3.03 , sollte aber auch unter 3.04 laufen
[attachmentid=211]
[/b]
Installation? Modul? Worum geht's hier? Es gibt ein 'Extra-Modul' für den Newsletter in XTC?
thx
moe.
''>ZITAT(Mythbuster @ Jun 9 2006, 11:59) 6053
So, habs nun hinbekommen - bei mir läufts nun auch unter 3.0.4SP1 :D
Hier die Datei welche du austauschen musst, dann sollte es funktionieren!
in /admin/ module_newsletter.php
<?php
/ --------------------------------------------------------------
** $Id: module_newsletter.php 1142 2005-08-11 08:19:55Z matthias $
** ...
...
......
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
und hier noch der korrekte SQL Befehl. Hat ein ; gefehlt!
ALTER TABLE `admin_access` ADD `module_newsletter_customers` INT( 1 ) DEFAULT '0' NOT NULL;
UPDATE `admin_access` SET `module_newsletter_customers` = 1;
Viel Spass
Patrik
[/b]
Hallo Patrik,
verstehe ich es rnichtig, dass die beiden Änderungen (php & SQL) in der Standardinstallation von 3.0.4 SP2.1 durchzuführen sind? Oder basiert die Änderung auf einem Zusatz-Modul?
thx
moe.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.