#1 (permalink)  
Alt 16.12.2004, 04:43
Benutzerbild von Haxley
Erfahrener Benutzer
 
Registriert seit: 05.03.2004
Beiträge: 271
Standard

Hallo
Ich versuche gerade ein Export Modul f?r eine gro?e Suchmaschiene zu bauen.

Nur hab ich da ein Problem.

Dort m?ssen die Categorien mit > getrennt werden. Wie mach ich das?

Der Codeteil sieht im Moment so aus:
Code:
 // 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_query)) {
          $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_query);
      //create content
und macht im Moment die Categorie z.B so: Notebook Zubeh?r HD
ich brauch es aber so: Notebook > Zubeh?r > HD

Also mit > und jew. einem Leerzeichen davor und dahinter.

Kann mir da mal jemand einen Tipp geben?

Danke Gru? Haxley

PS: Wenn das Teil fertig ist gibts das nat?rlich hier auch f?r alle!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 16.12.2004, 12:57
sff sff ist offline
xt:Commerce Support Kunde
 
Registriert seit: 16.07.2004
Beiträge: 775
Standard

Also der Codeteil da oben liest dir nur alles in ein Array...

Wie der Kommentar "//create content" vermuten l?sst, wird das zusammenf?gen ab dort passieren....

Um welche Suma geht's denn?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 16.12.2004, 14:49
Benutzerbild von SvFricke
Erfahrener Benutzer
 
Registriert seit: 25.04.2004
Beiträge: 370
Standard

K?nnte Froogle sein! Habe gestern meine Zugansdaten bekommen und bin jetzt auf der Suche nach einem Modul. F?r xtc 3 gibt es das ja bereits. xtc2 werde ich heute abend testen.


Sven
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 16.12.2004, 19:44
Benutzerbild von Haxley
Erfahrener Benutzer
 
Registriert seit: 05.03.2004
Beiträge: 271
Standard

Ja es geht um froogle :rock:

Bis auf 2 Dinge hab ich den Code fertig. Leider bekomme ich diese 2 Sachen mit meinen php Kenntnissen nicht hin.

1. die Categorien m?ssen mit "Leerzeichen > Leerzeichen" noch getrennt werden
2. Im Preis mu? im das 1000er Trennkomma weg.

Rest m?sste stimmen.
Wenn mir da mal einer Helfen k?nnte....!

Hier der vorl?ufige Code:
Code:
 <?php
/* -----------------------------------------------------------------------------------------
  $Id: froogle.php,v 0.1 2004/12/17 20:05:10 Haxley Exp $

  XT-Commerce - community made shopping
  http://www.xt-commerce.com

  Copyright (c) 2004 XT-Commerce
  -----------------------------------------------------------------------------------------
  based on:
  (c) 2000-2001 The Exchange Project (earlier name of osCommerce)
  (c) 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); www.oscommerce.com
  (c) 2003 nextcommerce (invoice.php,v 1.6 2003/08/24); www.nextcommerce.org

  Released under the GNU General Public License

 Modified for XT-Commerce by Haxley (froogle.php,v 0.1)
 http://www.plexcom.de
 Dez , 2004
  ---------------------------------------------------------------------------------------*/


define('MODULE_FROOGLE_TEXT_DESCRIPTION', 'Export - Froogle im txt Format');
define('MODULE_FROOGLE_TEXT_TITLE', 'Froogle - txt');
define('MODULE_FROOGLE_FILE_TITLE' , '<hr noshade>Dateiname');
define('MODULE_FROOGLE_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.<br>(Verzeichnis export/)');
define('MODULE_FROOGLE_STATUS_DESC','Modulstatus');
define('MODULE_FROOGLE_STATUS_TITLE','Status');
define('MODULE_FROOGLE_CURRENCY_TITLE','W?hrung');
define('MODULE_FROOGLE_CURRENCY_DESC','Welche W?hrung soll exportiert werden?');
define('EXPORT_YES','Nur Herunterladen');
define('EXPORT_NO','Am Server Speichern');
define('CURRENCY','<hr noshade><b>W?hrung:</b>');
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><b>Speicherart:</b>');
define('EXPORT_STATUS_TYPE','<hr noshade><b>Kundengruppe:</b>');
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 <i>Gast</i>):</b>');
define('CHARSET','iso-8859-1');

// include needed functions

 class froogle {
  var $code, $title, $description, $enabled;


  function froogle() {
   global $order;

   $this->code = 'froogle';
   $this->title = MODULE_FROOGLE_TEXT_TITLE;
   $this->description = MODULE_FROOGLE_TEXT_DESCRIPTION;
   $this->sort_order = MODULE_FROOGLE_SORT_ORDER;
   $this->enabled = ((MODULE_FROOGLE_STATUS == 'True') ? true : false);

  }


  function process($file) {

    @xtc_set_time_limit(0);

    
    $schema .= 'product_url'."\t".'name'."\t".'description'."\t".'image_url'."\t".'category'."\t".'price'."\n";


    $export_query =xtc_db_query("SELECT
               p.products_id,
               pd.products_name,
               pd.products_description,
    p.products_image,
    p.products_discount_allowed,
    p.products_price,
               p.products_model,
               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 = xtc_get_products_price_export($products['products_id'],1,true,$_POST['status'],1,$_POST['currencies'],true);

      // remove trash
      $products_description = strip_tags($products['products_description']);
      $products_description = substr($products_description, 0, 512 ) . '..';
       $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("&quot,"," \"",$products_description);
      $products_description = str_replace("&qout,"," \"",$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_query)) {
          $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_query);
      //create content

      //create content
if($products['products_image']==''){
$froogle_image="";
} else {
$froogle_image=HTTP_CATALOG_SERVER . DIR_WS_CATALOG_THUMBNAIL_IMAGES . $products['products_image'];
}
           $schema .=
            HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?products_id=' . $products['products_id']."\t".
            $products['products_name'] . "\t".
            $products_description ."\t".
    $froogle_image . "\t".
    $categorie_data['categories_name'] . "\t".
            $products_price. "\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-disposition: 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'].'<br>';
  }

  return array('text' => EXPORT_STATUS_TYPE.'<br>'.
             	EXPORT_STATUS.'<br>'.
             	xtc_draw_pull_down_menu('status',$customers_statuses_array, '1').'<br>'.
              CURRENCY.'<br>'.
              CURRENCY_DESC.'<br>'.
              $curr.
              EXPORT_TYPE.'<br>'.
              EXPORT.'<br>'.
             	xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'<br>'.
              xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'<br>'.
              '<br>' . xtc_image_submit('button_export.gif', IMAGE_UPDATE) .

              '<a href="' . xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=froogle') . '">' .
              xtc_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');


  }

  function check() {
   if (!isset($this->_check)) {
    $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_FROOGLE_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_FROOGLE_FILE', 'froogle.txt', '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_FROOGLE_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_FROOGLE_STATUS','MODULE_FROOGLE_FILE');
  }

 }
?>
Gru? Haxley
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 16.12.2004, 20:17
xt:C Sponsor
 
Registriert seit: 08.11.2004
Beiträge: 173
Standard

hi !

bin zwar nicht so gut in php, aber probier bez?glich tausender-komma beim preis folgendes:

nach zeile 96:

Code:
     
 $products_price = xtc_get_products_price_export($products['products_id'],1,true,$_POST['status'],1,$_POST['currencies'],true);
einf?gen:
Code:
     //Tausender-Komma bei Preis entfernen
      $products_price = str_replace("",",",$products_price);
k?nnte funktionieren ;-)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
categorie, export, modul, trennen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand