Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

stefan21

Pioneers
  • Posts

    119
  • Joined

  • Last visited

Everything posted by stefan21

  1. O.k. finally I somehow could manage to (nearly) get what I need. Here's how it works. I would appreciate if anybody could point me in a more elegant way. 1. in the paypal_standard.php // lets start with the email confirmation $email_order = STORE_NAME . "\n\n" . EMAIL_TEXT_BODY . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $order_id . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $order_id, 'SSL', false) . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n"; if ($order->info['comments']) { $email_order .= tep_db_output($order->info['comments']) . "\n\n"; } $email_order .= EMAIL_TEXT_PRODUCTS . "\n" . EMAIL_SEPARATOR . "\n" . $products_ordered . EMAIL_SEPARATOR . "\n"; for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n"; } if ($order->content_type != 'virtual') { $email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n"; } $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n"; if (is_object($$payment)) { $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . EMAIL_SEPARATOR . "\n\n" . EMAIL_TEXT_COMPANY . "\n"; $payment_class = $$payment; $email_order .= $payment_class->title . "\n\n"; if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; } } and: // tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); $file = (DIR_WS_LANGUAGES . german . '/agb.pdf'); tep_mail_attach($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $file, 'agb.pdf', 'application/pdf'); - which is surely quite beginner-like. Well, I'm not a programmer... 2.) in the checkout_process.php // PayPal define('EMAIL_TEXT_COMPANY', ' Mit freundlichen Grüßen, '); and: define('EMAIL_TEXT_BODY', 'Vielen Dank für Ihre Bestellung! blabla'); NOW - the only thing left is to display the articles in UTF8 for the view in PayPal Standard. And yes, I changed the buttons in the PP-website-config already in UTF8. And no, it's not working. At least not in my sandbox and for the location Germany. I read and tried this from Gergely: 'item_name_1' => STORE_NAME, 'charset' => 'UTF-8', That leads for me in: "Could not verify the PayPal transaction. Please try again." Any other ideas out there?
  2. Hmm, I tested in a sandbox a different payment and shipment adress. As I saw, PayPal comes always back with their adresses. That means if a customer has a different PayPal adress, the shop-adress from the customer is going to be overwritten in the order and confirmation email. So the customer has to be told, that he has to write an additionol comment where he defines the billing adress. Another point that I found out with PayPal Express is, that PayPal Express is not registering the products in the notifications for the seller and the buyer. You may check this in the PayPal Devel accounts. PayPal Standard does. BUT - due to legal issues I have to attach a file to the confirmation email from the shop to the customer as well, with a specific text in this email. This is possible (for me) in PayPal Express, BUT not in PayPal Standard. I'd like to use PayPal Standard, but there MUST be a specific text in the confirmation email and a file has to be attached as well. I solved this for prepayment and PayPal Express already, but how can this be done for PayPal Standard? Am I wrong?
  3. @ wHiTeHaT thank you for your reply. I read through http://forums.oscomm...gain/?p=1703165 and this http://www.oscommerce.com/forums/topic/397899-mobile-devices-paypal-standard-buyer-being-returned-to-shopping-cart-after-purchase/ Now I'm totally confused. Do I have to install this addon: http://addons.oscommerce.com/info/9184 Will everything work then? In this case I'd like to know, why in heaven does the module shipped in standard OsC 2.3.4 not work? Why is it integrated? What sense does it make to integrate a piece of software that does not work? Assuming, that the configuration has been done correctly. Or should I follow the advice of Bob Terveuren who has the opinion, that PP should be kicked off? I resume: 1.) I activated the OsC 2.3.4 PP express module. This module can't handle a different shipping adress from the payment adress. --> Not useful for me. 2.) I followed the advice of Gergely, and installed the PP standard module. I read and tried to follow all installation/configuration steps very carefully. For me, this module doesn't work either in a correct way. All tested in the sandbox as the site is still not online. If anyone is able to direct me step-by-step in the right way, I'll give it a try again. I would greatly appreciate that. If no solution can be found, PayPal is a waste of time, at least for me.
  4. Here some pictures for better understanding:
  5. Running Osc 2.3.4 Testing PP Standard with my sandbox. Location is Germany. Right now I'm running in a double login for PayPal Standard. UTF8 not working, redirection to checkout_process.php/checkout_success.php, meaning back to the shop, results in an error: could not verify transaction.... Can anybody confirm? Update: sometimes the transaction works, sometimes not. UTF8 not working at all. Is PayPal under construction? Are they changing things?
  6. Running OsC 2.3.4. I feel a little bit lost. In my pp standard-account I configured UTF8 charset. Testing a transaction with the sandbox the encoding does not work, but the transaction is running through without errors. Following the fix posted from gergely for paypal_standard.php: $process_button_string = ''; $parameters = array('cmd' => '_cart', 'upload' => '1', 'item_name_1' => STORE_NAME, // UTF8-FIX 'charset' => 'UTF-8', 'shipping_1' => $this->format_raw($order->info['shipping_cost']), 'business' => MODULE_PAYMENT_PAYPAL_STANDARD_ID, 'amount_1' => $this->format_raw($order->info['total'] - $order->info['shipping_cost'] - $total_tax), 'currency_code' => $currency, 'invoice' => substr($cart_PayPal_Standard_ID, strpos($cart_PayPal_Standard_ID, '-')+1), 'custom' => $customer_id, 'no_note' => '1', 'notify_url' => tep_href_link('ext/modules/payment/paypal/standard_ipn.php', '', 'SSL', false, false), 'rm' => '2', 'return' => tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL'), 'cancel_return' => tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'), 'bn' => 'OSCOM23_PS', 'paymentaction' => ((MODULE_PAYMENT_PAYPAL_STANDARD_TRANSACTION_METHOD == 'Sale') ? 'sale' : 'authorization')); results in the correct encoding, BUT - the transaction results in a "could not verify error". Thank's for any help - I will not be able to use PP without correct UTF8 encoding. stefan
  7. Shop is running on OsC 2.3.4. I'd like to attach a file to the email confirmation from Paypal Standard. For prepayment module I added to the catalog/checkout_process.php: // tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // $file = (DIR_WS_LANGUAGES . $language . '/agb.pdf'); tep_mail_attach($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $file, 'agb.pdf', 'application/pdf'); Which I found somewhere in the forum, can't remember where and who. Thank's anyway, this is working like a charm. I assume I have to alter/change the code in catalog/includes/modules/payment/paypal_standard.php to attach a file if a customer pays with paypal. I tried this but right now the file is attached but has always "0" bytes. Thank's for any reply, stefan
  8. @@Jack_mcs, IMVHO - while I'm running two identical live shops OsC 2.3.4 without Header Tags SEO are showing the favicon, and the one with Header Tags SEO implemented does not, I don't think that it's making sense to move this thread (or open a thread) to general. Maybe it depends on adapting to the german language...
  9. Gergely, thank you for your reply. In other words - the pp eypress module is useless if customers have different payment and shipment adresses?
  10. Good day, not quite sure, but I'd like to report a bug for the paypal express module. Payment adress is overwritten with the shipping adress. The result is seen in the confirmation email as well as in the customer order history. All tested in the pp sandbox. I'd like to know if anybody can confirm this. And if so, is there a solution or a workaround. As long as this is not fixed, I'm not able to run a shop with pp express. I can provide any information needed to dive in this issue. If I'm wrong I'd like to know where to investigate. Thank's for any reply, stefan
  11. The favicon (just in the root) does show up in MS IE. It does not show up in a firefox browser. No adblockers etc. installed. Even with a link in the head section.
  12. frankl I'm running OsC 2.3.4 up-to-date. You wrote: Does that mean, that billing adress and shipping adress from the shop to paypal express will be returned back to the shop in the way, the customer has it defined? Right now in my installation only the shipping adress is returned from paypal to the shop (and the confirmation email). If the customer has defined a billing adress, it's beeing overwritten with the shipping adress from paypal express. Will this one solve the problem? http://www.oscommerce.com/forums/topic/408822-paypal-payflow-express-checkout-ship-to-address-bug/ Thank's for any reply, stefan
  13. I didn't change any code or added any code in the files you mentioned. The favicon was there out-of-the-box. Now it's gone. You may have a look at this: http://www.oscommerce.com/forums/topic/403421-favicon/ BTW - I'm running two other (identical) shops without Header Tags SEO. The favicon is just in the root and shows up there. Therefore I doubt that the addon does not affect the favicon.
  14. Jack_mcs, thank you for your support - it's a great addon anyway. Last question: I'd like to have my favicon back - have you got any idea how to fix this? stefan
  15. o.k. The shop has a permanent redirection - it's forced to https. It does - but only if I enter https:// *NOT* with http:// I did a test with a vanilla clean installation of an 2.3.4 English only shop. I uploaded all files without changing a piece of code. Results of scan: index.php is missing Header Tags code or it is not installed correctly. Verify that Fill Tags has been ran and that the root checkbox or the default checkboxes have been checked in Page Control. What I see in some files is that the code is older as this one in the 2.3.4 shop which I downloaded a few days ago and used for this test. Maybe this could be a reason? I'm sorry, I give up. Thank you for your patience, I'll use it anyway. As I already told, all tags are filled. I think that's what's important. stefan
  16. Jack_mcs: Step one: Fill Tags result: 1 Category tags have been filled. 1 Manufacturer tags have been filled. 2 Product tags have been filled. no errors reported. Step two: Page control Quick stats: Quick Stats: (all should be 0 except keywords) Categories Missing Descriptions: 0 Categories Missing Title/Tags: 0 Manufacturers Missing Descriptions: 0 Manufacturers Missing Title/Tags: 0 Keywords Searched: 0 Found: Products Missing Title/Tags: 0 Step three: Filling the default tags including group, manufacturer, category and product. All meta tags except of robots and reply to are checked. Step four: select option index.php category, product, manufacturer and root checked checking the box "view result" gives: in yellow color: Title 301 Moved Permanently in red color: Description and Keywords are empty Viewing the html-source of index.php shows, that all tags are filled. The same with all other pages. Performing the test with index.php shows: index.php is missing Header Tags code or it is not installed correctly. Verify that Fill Tags has been ran and that the root checkbox or the default checkboxes have been checked in Page Control. Here's my index.php: <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2010 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); // ExtraInfoPages ################# $page_query = tep_db_query("select p.pages_id, p.sort_order, p.status, s.pages_title, s.pages_html_text from " . TABLE_PAGES . " p LEFT JOIN " .TABLE_PAGES_DESCRIPTION . " s on p.pages_id = s.pages_id where p.status = 1 and s.language_id = '" . (int)$languages_id . "' and p.page_type = 1"); $page_check = tep_db_fetch_array($page_query); $pagetext=stripslashes($page_check[pages_html_text]); ##################### // the following cPath references come from application_top.php $category_depth = 'top'; if (isset($cPath) && tep_not_null($cPath)) { $categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'"); $categories_products = tep_db_fetch_array($categories_products_query); if ($categories_products['total'] > 0) { $category_depth = 'products'; // display products } else { $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'"); $category_parent = tep_db_fetch_array($category_parent_query); if ($category_parent['total'] > 0) { $category_depth = 'nested'; // navigate through the categories } else { $category_depth = 'products'; // category has no products, but display the 'no products' message } } } require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT); require(DIR_WS_INCLUDES . 'template_top.php'); if ($category_depth == 'nested') { /*** Begin Header Tags SEO ***/ $category_query = tep_db_query("select cd.categories_name, c.categories_image, IF(cd.categories_htc_title_tag_alt != '',cd.categories_htc_title_tag_alt,cd.categories_htc_title_tag) as categories_htc_title_tag, cd.categories_htc_description from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'"); /*** end Header Tags SEO ***/ $category = tep_db_fetch_array($category_query); ?> <h1><?php echo $category['categories_htc_title_tag']; ?></h1> <?php /*** Begin Header Tags SEO ***/ if (tep_not_null($category['categories_htc_description'])) { echo '<h2 style="text-decoration:none;">' . $category['categories_htc_description'] . '</h2>'; } /*** End Header Tags SEO ***/ ?> <div class="contentContainer"> <div class="contentText"> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <?php if (isset($cPath) && strpos('_', $cPath)) { // check to see if there are deeper categories within the current category $category_links = array_reverse($cPath_array); for($i=0, $n=sizeof($category_links); $i<$n; $i++) { $categories_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "'"); $categories = tep_db_fetch_array($categories_query); if ($categories['total'] < 1) { // do nothing, go through the loop /*** Begin Header Tags SEO ***/ $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id, IF(cd.categories_htc_description,cd.categories_htc_description,'') as hts_desc from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name"); /*** End Header Tags SEO ***/ break; // we've found the deepest category the customer is in } } } else { /*** Begin Header Tags SEO ***/ $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id, IF(cd.categories_htc_description !='',cd.categories_htc_description,'') as hts_desc from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$current_category_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name"); /*** End Header Tags SEO ***/ } $number_of_categories = tep_db_num_rows($categories_query); $rows = 0; while ($categories = tep_db_fetch_array($categories_query)) { $rows++; $cPath_new = tep_get_path($categories['categories_id']); $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%'; /*** Begin Header Tags SEO ***/ $htsDesc = ''; if (HEADER_TAGS_DISPLAY_CATEGORY_SHORT_DESCRIPTION !== 'Off' && tep_not_null($categories['hts_desc'])) { $lgth = (int)HEADER_TAGS_DISPLAY_CATEGORY_SHORT_DESCRIPTION; $htsDesc = '<br>'; if (isset($categories['hts_desc'][$lgth])) { $htsDesc .= substr($categories['hts_desc'], 0, ($lgth - 3)) . '<span class="hts_listing_see_more">...' . TEXT_SEE_MORE . '</span>'; } else { $htsDesc .= $categories['hts_desc']; } } echo ' <td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . $htsDesc . '</a></td>' . "\n"; /*** End Header Tags SEO ***/ if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) { echo ' </tr>' . "\n"; echo ' <tr>' . "\n"; } } // needed for the new products module shown below $new_products_category_id = $current_category_id; ?> </tr> </table> <br /> <?php include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?> <!--- BEGIN Header Tags SEO Social Bookmarks --> <?php if (HEADER_TAGS_DISPLAY_SOCIAL_BOOKMARKS == 'true') { echo '<div style="margin-top:5px; float:right;">'; include(DIR_WS_MODULES . 'header_tags_social_bookmarks.php'); echo '</div>'; } ?> <!--- END Header Tags SEO Social Bookmarks --> </div> </div> <?php } elseif ($category_depth == 'products' || (isset($HTTP_GET_VARS['manufacturers_id']) && !empty($HTTP_GET_VARS['manufacturers_id']))) { // create column list $define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL, 'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME, 'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER, 'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE, 'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY, 'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT, 'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE, 'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW); asort($define_list); $column_list = array(); reset($define_list); while (list($key, $value) = each($define_list)) { if ($value > 0) $column_list[] = $key; } $select_column_list = ''; for ($i=0, $n=sizeof($column_list); $i<$n; $i++) { switch ($column_list[$i]) { case 'PRODUCT_LIST_MODEL': $select_column_list .= 'p.products_model, '; break; case 'PRODUCT_LIST_NAME': $select_column_list .= 'pd.products_name, '; break; case 'PRODUCT_LIST_MANUFACTURER': $select_column_list .= 'm.manufacturers_name, '; break; case 'PRODUCT_LIST_QUANTITY': $select_column_list .= 'p.products_quantity, '; break; case 'PRODUCT_LIST_IMAGE': $select_column_list .= 'p.products_image, '; break; case 'PRODUCT_LIST_WEIGHT': $select_column_list .= 'p.products_weight, '; break; } } // show the products of a specified manufacturer if (isset($HTTP_GET_VARS['manufacturers_id']) && !empty($HTTP_GET_VARS['manufacturers_id'])) { if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) { // We are asked to show only a specific category $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'"; } else { // We show them all $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"; } } else { // show the products in a given categorie if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) { // We are asked to show only specific catgeory $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } else { // We show them all $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } } if ( (!isset($HTTP_GET_VARS['sort'])) || (!preg_match('/^[1-8][ad]$/', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) { for ($i=0, $n=sizeof($column_list); $i<$n; $i++) { if ($column_list[$i] == 'PRODUCT_LIST_NAME') { $HTTP_GET_VARS['sort'] = $i+1 . 'a'; $listing_sql .= " order by pd.products_name"; break; } } } else { $sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1); $sort_order = substr($HTTP_GET_VARS['sort'], 1); switch ($column_list[$sort_col-1]) { case 'PRODUCT_LIST_MODEL': $listing_sql .= " order by p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_NAME': $listing_sql .= " order by pd.products_name " . ($sort_order == 'd' ? 'desc' : ''); break; case 'PRODUCT_LIST_MANUFACTURER': $listing_sql .= " order by m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_QUANTITY': $listing_sql .= " order by p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_IMAGE': $listing_sql .= " order by pd.products_name"; break; case 'PRODUCT_LIST_WEIGHT': $listing_sql .= " order by p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_PRICE': $listing_sql .= " order by final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; } } /*** Begin Header Tags SEO ***/ if (isset($HTTP_GET_VARS['manufacturers_id'])) { $image = tep_db_query("select manufacturers_image, manufacturers_name as catname from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"); $image = tep_db_fetch_array($image); $db_query = tep_db_query("select IF(manufacturers_htc_title_tag_alt != '',manufacturers_htc_title_tag_alt,manufacturers_htc_title_tag) as htc_title, manufacturers_htc_description as htc_description from " . TABLE_MANUFACTURERS_INFO . " where languages_id = '" . (int)$languages_id . "' and manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"); } elseif ($current_category_id) { $image = tep_db_query("select c.categories_image, cd.categories_name as catname from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "'"); $image = tep_db_fetch_array($image); $db_query = tep_db_query("select IF(categories_htc_title_tag_alt != '',categories_htc_title_tag_alt,categories_htc_title_tag) as htc_title, categories_htc_description as htc_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$current_category_id . "' and language_id = '" . (int)$languages_id . "'"); } $htc = tep_db_fetch_array($db_query); ?> <h1><?php echo $htc['htc_title']; ?></h1> <?php /*** End Header Tags SEO ***/ ?> <div class="contentContainer"> <?php // optional Product List Filter if (PRODUCT_LIST_FILTER > 0) { if (isset($HTTP_GET_VARS['manufacturers_id']) && !empty($HTTP_GET_VARS['manufacturers_id'])) { $filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' order by cd.categories_name"; } else { $filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m.manufacturers_name"; } $filterlist_query = tep_db_query($filterlist_sql); if (tep_db_num_rows($filterlist_query) > 1) { echo '<div>' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . '<p align="right">' . TEXT_SHOW . ' '; if (isset($HTTP_GET_VARS['manufacturers_id']) && !empty($HTTP_GET_VARS['manufacturers_id'])) { echo tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']); $options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES)); } else { echo tep_draw_hidden_field('cPath', $cPath); $options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS)); } echo tep_draw_hidden_field('sort', $HTTP_GET_VARS['sort']); while ($filterlist = tep_db_fetch_array($filterlist_query)) { $options[] = array('id' => $filterlist['id'], 'text' => $filterlist['name']); } echo tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"'); echo tep_hide_session_id() . '</p></form></div>' . "\n"; } } /*** Begin Header Tags SEO ***/ if (tep_not_null($htc['htc_description'])) { echo '<h2 style="text-decoration:none;">'. $htc['htc_description'] . '</h2>'; } /*** End Header Tags SEO ***/ include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?> </div> <!--- BEGIN Header Tags SEO Social Bookmarks --> <?php if (HEADER_TAGS_DISPLAY_SOCIAL_BOOKMARKS == 'true') { echo '<div style="margin-top:5px; float:right;">'; include(DIR_WS_MODULES . 'header_tags_social_bookmarks.php'); echo '</div>'; } ?> <!--- END Header Tags SEO Social Bookmarks --> <?php } else { // default page ?> <h1><?php echo HEADING_TITLE; ?></h1> <div class="contentContainer"> <div class="contentText"> <?php echo tep_customer_greeting(); ?> </div> <?php /* if (tep_not_null(TEXT_MAIN)) { ?> <div class="contentText"> <?php echo TEXT_MAIN; ?> </div> <?php } */ // ExtraInfoPages echo $pagetext; /* include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); */ //<!--- Begin Header Tags SEO Home Page Text and Social Bookmarks --> if (tep_not_null($header_tags_array['home_page_text'])) { echo '<div>'; echo '<div style="padding:10px 0;">' . $header_tags_array['home_page_text'] . '</div>'; echo '</div>'; } if (HEADER_TAGS_DISPLAY_SOCIAL_BOOKMARKS == 'true') { echo '<div>'; include(DIR_WS_MODULES . 'header_tags_social_bookmarks.php'); echo '</div>'; } //<!--- END Header Tags SEO Home Page Text and Social Bookmarks --> include(DIR_WS_MODULES . FILENAME_UPCOMING_PRODUCTS); ?> </div> <?php } require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> What's wrong? Or should I ignore the test result, I mean, all tags are filled?
  17. Jack_mcs, sorry to bother you again - maybe I'm too stupid. You wrote: As I can see this are the files in /language to change for the shop side: - english.php -> german.php: /*** Begin Header Tags SEO ***/ define('BOX_HEADING_HEADERTAGS_TAGCLOUD', 'Popular Searches'); define('TEXT_SEE_MORE', 'see more'); define('TEXT_SEE_MORE_FULL', 'see more about %s'); define('HTS_OG_AVAILABLE_STOCK', 'Available Stock'); define('HTS_OG_PRICE', 'Price'); /*** End Header Tags SEO ***/ in the subdirectory /german: - product_info.php /*** Begin Header Tags SEO ***/ define('TEXT_VIEWING', 'Currently viewing:'); /*** End Header Tags SEO ***/ - products_reviews_info.php /*** Begin Header Tags SEO ***/ define('TEXT_VIEWING', 'Currently viewing:'); /*** End Header Tags SEO ***/ admin side: - engish.php -> german.php: /*** Begin Header Tags SEO ***/ // header_tags_seo text in includes/boxes/header_tags_seo.php define('BOX_HEADING_HEADER_TAGS_SEO', 'Header Tags SEO'); define('BOX_HEADER_TAGS_ADD_A_PAGE', 'Page Control'); define('BOX_HEADER_TAGS_FILL_TAGS', 'Fill Tags'); define('BOX_HEADER_TAGS_KEYWORDS', 'Keywords'); define('BOX_HEADER_TAGS_SILO', 'Silo Control'); define('BOX_HEADER_TAGS_SOCIAL', 'Social'); define('BOX_HEADER_TAGS_TEST', 'Test'); /*** End Header Tags SEO ***/ in the subdirectory /german: - categories.php /*** Begin Header Tags SEO ***/ define('TEXT_PRODUCT_METTA_INFO', 'Header Tags SEO Meta Tag Data'); define('TEXT_PRODUCTS_BREADCRUMB', 'Breadcrumb Text'); define('TEXT_PRODUCTS_PAGE_TITLE', 'Title Tag'); define('TEXT_PRODUCTS_PAGE_TITLE_ALT', 'Title Tag - Alternate'); define('TEXT_PRODUCTS_PAGE_TITLE_URL', 'Title Tag - URL'); define('TEXT_PRODUCTS_HEADER_DESCRIPTION', 'Meta Description'); define('TEXT_PRODUCTS_KEYWORDS', 'Meta Keywords'); define('TEXT_PRODUCTS_LISTING_TEXT', 'Product Listing Text'); define('TEXT_PRODUCTS_SUB_TEXT', 'Product Page Sub Text'); /*** End Header Tags SEO ***/ BTW - is that a typo? "TEXT_PRODUCT_METTA_INFO" -> "TEXT_PRODUCT_META_INFO" I was going about 5 times through the instructions and I'm sure, I followed carefully and completely... what did I overlook? Would it be helpful to give you the link to the shop?
  18. Jack_mcs, I did. I mean all I can see is that the tags in all pages are filled... Mhmm, what changes? The only thing I see is to upload the files in /catalog/includes/english and /catalog/admin/includes/english to ./german. Did I overlook something? There's under modules a section (module) called "Header Tags" - right now, there's nothing installed. Is that o.k.? I don't know. Yes. But I still don't understand...
  19. Finally - how do Header Tags SEO Keywords work? I don't understand "This page allows viewing the results of the search and tag cloud options. The position in the google listings can also be found by clicking the button in the Get Position column." What's search and tag cloud options? There's no button nor a column Get Position?
  20. Well, I tried to follow exactly the instructions in the "How_to_operate" and "So_What_Good_is_it" files. Maybe depending on the German language, I still have a few questions/irritations. In the shop is installed Ultimate SEO V 2.2d, add "cPath to product URLs?" are set on "false" (is this correct?) In the shop the "Use Search-Engine Safe URLs" are set on "false" Here's the .htaccess: # $Id$ # block unwanted bots <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^(-?$|baidu|baiduspider|yandex|sogou|moget|ichiro|naverbot|yeti|youdaobot) [NC] # RewriteRule .* - [F,L] RewriteRule (.*) view_counter_trap.php [L] </IfModule> # view counter trap anyone trying to access admin Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} \"/admin/\" RewriteRule (.*) view_counter_trap.php [L] # Redirect domain.com to www.domain.com RewriteCond %{HTTP_HOST} ^xxx.de [NC] RewriteRule ^(.*)$ https://www.xxx.de/$1[L,R=301] # stop hotlinking (gif/jpg) and serve alternate content # I have included an image for you to upload, please note if you use your images out side of your server (like linked into EBAY) you cannot use # this. <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://(www\\.)?xxx\\.de/.*$ [NC] RewriteRule .*\\.(gif|jpg)$ https://www.xxx.de/images/stolen.gif [R,NC,L] </ifModule> # deny most common except .php <FilesMatch \"\\.(inc|tpl|h|ihtml|sql|ini|conf|class|bin|spd|theme|module|exe)$\"> deny from all </FilesMatch> # Disable .htaccess viewing from browser <Files ~ \"^\\.ht\"> Order allow,deny Deny from all Satisfy All </Files> <Files .htaccess> order allow,deny deny from all </Files> ErrorDocument 400 /Error.php?Error=400 ErrorDocument 401 /Error.php?Error=401 ErrorDocument 403 /Error.php?Error=403 ErrorDocument 404 /Error.php?Error=404 ErrorDocument 405 /Error.php?Error=405 ErrorDocument 408 /Error.php?Error=408 ErrorDocument 415 /Error.php?Error=415 ErrorDocument 416 /Error.php?Error=416 ErrorDocument 417 /Error.php?Error=417 ErrorDocument 500 /Error.php?Error=500 ErrorDocument 501 /Error.php?Error=501 ErrorDocument 502 /Error.php?Error=502 ErrorDocument 503 /Error.php?Error=503 ErrorDocument 504 /Error.php?Error=504 ErrorDocument 505 /Error.php?Error=505 # Disable access to config.php <Files ~ \"includes\\configure.php$\"> </Files> # The following makes adjustments to the SSL protocol for Internet # Explorer browsers <IfModule mod_setenvif.c> <IfDefine SSL> SetEnvIf User-Agent \".*MSIE.*\" \\ nokeepalive ssl-unclean-shutdown \\ downgrade-1.0 force-response-1.0 </IfDefine> </IfModule> # # This is used with Apache WebServers # # For this to work, you must include the parameter \'Options\' to # the AllowOverride configuration # # Example: # # <Directory \"/usr/local/apache/htdocs\"> # AllowOverride Options # </Directory> # # \'All\' with also work. (This configuration is in the # apache/conf/httpd.conf file) AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg AddType video/webm .webm AddType audio/webm .weba AddType video/mp4 .mp4 AddType video/x-m4v .m4v # If Search Engine Friendly URLs do not work, try enabling the # following Apache configuration parameter # AcceptPathInfo On # Fix certain PHP values # (commented out by default to prevent errors occuring on certain # servers) # php_value session.use_trans_sid 0 # php_value register_globals 1 AuthUserFile /mnt/webp/e3/52/51666952/htdocs/xxx/.htpasswd AuthName \"shop\" AuthType Basic <Limit GET POST> require valid-user </Limit> # Begin Ultimate SEO V2.2d Options +FollowSymLinks RewriteEngine On # RewriteBase instructions # Change RewriteBase dependent on how your shop is accessed as below. # https://www.xxx.de = RewriteBase / # https://www.xxx.de/catalog/ = RewriteBase /catalog/ # https://www.xxx.de/catalog/shop/ = RewriteBase /catalog/shop/ # Change the following line using the instructions above RewriteBase / RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pi-(.*).html$ popup_image.php?pID=$2&%{QUERY_STRING} RewriteRule ^(.*)-by-(.*).html$ all-products.php?fl=$2&%{QUERY_STRING} RewriteRule ^(.*)-t-(.*).html$ articles.php?tPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-a-(.*).html$ article_info.php?articles_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-au-(.*).html$ articles.php?authors_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pr-(.*).html$ product_reviews.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-pri-(.*).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-f-(.*).html$ faqdesk_info.php?faqdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-fc-(.*).html$ faqdesk_index.php?faqPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-fri-(.*).html$ faqdesk_reviews_info.php?faqdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-fra-(.*).html$ faqdesk_reviews_article.php?faqdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-i-(.*).html$ information.php?info_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-links-(.*).html$ links.php?lPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-pm-([0-9]+).html$ extra_info_pages.php?pages_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-n-(.*).html$ newsdesk_info.php?newsdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-nc-(.*).html$ newsdesk_index.php?newsPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-nri-(.*).html$ newsdesk_reviews_info.php?newsdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-nra-(.*).html$ newsdesk_reviews_article.php?newsdesk_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-po-([0-9]+).html$ pollbooth.php?pollid=$2&%{QUERY_STRING} # End Ultimate SEO V2.2d Now I'm running the test on the index.php, what brings up: Test Results languages in the Header Tags table are: 2 ( Deutsch ). Title and Meta Tag results for index.php?cPath= explain Deutsch From Site: Title -> 301 Moved Permanently Meta Description -> Meta Keywords -> From Settings: Title -> 1234 (seems to be o.k.) Meta Description -> 1234 (seems to be o.k.) Meta Keywords -> 1234 (seems to be o.k.) Results of scan: index.php is missing Header Tags code or it is not installed correctly. Verify that Fill Tags has been ran and that the root checkbox or the default checkboxes have been checked in Page Control. I don't understand "From site" statements/results and I also don't understand the missing Header Tags code. The html-output of the index.php looks like this: <!DOCTYPE html> <html dir="ltr" lang="de"<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>xxx® - 1234</title> <meta name="Description" content="1234" /> <meta name="Keywords" content="1234" /> <meta http-equiv="Content-Language" content="de" > <meta name="googlebot" content="all" /> <meta name="robots" content="noodp" /> <meta name="slurp" content="noydir" /> <meta name="revisit-after" content="1 days" /> <meta name="no-email-collection" value="https://www.xxx.de"/> <link rel="canonical" href="https://www.xxx.de/" > <meta property="og:site_name" content="xxx®" /> <meta property="og:locale" content="de_DE" /> <meta property="og:type" content="website" /> <meta property="og:image" content="" /> <meta property="og:url" content="https://www.xxx.de/"/> <!-- EOF: Header Tags SEO Generated Meta Tags by oscommerce-solution.com --> For me all what I see seems to be o.k. and filled properly. And - my favicon.ico is not beeing displayed anymore? Have you got any explanations or help for me? Thank's in advance, stefan
  21. Unfortunately I don't know the reason. A workaround could be to change in header_tags_opengraph.php: // $ogArray['locale'] = str_replace('-', '_', $loc[0]); $ogArray['locale'] = de_DE; That brings up in the html-output: <meta property="og:locale" content="de_DE" /> Does it matter, if it's hardcoded?
  22. Few more questions are coming up. As I understand, first step is to fill the tags. I choose to fill all tags and click on my language, which is written as "Deutsch". I assume, that the html-output of any page showing this: <meta property="og:locale" content="en_US" /> is wrong. Where can I change this? The shop is running without errors in the german language.
  23. @@Jack_mcs The problem is at the very upper left corner, as I already described. Yes, I know that the default is in English, and yes, I uploaded all files in German directory and made also the changes in the German files. Well, I found out, that commenting out // $ogArray['price'] = $og_price; in the header_tags_opengraph.php may be a kind of workaround. As I'm not a SEO-specialist I cannot tell how important it could be to have a meta property "price"... The real reason could be an altered code in the template_bottom.php. <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2010 osCommerce Released under the GNU General Public License */ ?> </div> <!-- bodyContent //--> <?php if ($oscTemplate->hasBlocks('boxes_column_left')) { ?> <div id="columnLeft" class="grid_<?php echo $oscTemplate->getGridLeftColumnWidth(); ?> pull_<?php echo $oscTemplate->getGridContentWidth(); ?>"> <?php echo $oscTemplate->getBlocks('boxes_column_left'); ?> </div> <?php } if ($oscTemplate->hasBlocks('boxes_column_right')) { ?> <div id="columnRight" class="grid_<?php echo $oscTemplate->getGridRightColumnWidth(); ?>"> <?php echo $oscTemplate->getBlocks('boxes_column_right'); ?> </div> <?php } // osc-support-edition BOF ?> <div id="popupShipping" title="<?php echo HEADING_POPUP_SHIPPING; ?>"> <?php require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHIPPING); ?> <?php // ExtraInfoPages ################# $page_query = tep_db_query("select p.pages_id, p.sort_order, p.status, s.pages_title, s.pages_html_text from " . TABLE_PAGES . " p LEFT JOIN " .TABLE_PAGES_DESCRIPTION . " s on p.pages_id = s.pages_id where p.status = 1 and s.language_id = '" . (int)$languages_id . "' and p.page_type = 3"); $page_check = tep_db_fetch_array($page_query); $pagetext=stripslashes($page_check[pages_html_text]); ##################### ?> <?php// osc-support-edition BOF // echo TEXT_POPUP_SHIPPING; ?> <?php // ExtraInfoPages ?> <p><?php echo $pagetext; ?> <p> <?php// echo TEXT_POPUP_SHIPPING; ?> </div> <script type="text/javascript"> $('#popupShipping').dialog({ autoOpen: false, width: 600, height: 400, buttons: { Ok: function() { $(this).dialog('close'); } } }); </script> <?php // osc-support-edition EOF ?> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> </div> <!-- bodyWrapper //--> <?php echo $oscTemplate->getBlocks('footer_scripts'); ?> </body> </html> The <div id="popupShipping" title="<?php echo HEADING_POPUP_SHIPPING; ?>"> is between the body tags. But - how/why the header_tags_opengraph.php grabs this for the meta property price, I don't understand. Must it be in that way?
  24. Well, running the shop in Germany let's you no other choice to alter a few things to match the German law. Unfortunately it's not only a few things, it's a bunch of files that have been altered. I'd like to try another approach, it's too heavy to walk through all the files. Here's the html-output of the product_info: <!DOCTYPE html> <html dir="ltr" lang="de"<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>xyz® für den </title> <meta name="Description" content="xyz® für den " /> <meta name="Keywords" content="xyz® für den " /> <meta name="robots" content="noodp" /> <meta name="slurp" content="noydir" /> <link rel="canonical" href="https://www.xyz.de/xyz-fuer-p-29.html"/> <meta property="og:site_name" content="xyz®" /> <meta property="og:locale" content="de" /> <meta property="og:type" content="product" /> <meta property="og:title" content="xyz® für den " /> <meta property="og:description" content="Vorkonfigurierter xyz® ..." /> <meta property="og:image" content="https://www.xyz.de/images/tinbox_open.jpg"/> <meta property="og:url" content="https://www.xyz.de/xyz-fuer-p-29.html"/> <meta property="og:price" content="49,90€<br /><span class="price-info"> inkl. 19% MwSt. zzgl. <a href="https://www.xyz.de/popup_shipping.php"target="_blank" onclick="$('#popupShipping').dialog('open'); return false;"><u>Versand</u></a></span>" /> <meta property="og:currency" content="EUR" /> <meta property="og:availability" content="instock" /> <!-- EOF: Header Tags SEO Generated Meta Tags by oscommerce-solution.com --> As I can clearly see, one should take a closer look at the <meta property="og:price" ...> How is this tag being filled? In the german.php is defined: define('TEXT_TAX_INFO', ' inkl. %s MwSt. zzgl. <a href="' . tep_href_link(FILENAME_POPUP_SHIPPING) . '" target="_blank" onclick="$(\'#popupShipping\').dialog(\'open\'); return false;"><u>Versand</u></a>'); IMHO it must be something depending on this two things: the meta property price, and maybe the TEXT_TAX_INFO. Is it worth to investigate in this direction, or do you still say it's better to compare? I take a break now, must have some food..
×
×
  • Create New...