Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: GPL Shop: Umlaute
gollumHN
11.04.2006, 21:56
ich habe folgendes problem, für das ich augenblicklich keine lösung parat habe.
alle umlaute (ä,ö,ü) und sonderzeichen werden z.b. bei milando als merkwürdige zeichenkombination dargestellt. ich hatte hier im forum bereits mal einen beitrag gelesen, in dem man die umlaute auf eine andere weise geschrieben hat. kann dummerweise diesen eintrag nicht mehr wieder finden.
wer kann mir einen tipp geben, wie ich dieses problem am besten lösen kann?
merci, im voraus
gruss
- pete - B)
voliere.net
11.04.2006, 23:01
der beitrag war von mir:
ersetze vorhandenes mit:
''>ZITAT</div>// remove trash
$products_description = str_replace("
"," ",$products_description);
$products_description = strip_tags($products['products_description']);
$products_description = str_replace("\n"," ",$products_description);
$products_description = str_replace("\r"," ",$products_description);
$products_description = str_replace("\t"," ",$products_description);
$products_description = str_replace("\v"," ",$products_description);
$products_description = str_replace(""", "\"", $products_description);
$products_description = str_replace("&qout;"," \"", $products_description);
$products_description = str_replace ("ä", "ä", $products_description);
$products_description = str_replace ("³", "³", $products_description);
$products_description = str_replace ("²", "²", $products_description);
$products_description = str_replace ("°", "°", $products_description);
$products_description = str_replace ("&", "&", $products_description);
$products_description = str_replace ("ö", "ö", $products_description);
$products_description = str_replace ("ü", "ü", $products_description);
$products_description = str_replace ("Ä", "Ä", $products_description);
$products_description = str_replace ("Ö", "Ö", $products_description);
$products_description = str_replace ("Ü", "Ü", $products_description);
$products_description = str_replace ("ß", "ß", $products_description);
$products_description = str_replace ("§", "§", $products_description);[/b]
sorry, hab die datei eben nicht zur hand ...
gollumHN
11.04.2006, 23:18
voliere & nom, ihr habt beide voll ins schwarze getroffen :)
super!!!
voliere: in welche datei setze ich deinen code ein?
voliere.net
12.04.2006, 00:30
admin/includes/modules/export/milando.php
''>ZITAT</div>
<?php
/ -----------------------------------------------------------------------------------------
$Id: milando.php 1188 2005-08-28 14:24:34Z matthias $
XT-Commerce - community made shopping
http://www.xt-commerce.com (http://anonym.to/?http://www.xt-commerce.com)
Copyright © 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
© 2000-2001 The Exchange Project (earlier name of osCommerce)
© 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); www.oscommerce.com
© 2003 nextcommerce (invoice.php,v 1.6 2003/08/24); www.nextcommerce.org
Released under the GNU General Public License
--------------------------------------------------------------------------------------- /
defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' );
define('MODULE_MILANDO_TEXT_DESCRIPTION', 'Export - Milando.de (; getrennt)
Format:
Produktbezeichnung;Beschreibung;Preis;Url;Bild;Wäh rung;Kategorie; Gültig bis;Gültig ab;FSK;Typ;Produkt ID;Hersteller; Bestellnummer;Suchbegriffe;Preistyp');
define('MODULE_MILANDO_TEXT_TITLE', 'Milando.de - CSV');
define('MODULE_MILANDO_FILE_TITLE' , '<hr noshade>Dateiname');
define('MODULE_MILANDO_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.
(Verzeichnis export/)');
define('MODULE_MILANDO_STATUS_DESC','Modulstatus') ;
define('MODULE_MILANDO_STATUS_TITLE','Status');
define('MODULE_MILANDO_CURRENCY_TITLE','Währung');
define('MODULE_MILANDO_CURRENCY_DESC','Welche Währung soll exportiert werden?');
define('EXPORT_YES','Nur Herunterladen');
define('EXPORT_NO','Am Server Speichern');
define('CURRENCY','<hr noshade>Währung:');
define('CURRENCY_DESC','Währung in der Exportdatei');
define('EXPORT','Bitte den Sicherungsprozess AUF KEINEN FALL unterbrechen. Dieser kann einige Minuten in Anspruch nehmen.');
define('EXPORT_TYPE','<hr noshade>Speicherart:');
define('EXPORT_STATUS_TYPE','<hr noshade>Kundengruppe:');
define('EXPORT_STATUS','Bitte wählen Sie die Kundengruppe, die Basis für den Exportierten Preis bildet. (Falls Sie keine Kundengruppenpreise haben, wählen Sie Gast):[/b]');
define('DATE_FORMAT_EXPORT', '%d.%m.%Y'); // this is used for strftime()
define('CAMPAIGNS','<hr noshade>Kampagnen:');
define('CAMPAIGNS_DESC','Mit Kampagne zur Nachverfolgung verbinden.');
// include needed functions
class milando {
var $code, $title, $description, $enabled;
function milando() {
global $order;
$this->code = 'milando';
$this->title = MODULE_MILANDO_TEXT_TITLE;
$this->description = MODULE_MILANDO_TEXT_DESCRIPTION;
$this->sort_order = MODULE_MILANDO_SORT_ORDER;
$this->enabled = ((MODULE_MILANDO_STATUS == 'True') ? true : false);
}
function process($file) {
@xtc_set_time_limit(0);
require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'xtcPrice.php');
$xtPrice = new xtcPrice($_POST['currencies'],$_POST['status']);
//$schema = 'Produktbezeichnung;Beschreibung;Preis;Url;Bild;Wä hrung;Kategorie;Gültig bis;Gültig ab;FSK;Typ;Produkt ID;Hersteller;Bestellnummer;Suchbegriffe;Preistyp' . "\n";
$export_query =xtc_db_query("SELECT
p.products_id,
pd.products_name,
pd.products_description,
p.products_model,
p.products_image,
p.products_price,
p.products_status,
p.products_date_available,
p.products_shippingtime,
p.products_discount_allowed,
pd.products_meta_keywords,
p.products_tax_class_id,
p.products_date_added,
m.manufacturers_name
FROM
" . TABLE_PRODUCTS . " p LEFT JOIN
" . TABLE_MANUFACTURERS . " m
ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
" . TABLE_PRODUCTS_DESCRIPTION . " pd
ON p.products_id = pd.products_id AND
pd.language_id = '".$_SESSION['languages_id']."' LEFT JOIN
" . TABLE_SPECIALS . " s
ON p.products_id = s.products_id
WHERE
p.products_status = 1
ORDER BY
p.products_date_added DESC,
pd.products_name");
while ($products = xtc_db_fetch_array($export_query)) {
$products_price = $xtPrice->xtcGetPrice($products['products_id'],
$format=false,
1,
$products['products_tax_class_id'],
'');
// remove trash
$products_description = str_replace("
"," ",$products_description);
$products_description = strip_tags($products['products_description']);
$products_description = str_replace("\n"," ",$products_description);
$products_description = str_replace("\r"," ",$products_description);
$products_description = str_replace("\t"," ",$products_description);
$products_description = str_replace("\v"," ",$products_description);
$products_description = str_replace(""", "\"", $products_description);
$products_description = str_replace("&qout;"," \"", $products_description);
$products_description = str_replace ("ä", "ä", $products_description);
$products_description = str_replace ("³", "³", $products_description);
$products_description = str_replace ("²", "²", $products_description);
$products_description = str_replace ("°", "°", $products_description);
$products_description = str_replace ("&", "&", $products_description);
$products_description = str_replace ("ö", "ö", $products_description);
$products_description = str_replace ("ü", "ü", $products_description);
$products_description = str_replace ("Ä", "Ä", $products_description);
$products_description = str_replace ("Ö", "Ö", $products_description);
$products_description = str_replace ("Ü", "Ü", $products_description);
$products_description = str_replace ("ß", "ß", $products_description);
$products_description = str_replace ("§", "§", $products_description);
// get product categorie
$categorie_query=xtc_db_query("SELECT
categories_id
FROM ".TABLE_PRODUCTS_TO_CATEGORIES."
WHERE products_id='".$products['products_id']."'");
while ($categorie_data=xtc_db_fetch_array($categorie_que ry)) {
$categories=$categorie_data['categories_id'];
}
$categorie_query=xtc_db_query("SELECT
categories_name
FROM ".TABLE_CATEGORIES_DESCRIPTION."
WHERE categories_id='".$categories."'
and language_id='".$_SESSION['languages_id']."'");
$categorie_data=xtc_db_fetch_array($categorie_quer y);
//create content
$schema .=
$products['products_name'] .';'.
$products_description .';'.
number_format($products_price,2,'.',''). ';' .
HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?'.$_POST['campaign'].xtc_product_link($products['products_id'], $products['products_name']) . ';' .
HTTP_CATALOG_SERVER . DIR_WS_CATALOG_THUMBNAIL_IMAGES .$products['products_image'] . ';' .
$_POST['currencies']. ';' .
$categorie_data['categories_name'] . ';'
. ';' .
xtc_date_short($products['products_date_available']) . ';'
. ';'
. ';' .
$products['products_model'] . ';' .
$products['manufacturers_name'] .';'.
$products['products_model'] . ';' .
$products['products_meta_keywords'] . ';' .
'0' . "\n";
}
// create File
$fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+");
fputs($fp, $schema);
fclose($fp);
switch ($_POST['export']) {
case 'yes':
// send File to Browser
$extension = substr($file, -3);
$fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file,"rb");
$buffer = fread($fp, filesize(DIR_FS_DOCUMENT_ROOT.'export/' . $file));
fclose($fp);
header('Content-type: application/x-octet-stream');
header('Content-dispoistion: attachment; filename=' . $file);
echo $buffer;
exit;
break;
}
}
function display() {
$customers_statuses_array = xtc_get_customers_statuses();
// build Currency Select
$curr='';
$currencies=xtc_db_query("SELECT code FROM ".TABLE_CURRENCIES);
while ($currencies_data=xtc_db_fetch_array($currencies)) {
$curr.=xtc_draw_radio_field('currencies', $currencies_data['code'],true).$currencies_data['code'].'
';
}
$campaign_array = array(array('id' => '', 'text' => TEXT_NONE));
$campaign_query = xtc_db_query("select campaigns_name, campaigns_refID from ".TABLE_CAMPAIGNS." order by campaigns_id");
while ($campaign = xtc_db_fetch_array($campaign_query)) {
$campaign_array[] = array ('id' => 'refID='.$campaign['campaigns_refID'].'&', 'text' => $campaign['campaigns_name'],);
}
return array('text' => EXPORT_STATUS_TYPE.'
'.
EXPORT_STATUS.'
'.
xtc_draw_pull_down_menu('status',$customers_status es_array, '1').'
'.
CURRENCY.'
'.
CURRENCY_DESC.'
'.
$curr.
CAMPAIGNS.'
'.
CAMPAIGNS_DESC.'
'.
xtc_draw_pull_down_menu('campaign',$campaign_array ).'
'.
EXPORT_TYPE.'
'.
EXPORT.'
'.
xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'
'.
xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'
'.
'
' . xtc_button(BUTTON_EXPORT) .
xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=milando')));
}
function check() {
if (!isset($this->_check)) {
$check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_MILANDO_STATUS'");
$this->_check = xtc_db_num_rows($check_query);
}
return $this->_check;
}
function install() {
xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_MILANDO_FILE', 'milando.csv', '6', '1', '', now())");
xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_MILANDO_STATUS', 'True', '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");
}
function remove() {
xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
}
function keys() {
return array('MODULE_MILANDO_STATUS','MODULE_MILANDO_FILE ');
}
}
?>
[/b]
gollumHN
12.04.2006, 10:24
ich danke dir :rolleyes:
voliere.net
12.04.2006, 17:35
kein problem, hab ja nur mir die fehlenden sonderzeichen rausgesucht, ergänzt und ne kleine änderung gemacht
Hallo voliere,gollumHN,
bei mir zeigt es nach dem Einfügen beim Aufruf der XT Module im Shop Admin Bereich einen Fehler in Line 41?! Diese Zeile hat doch eigentlich nichts mit der Änderung zu tun,oder?
Was hab ich falsch gemacht? Ich habe die datei mit dem MS Editor bearbeitet und sowohl im ASCII als auch im Binär Mode übertragen. Geht nicht!
Fatal error: Cannot redeclare class milando in .../admin/includes/modules/export/milando.php on line 41
Danke für eure Hilfe
Gruß
fowin
gollumHN
13.04.2006, 13:02
hi fowin,
kann dir leider bei dem aufgetretenen fehler nicht behilflich sein. überprüfe einfach mal die aussage von nom, ob in deinem export-ordner zweimal die datei milando existiert. bei mir hat die ergänzung von voliere auf anhieb funktioniert.
gruss
- pete - B)
Vielen Dank,
es lag wohl wirklich an der doppelten Datei, ich hatte die alte einfach umbenannt und im Verzeichniss gelassen!
Nach dem rauslöschen der alten und neu Hochladen der geänderten Datei ins Verzeichniss hat alles funktioniert!
:lol:
Danke für die Hilfe!
Gruß
Frank
gollumHN
13.04.2006, 20:11
na, also... :)
dann mal viel erfolg beim exportieren deiner artikel in die suchmaschinen.
auf dass unzählige käufer deine produkte kaufen mögen!
:D
hawaichris
28.06.2006, 14:06
Hallo,
ich habe auch das Problem mit den Umlauten und habe dann mal die milando.php ersetzt. Jetzt habe ich aber das Problem, dass die milando.csv irgendwie teilweise fehlerhaft gebildet wird. Im Endeffekt werden dadurch 31 Produkt nicht übernommen. Wenn man sich die Datei ansieht, dann sieht es auch recht durcheinander aus.
Hat jemand von euch viellenicht eine Lösung? ...
LG
Christoph
''>ZITAT(hawaichris @ Jun 28 2006, 14:06) 6798
Hat jemand von euch viellenicht eine Lösung? ...
[/b]
Hallo Christoph,
hatte ähnliche Probleme. Unter anderem wurde bei mir das ";" durch "," ersetzt" bevor die Umlaute
umgewandelt wurden. Ich habe somit die Reihenfolge der Umwandlung etwas geändert. Meine
minando.php Datei habe ich wie folgt geändert (Auszug):
************// remove trash
************$products_description = strip_tags($products['products_description']);
************$products_description = substr($products_description, 0, 1000) . '...';
************$products_description = str_replace("
"," ",$products_description);
************$products_description = str_replace ("ä", "ä", $products_description);
************$products_description = str_replace ("Ä", "Ä", $products_description);
************$products_description = str_replace ("ö", "ö", $products_description);
************$products_description = str_replace ("Ö", "Ö", $products_description);
************$products_description = str_replace ("ü", "ü", $products_description);
************$products_description = str_replace ("Ü", "Ü", $products_description);
************$products_description = str_replace ("ß", "ß", $products_description);
************$products_description = str_replace ("§", "§", $products_description);
************$products_description = str_replace ("³", "³", $products_description);
************$products_description = str_replace ("²", "²", $products_description);
************$products_description = str_replace ("°", "°", $products_description);
************$products_description = str_replace ("&", "&", $products_description);
************$products_description = str_replace(";",", ",$products_description);
************$products_description = str_replace("'",", ",$products_description);
************$products_description = str_replace("\n"," ",$products_description);
************$products_description = str_replace("\r"," ",$products_description);
************$products_description = str_replace("\t"," ",$products_description);
************$products_description = str_replace("\v"," ",$products_description);
************$products_description = str_replace("","," \"",$products_description);
************$products_description = str_replace("&qout,"," \"",$products_description);
Viellenicht hilft Dir das ja ;)
So far - VG,
Oliver
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.