Jump to content
xt:Commerce Community Forum

oldbear

Members
  • Content Count

    3,302
  • Joined

  • Last visited

  • Days Won

    50

oldbear last won the day on December 4 2020

oldbear had the most liked content!

2 Followers

About oldbear

  • Rank
    Erfahrener Benutzer
  • Birthday 04/10/1954

Profile Information

  • Gender
    Male

Contact Methods

  • Skype
    itlogistik

Converted

  • Wohnort
    Wachenzell ( nähe Eichstätt/Bayern )
  • Beruf
    selbstständig: Firma it+logistik mit Schwerpunkt auf Shopsoftware VEYTON, Programmierung, Plugins

Recent Profile Visitors

3,575 profile views
  1. hallo, die Variable steht an sich nicht zur Verfügung. Man kann aber einen Hookpoint erstellen ( class.export.php:_extractData_data ) in einem beliebigen Plugin folgenden Inhalts: $rs = $db->execute("SELECT m.file FROM xt_media_link AS ml LEFT JOIN xt_media AS m ON ( ml.m_id = m.id ) WHERE ml.link_id = '".$product->data['products_id']."' AND ml.type = 'images' AND ml.class = 'product' AND m.type = 'images' AND m.class = 'product' ORDER BY ml.ml_id"); while (!$rs->EOF) { $data_array['additional_image_thumb'] = $base_media . '/images/thumb/' . $rs->fields['file']; $data_array['additional_image_info'] = $base_media . '/images/info/' . $rs->fields['file']; $data_array['additional_image_popup'] = $base_media . '/images/popup/' . $rs->fields['file']; $data_array['additional_image_org'] = $base_media . '/images/org/' . $rs->fields['file']; break; // nur erster Eintrag $rs->MoveNext(); } Das Bild steht dann z.B. als "{$data.additional_image_info}" im Export-Manager zur Verfügung ( falls vorhanden ) Grüsse
  2. hallo, habe den Sachverhalt auch auch xtc gemeldet. Abhilfe: in der class.products_price.php auskommentieren: $header['discount_quantity'] = ['regex' => '^(?:[2-9]|\d\d\d*)$']; Dann kann man wieder die 1 eingeben. Leider reicht das nicht ... habe deshalb Hookpoint zu beliebigem Plugin hinzugefügt: HOOK: class.product.php:getGroupPrice_top INHALT: $prices = array(); if ($customers_status->customers_status_graduated_prices != 0) { if ($sp_type=='group') { $record = $db->Execute("SELECT * FROM ".TABLE_PRODUCTS_PRICE_GROUP.$price->p_group." WHERE products_id=? ORDER BY discount_quantity ASC",array($this->data['products_id'])); } else { $record = $db->Execute("SELECT * FROM ".TABLE_PRODUCTS_PRICE_GROUP."all WHERE products_id=? ORDER BY discount_quantity ASC",array($this->data['products_id'])); } if ($record->RecordCount() >= 1) { $single_price = $this->data['products_price_db']; if (is_null($single_price) && !is_array($this->data['products_price'])) { $single_price = $this->data['products_price']; } else if(is_array($this->data['products_price'])) { $single_price = $this->data['products_price']['plain_otax']; } if ($special_price) { $single_price = $special_price; } $prices[] = array('qty'=>1,'price'=>$single_price); while (!$record->EOF) { if ($record->fields['discount_quantity']!=0) { $prices[] = array('qty'=>$record->fields['discount_quantity'],'price'=>$record->fields['price']); } else if ($record->fields['discount_quantity']!=1) { $prices[0] = array('qty'=>1,'price'=>$record->fields['price']); } $record->MoveNext(); } $record->Close(); $qty = $this->qty; if ($qty_force!=-1) $qty = $qty_force; $data = array(); for ($i = 0, $n = sizeof($prices); $i < $n; $i++) { if ($prices[$i+1]['qty']>$qty) { $data['price']=$prices[$i]['price']; break; } else { // kleiner if (!isset($prices[$i+1]['qty'])) { $data['price']=$prices[$i]['price']; break; } else { if ($prices[$i+1]['qty']>$this->qty) { $data['price']=$prices[$i]['price']; break; } } } } if (count($prices) == 2 && $prices[1]['qty'] == 1) { $data['price']=$prices[1]['price']; unset($prices[0]); $prices[0] = $prices[1]; unset($prices[1]); } $data['no_graduated']=0; $data['graduated_single']=0; //only one check rule if (sizeof($prices) == 1 && $prices[0]['qty']<2) { for ($i = 0, $n = sizeof($prices); $i < $n; $i++) { $prices[$i]['price'] = $price->_calcCurrency($prices[$i]['price']); } $data['no_graduated']=1; $data['graduated_single']=1; } else { for ($i = 0, $n = sizeof($prices); $i < $n; $i++) { $prices[$i]['price'] = $price->_calcCurrency($prices[$i]['price']); } $data['prices']=$prices; $size = count($prices); if ($size==0) $data['no_graduated']=1; //$last = array_pop($prices); $data['cheapest'] = $prices[$size-1]['price']; } ($plugin_code = $xtPlugin->PluginCode('class.product.php:getGroupPrice_data')) ? eval($plugin_code) : false; $plugin_return_value = $data; return $plugin_return_value; } else { return false; } } else { return false; } Grüsse hallo, das ist die xtFramework(classes/class.product_price.php Auskommentieren oder löschen ist egal, nur weg mit ... Grüsse
  3. hallo, habe den Sachverhalt auch auch xtc gemeldet. Abhilfe: in der class.products_price.php auskommentieren: $header['discount_quantity'] = ['regex' => '^(?:[2-9]|\d\d\d*)$']; Dann kann man wieder die 1 eingeben. Leider reicht das nicht ... habe deshalb Hookpoint zu beliebigem Plugin hinzugefügt: HOOK: class.product.php:getGroupPrice_top INHALT: $prices = array(); if ($customers_status->customers_status_graduated_prices != 0) { if ($sp_type=='group') { $record = $db->Execute("SELECT * FROM ".TABLE_PRODUCTS_PRICE_GROUP.$price->p_group." WHERE products_id=? ORDER BY discount_quantity ASC",array($this->data['products_id'])); } else { $record = $db->Execute("SELECT * FROM ".TABLE_PRODUCTS_PRICE_GROUP."all WHERE products_id=? ORDER BY discount_quantity ASC",array($this->data['products_id'])); } if ($record->RecordCount() >= 1) { $single_price = $this->data['products_price_db']; if (is_null($single_price) && !is_array($this->data['products_price'])) { $single_price = $this->data['products_price']; } else if(is_array($this->data['products_price'])) { $single_price = $this->data['products_price']['plain_otax']; } if ($special_price) { $single_price = $special_price; } $prices[] = array('qty'=>1,'price'=>$single_price); while (!$record->EOF) { if ($record->fields['discount_quantity']!=0) { $prices[] = array('qty'=>$record->fields['discount_quantity'],'price'=>$record->fields['price']); } else if ($record->fields['discount_quantity']!=1) { $prices[0] = array('qty'=>1,'price'=>$record->fields['price']); } $record->MoveNext(); } $record->Close(); $qty = $this->qty; if ($qty_force!=-1) $qty = $qty_force; $data = array(); for ($i = 0, $n = sizeof($prices); $i < $n; $i++) { if ($prices[$i+1]['qty']>$qty) { $data['price']=$prices[$i]['price']; break; } else { // kleiner if (!isset($prices[$i+1]['qty'])) { $data['price']=$prices[$i]['price']; break; } else { if ($prices[$i+1]['qty']>$this->qty) { $data['price']=$prices[$i]['price']; break; } } } } if (count($prices) == 2 && $prices[1]['qty'] == 1) { $data['price']=$prices[1]['price']; unset($prices[0]); $prices[0] = $prices[1]; unset($prices[1]); } $data['no_graduated']=0; $data['graduated_single']=0; //only one check rule if (sizeof($prices) == 1 && $prices[0]['qty']<2) { for ($i = 0, $n = sizeof($prices); $i < $n; $i++) { $prices[$i]['price'] = $price->_calcCurrency($prices[$i]['price']); } $data['no_graduated']=1; $data['graduated_single']=1; } else { for ($i = 0, $n = sizeof($prices); $i < $n; $i++) { $prices[$i]['price'] = $price->_calcCurrency($prices[$i]['price']); } $data['prices']=$prices; $size = count($prices); if ($size==0) $data['no_graduated']=1; //$last = array_pop($prices); $data['cheapest'] = $prices[$size-1]['price']; } ($plugin_code = $xtPlugin->PluginCode('class.product.php:getGroupPrice_data')) ? eval($plugin_code) : false; $plugin_return_value = $data; return $plugin_return_value; } else { return false; } } else { return false; } Grüsse
  4. naja, sieht eher so aus, als exisitiert die xt_media_languages nicht in der Datenbank. Die gibt es noch nicht so lange, kann sein, dass die beim Shop-Update nicht angelegt wurde. Grüsse
  5. kann nicht sein, wenn der Tabelleneintrag stimmt: # Name Typ Kollation Attribute Null Standard Kommentare Extra Aktion 1 products_id int(11) Nein kein(e) Bearbeiten Löschen Mehr 2 products_id_cross_sell int(11) Nein kein(e) Bearbeiten Löschen Mehr 3 sort_order int(4) Ja NULL Bearbeiten Löschen Me
  6. Der Fehler komt aus dem Plugin xt_cross_selling, dort fehlt die Spalte sort_order. Also entweder Plugin updaten oder Spalte per phpMyAdmin hinzufügen und Hook wieder aktivieren. Grüsse
  7. einfach den Hook "product_info_tpl" des Plugins deaktiveren Grüsse
  8. hallo jörg, eine einfache Möglichkeit wäre über die Versandkosten ( ab € 135 bis € 10000 => kein Vesand darunter ) kommt natürlich etwas spät, aber mit diversen Hinweistexten ( mit Länderabfrage ) könnte man schon bei der Anmeldung darauf aufmerksam machen ein Plugin dafür hätte ich - aber wie Du schon sagst, solls wenig kosten Grüsse
  9. naja, wenn Du auf Angebotspreise verzichten kannst, dann das Plugin xt_special_prices abschalten. Ursache ist eine ( unperformante ) CASE / WHEN-Abfrage in den Hooks class.product_sql_query.phpF_Sorting_price.php class.product_sql_query.phpF_Sorting_price_desc.php: $sqlCols = ", CASE WHEN p.products_master_flag=1 THEN (SELECT MIN(ps.products_price)FROM " . TABLE_PRODUCTS . " ps WHERE ps.products_master_model=model) "; if (isset($xtPlugin->active_modules['xt_special_products'])) { $sqlCols .= "WHEN pps.specials_price>0 THEN pps.specials_price "; } $sqlCols .= "ELSE p.products_price END AS sort_price "; von Master-Slave, hatte das schon mal gepatched , finde den Code aber gerade nicht. Wenn die Slaves keine Angebotspreise haben, könnte man diese beiden Hooks testweise auch mal deaktivieren Grüsse
  10. hallo, bei einem Kunden häufen sich Zahlungsabbrüche wegen "Duplicate invoice id" Was bekannt ? Grüße
  11. hallo, das gibts bereits, ist nur etwas versteckt bei den Lagerampel-Einstellungen: Einstellungen -> Systemstatus -> Lagerampel dort gibts für jeden Wert "Einordnung schema.org" Grüsse
  12. in der xt_config stehen die Variablen unter _SYSTEM_METATAGS_XXXXXXX Grüsse In der Datenbank ( im phpMyAdmin )
  13. in der xt_config stehen die Variablen unter _SYSTEM_METATAGS_XXXXXXX Grüsse
  14. hallo, aber was wäre wenn Du einfach bei den Varianten jeweils "ohne Fixkosten" und "ohne Druckkosten" oder "ohne Veredelung"mit erzeugst ? Sind halt dann keine 3 Slaves ( ups, darf man ja nicht mehr sagen ) sondern 4 Grüsse
×
×
  • Create New...