Yepi1533005574 Posted September 11, 2017 Posted September 11, 2017 Hallo an Alle, bin jetzt dabei die Newsletter um zu bauen.https://apps.oscommerce.com/JvOkG&newslettter-products-for-oscommerce-2-3 Hierbei funzt alles super bis auf die Dateien: view_newsletterp.php und die newsletters.php Bei der newsletter.php bekomme ich ein update der DB für den status als gesendet. hier der code der ein Fehler haben muss den ich jedoch nicht finde. newsletters.php <?php } elseif ($action == 'confirm_send') { $nID = tep_db_prepare_input($HTTP_GET_VARS['nID']); //newsletter products $newsletter_query = tep_db_query("select title, content, module, template from " . TABLE_NEWSLETTERS . " where newsletters_id = '" . (int)$nID . "'"); $newsletter = tep_db_fetch_array($newsletter_query); $news_products = array(); $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id = '" . (int)$nID . "'"); while($newsletter_products = tep_db_fetch_array($newsletter_products_query)){ $news_products[] = $newsletter_products['products_id']; } $newsletter['products'] = $news_products; //end newsletter products $nInfo = new objectInfo($newsletter); include(DIR_WS_LANGUAGES . $language . '/modules/newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.'))); include(DIR_WS_MODULES . 'newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.'))); $module_name = $nInfo->module; //newsletter products if($nInfo->module == 'newsletter_products') { $module = new $module_name($nInfo->title, $nInfo->content . '<br /><br /><a href="' . tep_catalog_href_link('view_newsletter.php', 'nID=' . $nID) . '">' . TEXT_VIEW_HERE . tep_catalog_href_link('view_newsletter.php', 'nID=' . $nID) . "</a>\n", $nInfo->products, $nInfo->template); } else { $module = new $module_name($nInfo->title, $nInfo->content . TEXT_HTML_VIEW_HERE . tep_catalog_href_link('view_newsletter.php', 'nID=' . $nID) . "\n"); } //end newsletter products ?> //********************************* Hier der Originalcode der newsletters.php der funktioniert. <?php } elseif ($action == 'confirm_send') { $nID = tep_db_prepare_input($HTTP_GET_VARS['nID']); $newsletter_query = tep_db_query("select newsletters_id, title, content, module from " . TABLE_NEWSLETTERS . " where newsletters_id = '" . (int)$nID . "'"); $newsletter = tep_db_fetch_array($newsletter_query); $nInfo = new objectInfo($newsletter); include(DIR_WS_LANGUAGES . $language . '/modules/newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.'))); include(DIR_WS_MODULES . 'newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.'))); $module_name = $nInfo->module; $module = new $module_name($nInfo->title, $nInfo->content); ?> //********************************* Hier der Code für die view_newsletterp.php Hier wird der html Newsletter im Shop nicht angezeigt. <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_VIEWNEWS); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_VIEWNEWS)); require(DIR_WS_INCLUDES . 'template_top.php'); ?> <h1><?php echo HEADING_TITLE; ?></h1> <div class="contentContainer"> <div class="contentText"> <?php $nID = (isset($HTTP_GET_VARS['nID']) ? tep_db_prepare_input($HTTP_GET_VARS['nID']) : 0); //newsletter products $newsletter_query = tep_db_query("select title, content, module, template from " . TABLE_NEWSLETTERS . " where newsletters_id = '" . (int)$nID . "'"); if (tep_db_num_rows($newsletter_query) == 1) { $newsletter = tep_db_fetch_array($newsletter_query); $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id = '" . (int)$nID . "'"); while ($newsletter_products = tep_db_fetch_array($newsletter_products_query)) { $news_products[] = $newsletter_products['products_id']; } $newsletter['products'] = $news_products; if ($newsletter['module'] == 'newsletter_products') { include('catalog/admin/includes/modules/newsletters/newsletter_products.php'); include('catalog/admin/includes/languages/english/modules/newsletters/newsletter_products.php'); $module = new newsletter_products($newsletter['title'], $newsletter['content'], $newsletter['products'], $newsletter['template']); echo $module->html_content(); } else { echo nl2br($newsletter['content']); } //end newsletter products } else { echo TEXT_NOT_FOUND; } echo "\n"; ?> </div> <div class="buttonSet"> <span class="buttonAction"><?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'triangle-1-e', tep_href_link(FILENAME_DEFAULT)); ?></span> </div> </div> <?php require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> //********************************* Hierbei hab ich die url zum Modul und die Sprachdatei umgeändert $newsletter['products'] = $news_products; if ($newsletter['module'] == 'newsletter_products') { // include('catalog/admin/includes/modules/newsletters/newsletter_products.php'); // include('catalog/admin/includes/languages/english/modules/newsletters/newsletter_products.php'); include(DIR_FS_CATALOG . 'admin/includes/modules/newsletters/newsletter_products.php'); include(DIR_FS_CATALOG . 'admin/includes/languages/english/modules/newsletters/newsletter_products.php'); $module = new newsletter_products($newsletter['title'], $newsletter['content'], $newsletter['products'], $newsletter['template']); echo $module->html_content(); } else { echo nl2br($newsletter['content']); } //********************************* dieser code ist für die Ausgabe der html-Newsletter zuständig es tut sich aber leider nichts. echo $module->html_content(); für etwas Hilfe wäre ich sehr dankbar.
Yepi1533005574 Posted September 11, 2017 Author Posted September 11, 2017 Ok. Part 1 gelöst. update vom status funzt wieder. <?php } elseif ($action == 'confirm_send') { $nID = tep_db_prepare_input($HTTP_GET_VARS['nID']); //newsletter products $newsletter_query = tep_db_query("select newsletters_id, title, content, module, template from " . TABLE_NEWSLETTERS . " where newsletters_id = '" . (int)$nID . "'"); $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id = '" . (int)$nID . "'"); while($newsletter_products = tep_db_fetch_array($newsletter_products_query)){ $news_products[] = $newsletter_products['products_id']; } $newsletter = tep_db_fetch_array($newsletter_query); $newsletter['products'] = $news_products; //end newsletter products $nInfo = new objectInfo($newsletter); include(DIR_WS_LANGUAGES . $language . '/modules/newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.'))); include(DIR_WS_MODULES . 'newsletters/' . $nInfo->module . substr($PHP_SELF, strrpos($PHP_SELF, '.'))); $module_name = $nInfo->module; //newsletter products if($nInfo->module == 'newsletter_products') { $module = new $module_name($nInfo->title, $nInfo->content . '<br /><br /><a href="' . tep_catalog_href_link('view_newsletter.php', 'nID=' . $nID) . '">' . TEXT_VIEW_HERE . tep_catalog_href_link('view_newsletter.php', 'nID=' . $nID) . "</a>\n", $nInfo->products, $nInfo->template); } else { $module = new $module_name($nInfo->title, $nInfo->content . TEXT_HTML_VIEW_HERE . tep_catalog_href_link('view_newsletter.php', 'nID=' . $nID) . "\n"); } //end newsletter products ?>
Yepi1533005574 Posted September 11, 2017 Author Posted September 11, 2017 hier das Modul: <?php /* $Id: newsletter_products.php,v 2.0 2007/05/17 scottyb Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License //newsletter products */ class newsletter_products { function newsletter_products($title, $content, $products, $template) { $this->title = $title; $this->content = $content; $this->products = $products; $this->template = $template; } function choose_products() { global $HTTP_GET_VARS, $languages_id; //first let's get the products that have been added to newsletter if ($HTTP_GET_VARS['nID']) { $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id ='" . (int)$HTTP_GET_VARS['nID'] . "'"); $newsletter_products_string = ''; while($newsletter_products = tep_db_fetch_array($newsletter_products_query)){ $newsletter_products_string .= $newsletter_products['products_id'] . ', '; } $newsletter_products_string = trim($newsletter_products_string, ', '); //$newsletter_products_string = tep_db_result($newsletter_products_query, 0, $newsletter_products_query['products']); $current_products_query = "select pd.products_id, pd.products_name, p.products_model from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.language_id = '" . (int)$languages_id . "' and pd.products_id = p.products_id and p.products_status = '1'"; if($newsletter_products_string) $current_products_query .= " and pd.products_id in (" . $newsletter_products_string . ")"; $current_products_query .= " order by pd.products_name"; $current_products_query = tep_db_query($current_products_query); } if($newsletter_products_string){ $current_products_array = array(); while ($current_products = tep_db_fetch_array($current_products_query)){ $current_products_array[] = array('id' => $current_products['products_id'], 'text' => $current_products['products_name'] . ' - ' . $current_products['products_model']); } } $products_query = "select pd.products_id, pd.products_name, p.products_model from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.language_id = '" . (int)$languages_id . "' and pd.products_id = p.products_id and p.products_status = '1'"; if ($newsletter_products_string) $products_query .= " and pd.products_id not in(" . $newsletter_products_string . ")"; $products_query .= " order by pd.products_name"; $products_array = array(); $products_query = tep_db_query($products_query); while ($products = tep_db_fetch_array($products_query)) { $products_array[] = array('id' => $products['products_id'], 'text' => $products['products_name'] . ' - ' . $products['products_model']); } $choose_products_string = '<script language="javascript"><!-- function mover(move) { if (move == \'remove\') { for (x=0; x<(document.newsletter.products.length); x++) { if (document.newsletter.products.options[x].selected) { with(document.newsletter.elements[\'chosen[]\']) { options[options.length] = new Option(document.newsletter.products.options[x].text,document.newsletter.products.options[x].value); } document.newsletter.products.options[x] = null; x = -1; } } } if (move == \'add\') { for (x=0; x<(document.newsletter.elements[\'chosen[]\'].length); x++) { if (document.newsletter.elements[\'chosen[]\'].options[x].selected) { with(document.newsletter.products) { options[options.length] = new Option(document.newsletter.elements[\'chosen[]\'].options[x].text,document.newsletter.elements[\'chosen[]\'].options[x].value); } document.newsletter.elements[\'chosen[]\'].options[x] = null; x = -1; } } } return true; } function selectAll(FormName, SelectBox) { temp = "document." + FormName + ".elements[\'" + SelectBox + "\']"; Source = eval(temp); for (x=0; x<(Source.length); x++) { Source.options[x].selected = "true"; } } //--></script>'; $choose_products_string .= '<table border="0" width="100%" cellspacing="0" cellpadding="2">' . "\n" . ' <tr>' . "\n" . ' <td align="center" class="main"><strong>' . TEXT_PRODUCTS . '</strong><br />' . tep_draw_pull_down_menu('products', $products_array, '', 'size="20" style="width: 32em;" multiple') . '</td>' . "\n" . ' <td align="center" class="main"> <br /><br /><input type="button" value="' . BUTTON_SELECT . '" style="width: 8em;" onClick="mover(\'remove\');"><br /><br /><input type="button" value="' . BUTTON_UNSELECT . '" style="width: 8em;" onClick="mover(\'add\');"></td>' . "\n" . ' <td align="center" class="main"><strong>' . TEXT_SELECTED_PRODUCTS . '</strong><br />' . tep_draw_pull_down_menu('chosen[]', $current_products_array, '', 'size="20" style="width: 25em;" multiple') . '</td>' . "\n" . ' </tr>' . "\n" . '</table>'; return $choose_products_string; } function productInfo(){ global $languages_id; $this->productInfo = array(); $p_string = ''; for($i=0, $n=sizeof($this->products); $i<$n; $i++){ $p_string .= $this->products[$i] . ', '; } $p_string = trim($p_string, ', '); $product_query = tep_db_query("select p.products_id, pd.products_name, p.products_image, p.products_price, p.products_tax_class_id, if(s.status, s.specials_new_products_price, NULL) as specials_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd left join (select * from (select products_id, specials_new_products_price, expires_date, status from " . TABLE_SPECIALS . " where status = 1 order by products_id, specials_new_products_price, expires_date) as t group by products_id) as s on pd.products_id = s.products_id where pd.products_id = p.products_id and p.products_id in(" . $p_string . ") and pd.language_id=" . (int)$languages_id . " order by products_name"); //$this->productsInfo = array(); while($product = tep_db_fetch_array($product_query)){ $this->productsInfo[] = array('products_id' => $product['products_id'], 'products_name' => $product['products_name'], 'products_image' => $product['products_image'], 'products_price' => $product['products_price'], 'specials_price' => $product['specials_price'], 'products_tax_class_id' => $product['products_tax_class_id']); } } function html_content() { global $currencies, $languages_id; //create HTML string containing links & pics //define product columns here define('COLS', 2); $width = intval(100/COLS); $html_content = '<table border="0" width="100%" cellpadding="" cellspacing="3"><tr>'; $col = 0; $this->productInfo(); //change html body styles here $cssPrice = 'color: #000000;'; $cssSale = 'color: #ff0000;'; $cssMarkdown = 'color: #000000; text-decoration: line-through'; $cssLink = 'color: #ff0000; text-decoration: none'; for ($i=0, $n=sizeof($this->productsInfo); $i<$n; $i++) { if ($col > COLS-1) { $html_content .= '</tr><tr><td align="center" width="' . $width . '%"><a href="' . tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $this->productsInfo[$i]['products_id']) . '" target="_blank" style="' . $cssLink . '">' . tep_image(HTTP_CATALOG_SERVER . DIR_WS_CATALOG_IMAGES . $this->productsInfo[$i]['products_image'], $this->productsInfo[$i]['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '<br />' . $this->productsInfo[$i]['products_name'] . '</a><br />'; $price = ($this->productsInfo[$i]['specials_price']) ? '<span style="'. $cssMarkdown . '">' . $currencies->display_price($this->productsInfo[$i]['products_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) . '</span> <span style="' . $cssSale . '">' . $currencies->display_price($this->productsInfo[$i]['specials_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) . '</span>' : '<span style="' . $cssPrice . '">' . $currencies->display_price($this->productsInfo[$i]['products_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) . '</span>'; $html_content .= $price . '</td>'; $col = 0; } else { $html_content .= '<td align="center" width="' . $width . '%"><a href="' . tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $this->productsInfo[$i]['products_id']) . '" target="_blank" style="' . $cssLink . '">' . tep_image(HTTP_CATALOG_SERVER . DIR_WS_CATALOG_IMAGES . $this->productsInfo[$i]['products_image'], $this->productsInfo[$i]['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '<br />' . $this->productsInfo[$i]['products_name'] . '</a><br />'; $price = ($this->productsInfo[$i]['specials_price']) ? '<span style="' . $cssMarkdown . '">' . $currencies->display_price($this->productsInfo[$i]['products_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) . '</span> <span style="' . $cssSale . '">' . $currencies->display_price($this->productsInfo[$i]['specials_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) . '</span>' : '<span style="' . $cssPrice . '">' . $currencies->display_price($this->productsInfo[$i]['products_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) . '</span>'; $html_content .= $price . '</td>'; } $col++; } //uncomment & create your unsubscribe link in your includes/languages/YOUR LANGUAGE/modules/newsletters/newsletter_products.php $html_content .= '</tr><tr><td colspan="' . COLS . '">' . TEXT_UNSUBSCRIBE . '</td></tr></table>'; if(tep_not_null($this->template)){ //HTML page from template //$content = join('', file(DIR_WS_TEMPLATES . $this->template)); $content = file_get_contents(DIR_WS_TEMPLATES . $this->template); //remove all line breaks and spaces in template to ensure no spaces resulting from email class $content = str_replace("\n", '', $content); $content = str_replace("\r", '', $content); //$content = str_replace('> ', '>', $content); $content = addslashes($content); $email_title = $this->title; $email_message = nl2br($this->content); $text_content = $this->content; eval ("\$content = \"$content\";"); $html_content = $content; } return $html_content; } function text_content(){ global $currencies, $languages_id; $text_content = $this->content . "\r\n\r\n"; //var_dump($this->productsInfo); for($i=0, $n=sizeof($this->productsInfo); $i<$n; $i++){ $text_content .= $this->productsInfo[$i]['products_name'] . ' '; $price = ($this->productsInfo[$i]['specials_price']) ? 'Sale Price: ' . $currencies->display_price($this->productsInfo[$i]['specials_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) . ' Down from: ' . $currencies->display_price($this->productsInfo[$i]['products_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) : $currencies->display_price($this->productsInfo[$i]['products_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])); $text_content .= $price . "\n"; $text_content .= tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $this->productsInfo[$i]['products_id']) . "\r\r"; } //uncomment & create your unsubscribe link in your includes/languages/YOUR LANGUAGE/modules/newsletters/newsletter_products.php $text_content .= "\r\r" . TEXT_UNSUBSCRIBE; return strip_tags(str_replace(array('<p>', '</p>', '<br>', '<br />', '<br/>', '<ul>', '<li>', '</ul>'), "\n", $text_content)); } function confirm() { global $HTTP_GET_VARS; $mail_query = tep_db_query("select count(*) as count from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'"); $mail = tep_db_fetch_array($mail_query); $confirm_string = '<table border="0" cellspacing="0" cellpadding="2">' . "\n" . ' <tr>' . "\n" . ' <td class="main" style="font-weight: bold; color: red">' . sprintf(TEXT_COUNT_CUSTOMERS, $mail['count']) . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main" style="font-weight: bold">' . $this->title . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main">' . $this->text_content() . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main">' . $this->html_content() . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="smallText" align="right">' . tep_draw_button(IMAGE_SEND, 'mail-closed', tep_href_link(FILENAME_NEWSLETTERS, 'page=' . $HTTP_GET_VARS['page'] . '&nID=' . $HTTP_GET_VARS['nID'] . '&action=confirm_send'), 'primary') . tep_draw_button(IMAGE_CANCEL, 'close', tep_href_link(FILENAME_NEWSLETTERS, 'page=' . $HTTP_GET_VARS['page'] . '&nID=' . $HTTP_GET_VARS['nID'])) . '</td>' . "\n" . ' </tr>' . "\n" . '</table>'; return $confirm_string; } function send($newsletter_id) { $mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'"); //create id for current mailing $messageId = "Message-Id: <" . time() . "@" . $_SERVER['SERVER_NAME'] . ">"; $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer', $messageId)); //$mimemessage->add_text($this->content); //$text = $this->text_content(); $mimemessage->add_html($this->html_content(), $this->text_content(), HTTP_CATALOG_SERVER . DIR_WS_CATALOG_IMAGES); $mimemessage->build_message(); while ($mail = tep_db_fetch_array($mail_query)) { $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title, 'Return-Path: ' . EMAIL_FROM); } $newsletter_id = tep_db_prepare_input($newsletter_id); tep_db_query("update " . TABLE_NEWSLETTERS . " set date_sent = now(), status = '1' where newsletters_id = '" . tep_db_input($newsletter_id) . "'"); } } ?> X-Men1533006319 1
X-Men1533006319 Posted June 5, 2018 Posted June 5, 2018 Hallo Yepi, vielen Dank für den Code! Bei der newsletter_products.php soll ein Link [YOUR_UNSUBSCRIBE_LINK] für das Abmelden des Newsletter eingefügt werden. Quote define('TEXT_UNSUBSCRIBE', 'Hinweis: Sie erhalten diese E-Mail, weil Sie bei unsererm Shop ein Profil erstellt haben und angegeben haben, dass Sie unseren Newsletter abonnieren möchten. Wenn Sie solche E-Mails nicht mehr erhalten möchten, melden Sie sich einfach bei Ihrem Konto unter <a href="'. HTTPS_CATALOG_SERVER . DIR_WS_CATALOG . 'account_newsletters.php'/*. YOUR_UNSUBSCRIBE_LINK*/ .'" target="_blank">'. HTTPS_CATALOG_SERVER . DIR_WS_CATALOG . 'account_newsletters.php'/*. YOUR_UNSUBSCRIBE_LINK*/ .'</a> an. Dort deaktivieren Sie das Kontrollkästchen für Allgemeiner Newsletter und klicken auf die Weiter-Schaltfläche.'); Was muss da rein? Sonnige Grüße aus Zweibrücken, Frank
X-Men1533006319 Posted June 5, 2018 Posted June 5, 2018 Leider funktioniert der Rest auch nicht ganz. Bei view_newsletter.php wird folgender Fehler angezeigt: Warning: include(admin/includes/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 44Warning: include(): Failed opening 'admin/includes/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 44Warning: include(admin/includes/languages/english/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXXX/htdocs/catalog/view_newsletter.php on line 45Warning: include(): Failed opening 'admin/includes/languages/english/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 45
Yepi1533005574 Posted June 6, 2018 Author Posted June 6, 2018 Hi @X-Men1533006319, Schauu mal hier rein: https://apps.oscommerce.com/JvOkG&newslettter-products-for-oscommerce-2-3 Ich glaube das habe ich mitinstalliert. Deswegen die Fehlermeldung. Bau es ein und es sollte laufen. X-Men1533006319 1
X-Men1533006319 Posted June 6, 2018 Posted June 6, 2018 (edited) Hi Yepi, habe jetzt schon fast alles getauscht aber es will nicht funktionieren. :-/ Die o.a. Fehlermeldung bleibt bei der view_newsletter.php Funktioniert bei Dir jetzt alles? Wie sieht Deine view_newsletter.php aus? <?php /* $Id$ view_newsletter version 1.1 2018-04-12 osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_VIEWNEWS); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_VIEWNEWS)); require(DIR_WS_INCLUDES . 'template_top.php'); define('HTTPS_CATALOG_SERVER', HTTPS_SERVER); define('DIR_WS_TEMPLATES', 'admin/templates/'); function tep_catalog_href_link($page = '', $parameters = '', $connection = 'NONSSL') { return tep_href_link($page, $parameters, $connection); } ?> <h1><?php echo HEADING_TITLE; ?></h1> <div class="contentContainer"> <div class="contentText"> <?php $news_products = array(); $nID = (isset($HTTP_GET_VARS['nID']) ? tep_db_prepare_input($HTTP_GET_VARS['nID']) : 0); //newsletter products $newsletter_query = tep_db_query("select title, content, module, template from " . TABLE_NEWSLETTERS . " where newsletters_id = '" . (int)$nID . "'"); if (tep_db_num_rows($newsletter_query) == 1) { $newsletter = tep_db_fetch_array($newsletter_query); $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id = '" . (int)$nID . "'"); while ($newsletter_products = tep_db_fetch_array($newsletter_products_query)) { $news_products[] = $newsletter_products['products_id']; } $newsletter['products'] = $news_products; if ($newsletter['module'] == 'newsletter_products') { include('admin/includes/modules/newsletters/newsletter_products.php'); include('admin/includes/languages/english/modules/newsletters/newsletter_products.php'); echo '<iframe width="100%" height="800" src="' . tep_href_link('shownews.php', 'nID=' . $nID) . '"></iframe>'; } else { echo nl2br($newsletter['content']); } //end newsletter products } else { echo TEXT_NOT_FOUND; } echo "\n"; ?> </div> <div class="buttonSet"> <span class="buttonAction"><?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'triangle-1-e', tep_href_link(FILENAME_DEFAULT)); ?></span> </div> </div> <?php require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Fehleranzeige: Warning: include(admin/includes/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 44Warning: include(): Failed opening 'admin/includes/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 44Warning: include(admin/includes/languages/english/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 45Warning: include(): Failed opening 'admin/includes/languages/english/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 45 Warning: include(admin/includes/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/shownews.php on line 35Warning: include(): Failed opening 'admin/includes/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/shownews.php on line 35Warning: include(admin/includes/languages/english/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/shownews.php on line 36Warning: include(): Failed opening 'admin/includes/languages/english/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/shownews.php on line 36Fatal error: Class 'newsletter_products' not found in /homepages/XXXXXXX/htdocs/catalog/shownews.php on line 37 Im englischen Forum habe ich gelesen dass folgendes der configure.php hinzufügt werden soll? Allerdings steht in der "Install-Anleitung" nix davon? Quote define('DIR_WS_CATALOG_IMAGES_O', DIR_WS_CATALOG .'images/'); define('HTTP_CATALOG_SERVER_EMAIL', 'http://www.myweb.com/'); define('DIR_WS_CATALOG_IMAGES_EMAIL', 'images/'); Wie hast du das gemacht? Beste Grüße, Frank Edited June 6, 2018 by X-Men
Yepi1533005574 Posted June 6, 2018 Author Posted June 6, 2018 Das ist meine: <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_VIEWNEWS); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_VIEWNEWS)); require(DIR_WS_INCLUDES . 'template_top.php'); ?> <h1><?php echo HEADING_TITLE; ?></h1> <div class="contentContainer"> <div class="contentText"> <?php $nID = (isset($HTTP_GET_VARS['nID']) ? tep_db_prepare_input($HTTP_GET_VARS['nID']) : 0); //newsletter products $newsletter_query = tep_db_query("select title, content, module, template from " . TABLE_NEWSLETTERS . " where newsletters_id = '" . (int)$nID . "'"); if (tep_db_num_rows($newsletter_query) == 1) { $newsletter = tep_db_fetch_array($newsletter_query); $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id = '" . (int)$nID . "'"); while ($newsletter_products = tep_db_fetch_array($newsletter_products_query)) { $news_products[] = $newsletter_products['products_id']; } $newsletter['products'] = $news_products; if ($newsletter['module'] == 'newsletter_products') { // include('catalog/admin/includes/modules/newsletters/newsletter_products.php'); include(DIR_FS_CATALOG . 'admin/includes/modules/newsletters/newsletter_products.php'); include(DIR_FS_CATALOG . 'admin/includes/languages/english/modules/newsletters/newsletter_products.php'); $module = new newsletter_products($newsletter['title'], $newsletter['content'], $newsletter['products'], $newsletter['template']); echo $module->html_content(); } else { echo nl2br($newsletter['content']); } //end newsletter products } else { echo TEXT_NOT_FOUND; } echo "\n"; ?> </div> <div class="buttonSet"> <span class="buttonAction"><?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'triangle-1-e', tep_href_link(FILENAME_DEFAULT)); ?></span> </div> </div> <?php require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> X-Men1533006319 1
X-Men1533006319 Posted June 6, 2018 Posted June 6, 2018 Danke für das posten deiner Datei. Leider klappt es aber auch damit nicht. Die Fehlermeldungen haben sich nur etwas verändert. Quote Warning: include(/homepages/XXXXXXX/htdocs/catalog/admin/includes/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 39Warning: include(): Failed opening '/homepages/XXXXXXX/htdocs/catalog/admin/includes/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 39Warning: include(/homepages/XXXXXXX/htdocs/catalog/admin/includes/languages/english/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 40Warning: include(): Failed opening '/homepages/XXXXXXX/htdocs/catalog/admin/includes/languages/english/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXXhtdocs/catalog/view_newsletter.php on line 40Fatal error: Class 'newsletter_products' not found in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 41
Yepi1533005574 Posted June 7, 2018 Author Posted June 7, 2018 Ich hab mir das angeschaut, da es allerdings aus der alten Software von mir stammt nutze ich es nicht mehr. Soweit ich aber sehen konnte habe ich die Mail umgebaut, so, dass ich den Link zum Newsletter rausgenommen habe da die Ansicht der Produkt Newsletter nicht funktioniert hat. Die Textnewstetter waren OK doch alles andere hat nur Fehler bei der Anzeige im Shop gebracht.
Yepi1533005574 Posted June 7, 2018 Author Posted June 7, 2018 (edited) Warning: include(/homepages/XXXXXXX/htdocs/catalog/admin/includes/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 39 Diese Meldung sagt aus, dass eine Datei nicht vorhanden ist, bzw der Pfad nicht richtig ist. Schau genauer ob alles auf dem Server geladen ist und ob der Pfad zu der "newsletter_products.php" richtig gesetzt ist. Die andere Sache ist die ob deine php Version diesen Code unterstützt Edited June 7, 2018 by Yepi
IngoPhisto Posted June 7, 2018 Posted June 7, 2018 Okay. Aber was genau, ist an den Fehlermeldungen so schwer zu verstehen? ("No such file or Directory") Es werden zwei fehlende Dateien angemahnt. In einer davon muss wahrscheinlich die Klasse Newsletter_products zu finden sein. X-Men1533006319 1
Yepi1533005574 Posted June 7, 2018 Author Posted June 7, 2018 define('TEXT_UNSUBSCRIBE', 'Hinweis: Sie erhalten diese E-Mail, weil Sie bei unsererm Shop ein Profil erstellt haben und angegeben haben, dass Sie unseren Newsletter abonnieren möchten. Wenn Sie solche E-Mails nicht mehr erhalten möchten, melden Sie sich einfach bei Ihrem Konto unter <a href="'. HTTPS_CATALOG_SERVER . DIR_WS_CATALOG . 'account_newsletters.php'/*. YOUR_UNSUBSCRIBE_LINK*/ .'" target="_blank">'. HTTPS_CATALOG_SERVER . DIR_WS_CATALOG . 'account_newsletters.php'/*. YOUR_UNSUBSCRIBE_LINK*/ .'</a> an. Dort deaktivieren Sie das Kontrollkästchen für Allgemeiner Newsletter und klicken auf die Weiter-Schaltfläche.'); austauschen gegen define('TEXT_UNSUBSCRIBE', 'Hinweis: Sie erhalten diese E-Mail, weil Sie bei unsererm Shop ein Profil erstellt haben und angegeben haben, dass Sie unseren Newsletter abonnieren möchten. Wenn Sie solche E-Mails nicht mehr erhalten möchten, melden Sie sich einfach bei Ihrem Konto unter <a href="'. HTTPS_CATALOG_SERVER . DIR_WS_CATALOG . 'account_newsletters.php' . YOUR_UNSUBSCRIBE_LINK .'" target="_blank">'. HTTPS_CATALOG_SERVER . DIR_WS_CATALOG . 'account_newsletters.php' . YOUR_UNSUBSCRIBE_LINK .'</a> an. Dort deaktivieren Sie das Kontrollkästchen für Allgemeiner Newsletter und klicken auf die Weiter-Schaltfläche.'); define('YOUR_UNSUBSCRIBE_LINK', 'Newsletter abbestellen');
X-Men1533006319 Posted June 7, 2018 Posted June 7, 2018 Hallo und vielen Dank für Eure Antworten. Hier mal die Daten zu meinem Shop: Version: osCommerce Online Merchant v2.3.4 Server OS(Betriebssystem): Linux 3.16.0-ui18135.21-uiabi1-infong-amd64 Datenbank: MySQL 5.5.60-0+deb7u1-log Server Datum: 2018-06-07 14:35:37 +0200 CEST Datenbank Datum: 2018-06-07 14:35:37 HTTP Server: Apache PHP Version: 5.6.36 (Zend: 2.6.0) Leider habe ich von der Materie keine Ahnung, ich kann lediglich nach Anweisung Modifikationen installieren. Ich habe alle Dateien mehrfach geprüft und auch alles an die richtige Stelle kopiert. Wie soll der Pfad aussehen bzw. wo finde ich das in einer Datei. Wo wird das definiert. Könnt ihr mir bitte ein Bespiel geben? Gerne kann ich auch hier eine Datei posten, hochladen. Gruß, Frank
Yepi1533005574 Posted June 7, 2018 Author Posted June 7, 2018 <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_VIEWNEWS); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_VIEWNEWS)); require(DIR_WS_INCLUDES . 'template_top.php'); ?> <h1><?php echo HEADING_TITLE; ?></h1> <div class="contentContainer"> <div class="contentText"> <?php $nID = (isset($HTTP_GET_VARS['nID']) ? tep_db_prepare_input($HTTP_GET_VARS['nID']) : 0); //newsletter products $newsletter_query = tep_db_query("select title, content, module, template from " . TABLE_NEWSLETTERS . " where newsletters_id = '" . (int)$nID . "'"); if (tep_db_num_rows($newsletter_query) == 1) { $newsletter = tep_db_fetch_array($newsletter_query); $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id = '" . (int)$nID . "'"); while ($newsletter_products = tep_db_fetch_array($newsletter_products_query)) { $news_products[] = $newsletter_products['products_id']; } $newsletter['products'] = $news_products; if ($newsletter['module'] == 'newsletter_products') { // include('catalog/admin/includes/modules/newsletters/newsletter_products.php'); include(DIR_FS_CATALOG . 'admin/includes/modules/newsletters/newsletter_products.php'); include(DIR_FS_CATALOG . 'admin/includes/languages/english/modules/newsletters/newsletter_products.php'); $module = new newsletter_products($newsletter['title'], $newsletter['content'], $newsletter['products'], $newsletter['template']); echo $module->html_content(); } else { echo nl2br($newsletter['content']); } //end newsletter products } else { echo TEXT_NOT_FOUND; } echo "\n"; ?> </div> <div class="buttonSet"> <span class="buttonAction"><?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'triangle-1-e', tep_href_link(FILENAME_DEFAULT)); ?></span> </div> </div> <?php require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Versuchs mal damit
Yepi1533005574 Posted June 7, 2018 Author Posted June 7, 2018 (edited) include(DIR_FS_CATALOG . 'admin/includes/languages/german/modules/newsletters/newsletter_products.php'); Edited June 7, 2018 by Yepi
X-Men1533006319 Posted June 7, 2018 Posted June 7, 2018 (edited) Leider nein ... Folgende Fehlermeldung wird angezeigt: Quote Warning: include(/homepages/XXXXXXX/htdocs/catalog/admin/includes/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 39Warning: include(): Failed opening '/homepages/XXXXXXX/htdocs/catalog/admin/includes/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 39Warning: include(/homepages/XXXXXXX/htdocs/catalog/admin/includes/languages/english/modules/newsletters/newsletter_products.php): failed to open stream: No such file or directory in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 40Warning: include(): Failed opening '/homepages/XXXXXXX/htdocs/catalog/admin/includes/languages/english/modules/newsletters/newsletter_products.php' for inclusion (include_path='.:/usr/lib/php5.6') in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 40Fatal error: Class 'newsletter_products' not found in /homepages/XXXXXXX/htdocs/catalog/view_newsletter.php on line 41 Kann es auch an der shownews.php liegen? Ich habe es so verstanden dass die dann in einen iframe angezeigt wird .....bin mir aber nicht sicher da ich die Modifikation nicht kenne und diese auch nicht funktioniert? <?php /* $Id$ shownews version 1.0 2018-04-12 osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License Used to show a newsletter products newsletter which is expected to be an HTML document in and of itself within an iframe in the View Newsletter page. */ require('includes/application_top.php'); define('HTTPS_CATALOG_SERVER', HTTPS_SERVER); define('DIR_WS_TEMPLATES', 'admin/templates/'); function tep_catalog_href_link($page = '', $parameters = '', $connection = 'NONSSL') { return tep_href_link($page, $parameters, $connection); } $nID = (isset($HTTP_GET_VARS['nID']) ? tep_db_prepare_input($HTTP_GET_VARS['nID']) : 0); //newsletter products $news_products = array(); $newsletter_query = tep_db_query("select title, content, module, template from " . TABLE_NEWSLETTERS . " where newsletters_id = '" . (int)$nID . "'"); if (tep_db_num_rows($newsletter_query) == 1) { $newsletter = tep_db_fetch_array($newsletter_query); $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id = '" . (int)$nID . "'"); while ($newsletter_products = tep_db_fetch_array($newsletter_products_query)) { $news_products[] = $newsletter_products['products_id']; } $newsletter['products'] = $news_products; if ($newsletter['module'] == 'newsletter_products') { include('admin/includes/modules/newsletters/newsletter_products.php'); include('admin/includes/languages/english/modules/newsletters/newsletter_products.php'); $module = new newsletter_products($newsletter['title'], $newsletter['content'], $newsletter['products'], $newsletter['template']); echo $module->html_content(); } else { echo nl2br($newsletter['content']); } //end newsletter products } else { echo TEXT_NOT_FOUND; } echo "\n"; require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> In der Original view_newsletter.php echo '<iframe width="100%" height="800" src="' . tep_href_link('shownews.php', 'nID=' . $nID) . '"></iframe>'; Edited June 7, 2018 by X-Men
Yepi1533005574 Posted June 7, 2018 Author Posted June 7, 2018 auf jeden Fall, finder der die zwei Dateien auf deinem Server nicht warum auch immer. admin/includes/modules/newsletters/newsletter_products.php /admin/includes/languages/english/modules/newsletters/newsletter_products.php
Yepi1533005574 Posted June 7, 2018 Author Posted June 7, 2018 ist dein Shop multilangual oder hast du nur eine Sprache installiert ?
X-Men1533006319 Posted June 8, 2018 Posted June 8, 2018 Ja, 2 Sprachen (deutsch & englisch). Die englischen Sprachdateien habe ich übersetzt und in die deutschen Ordner kopiert.
Yepi1533005574 Posted June 8, 2018 Author Posted June 8, 2018 (edited) Wie gesagt, die sprachdatei zieht er aus dem englischem laut Pfad /admin/includes/languages/english/modules/newsletters/newsletter_products. hier der ganzer Pfad: include(DIR_FS_CATALOG . 'admin/includes/languages/english/modules/newsletters/newsletter_products.php'); und hie deiner: include('admin/includes/languages/english/modules/newsletters/newsletter_products.php'); Schau mal in deiner configure.php Edited June 8, 2018 by Yepi
X-Men1533006319 Posted June 8, 2018 Posted June 8, 2018 Also in der admin/includes/configure.php sind zur Sprache folgende Einträge: define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/'); define('DIR_WS_CATALOG_LANGUAGES', DIR_WS_CATALOG . 'includes/languages/'); define('DIR_FS_CATALOG_LANGUAGES', DIR_FS_CATALOG . 'includes/languages/'); Und in der catalog/includes/configure.php : define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');
Yepi1533005574 Posted June 8, 2018 Author Posted June 8, 2018 es geht um diesen Pfad: DIR_FS_CATALOG Hier wird der komplette Pfad generiert + Zielverzeichis
X-Men1533006319 Posted June 8, 2018 Posted June 8, 2018 (edited) Nun, selbst wenn ich den Pfad in der Datei ändere bzw. Deine Datei hochlade bleibt die Fehlermeldung. Ob include(DIR_FS_CATALOG . 'admin/includes/languages/english/modules/newsletters/newsletter_products.php'); oder include('admin/includes/languages/english/modules/newsletters/newsletter_products.php'); In der configure.php steht: define('DIR_FS_CATALOG_LANGUAGES', DIR_FS_CATALOG . 'includes/languages/'); Was könnte ich noch ändern? bzw. ausprobieren? Edited June 8, 2018 by X-Men
X-Men1533006319 Posted June 8, 2018 Posted June 8, 2018 Möchte noch etwas hinzufügen. Die Fehlermeldungen werden nur angezeigt wenn ich einen vorhandenen Newsletter aufrufe. Also z.B. view_newsletter.php?nID=16 Wenn ich nur die view_newsletter.php aufrufe ist die Anzeige korrekt und es wird die Meldung "Es wurde kein Newsletter gefunden." angezeigt. So müsste der Fehler ja zum Pfad des erstellten Newsletter (nID=16) liegen. Im Adminbereich wird der Newsletter (nID=16) korrekt angezeigt, nur eben nicht im Shop
Recommended Posts