php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.09.2005, 23:37  
Gast
 
Beiträge: n/a
Standard [Erledigt] Shop, Kundendaten erweitern. Komme nicht weiter...

Hi,

zunächst ein kleines Vorwort.
Ich bin keine fortgeschrittener PHPler und bitte daher zu entschuldigen, das ich in diesem Forum poste und das meine Frage evtl. nicht ganz fachmänische gestellt ist.
Nur erwarte ich mir, hier am ehesten Hilfe zu finden, da mir selbst im speziellen Forum für die Shopsoftware bisher nicht geholfen werden konnte.

Nun aber zum Thema,
es handelt sich um einen Shop auf Basis von OScommerce, der nun um einige Kundendaten erweitert werden soll.
Da es keine passende Erweiterung (bei OSC Contribution genannt) gibt, ich aber eine Anleitung zum hinzufügen eins zusätzlichen Adressfeldes gefunden habe, wollte ich auf dieser Basis die benötigten Daten-Felder realisieren, in dem ich die Erweiterung vervielfache und die entspechenden Variablen ändere.

Soweit so gut, nur bei einer Änderung reicht mein PHP-Wissen nicht aus.

Folgenden Code müsste ich so umändern, das er für mehrere nicht Adressdaten, sprich Haarfarbe, Religion oder was auch immer, verwendbar ist,
und nicht nur über diese eine, für meine Anforderungen evtl. sogar an der falschen Stelle angesetzten Änderung verfügt.
...
$statecomma = '';
$streets = $street;
// Second Address Field mod:
if ($street_2 != '') $streets = $street . $cr . $street_2;
// :Second Address Field mod

if ($suburb != '') $streets = $street . $cr . $suburb;
if ($country == '') $country = tep_output_string_protected($address['country']);
if ($state != '') $statecomma = $state . ', ';
...[/b]

Hier mal den, meine Frage betreffenden Teil der Anleitung...

PHP-Code:
<?php
---------------------------------------
in catalog/admin/includes/functions/general.php:
---------------------------------------

FIND (at or around line 341the entire function):

 function 
tep_address_format($address_format_id$address$html$boln$eoln) {
   
$address_format_query tep_db_query("select address_format as format from " TABLE_ADDRESS_FORMAT " where address_format_id = '" . (int)$address_format_id "'");
   
$address_format tep_db_fetch_array($address_format_query);

   
$company tep_output_string_protected($address['company']);
   if (isset(
$address['firstname']) && tep_not_null($address['firstname'])) {
     
$firstname tep_output_string_protected($address['firstname']);
     
$lastname tep_output_string_protected($address['lastname']);
   } elseif (isset(
$address['name']) && tep_not_null($address['name'])) {
     
$firstname tep_output_string_protected($address['name']);
     
$lastname '';
   } else {
     
$firstname '';
     
$lastname '';
   }
   
$street tep_output_string_protected($address['street_address']);
   
$suburb tep_output_string_protected($address['suburb']);
   
$city tep_output_string_protected($address['city']);
   
$state tep_output_string_protected($address['state']);
   if (isset(
$address['country_id']) && tep_not_null($address['country_id'])) {
     
$country tep_get_country_name($address['country_id']);

     if (isset(
$address['zone_id']) && tep_not_null($address['zone_id'])) {
       
$state tep_get_zone_code($address['country_id'], $address['zone_id'], $state);
     }
   } elseif (isset(
$address['country']) && tep_not_null($address['country'])) {
     
$country tep_output_string_protected($address['country']);
   } else {
     
$country '';
   }
   
$postcode tep_output_string_protected($address['postcode']);
   
$zip $postcode;

   if (
$html) {
// HTML Mode
     
$HR '<hr>';
     
$hr '<hr>';
     if ( (
$boln == '') && ($eoln == "\n") ) { // Values not specified, use rational defaults
       
$CR '
'
;
       
$cr '
'
;
       
$eoln $cr;
     } else { 
// Use values supplied
       
$CR $eoln $boln;
       
$cr $CR;
     }
   } else {
// Text Mode
     
$CR $eoln;
     
$cr $CR;
     
$HR '----------------------------------------';
     
$hr '----------------------------------------';
   }

   
$statecomma '';
   
$streets $street;
   if (
$suburb != ''$streets $street $cr $suburb;
   if (
$country == ''$country tep_output_string_protected($address['country']);
   if (
$state != ''$statecomma $state ', ';

   
$fmt $address_format['format'];
   eval(
"\$address = \"$fmt\";");

   if ( (
ACCOUNT_COMPANY == 'true') && (tep_not_null($company)) ) {
     
$address $company $cr $address;
   }

   return 
$address;
 }

REPLACE ENTIRE FUNCTION WITH:

 function 
tep_address_format($address_format_id$address$html$boln$eoln) {
   
$address_format_query tep_db_query("select address_format as format from " TABLE_ADDRESS_FORMAT " where address_format_id = '" . (int)$address_format_id "'");
   
$address_format tep_db_fetch_array($address_format_query);

   
$company tep_output_string_protected($address['company']);
   if (isset(
$address['firstname']) && tep_not_null($address['firstname'])) {
     
$firstname tep_output_string_protected($address['firstname']);
     
$lastname tep_output_string_protected($address['lastname']);
   } elseif (isset(
$address['name']) && tep_not_null($address['name'])) {
     
$firstname tep_output_string_protected($address['name']);
     
$lastname '';
   } else {
     
$firstname '';
     
$lastname '';
   }
   
$street tep_output_string_protected($address['street_address']);
// Second Address Field mod:
   
$street_2 tep_output_string_protected($address['street_address_2']);
// :Second Address Field mod
   
$suburb tep_output_string_protected($address['suburb']);
   
$city tep_output_string_protected($address['city']);
   
$state tep_output_string_protected($address['state']);
   if (isset(
$address['country_id']) && tep_not_null($address['country_id'])) {
     
$country tep_get_country_name($address['country_id']);

     if (isset(
$address['zone_id']) && tep_not_null($address['zone_id'])) {
       
$state tep_get_zone_code($address['country_id'], $address['zone_id'], $state);
     }
   } elseif (isset(
$address['country']) && tep_not_null($address['country'])) {
     
$country tep_output_string_protected($address['country']);
   } else {
     
$country '';
   }
   
$postcode tep_output_string_protected($address['postcode']);
   
$zip $postcode;

   if (
$html) {
// HTML Mode
     
$HR '<hr>';
     
$hr '<hr>';
     if ( (
$boln == '') && ($eoln == "\n") ) { // Values not specified, use rational defaults
       
$CR '
'
;
       
$cr '
'
;
       
$eoln $cr;
     } else { 
// Use values supplied
       
$CR $eoln $boln;
       
$cr $CR;
     }
   } else {
// Text Mode
     
$CR $eoln;
     
$cr $CR;
     
$HR '----------------------------------------';
     
$hr '----------------------------------------';
   }

   
$statecomma '';
   
$streets $street;
// Second Address Field mod:
   
if ($street_2 != ''$streets $street $cr $street_2;
// :Second Address Field mod
   
if ($suburb != ''$streets $street $cr $suburb;
   if (
$country == ''$country tep_output_string_protected($address['country']);
   if (
$state != ''$statecomma $state ', ';

   
$fmt $address_format['format'];
   eval(
"\$address = \"$fmt\";");

   if ( (
ACCOUNT_COMPANY == 'true') && (tep_not_null($company)) ) {
     
$address $company $cr $address;
   }

   return 
$address;
 }
?>
Wenn ich das halbwegs richtig verstanden habe, bedeutet if ($street_2 != '') $streets = $street . $cr . $street_2; doch, das wenn die Variable $street_2 gesetzt ist, die Var. $streets sozusagen aus $street Zeilenumbruch (je nach ausgabe
oder \n ) und $street_2 zusammengestzt wird, oder?
Müsste dann aber nicht $streets = $street; statt über der if-Abfrage innerhalb dieser sein ??? Also:
PHP-Code:
<?php
 
if ($street_2 != ''$streets $street $cr $street_2;
else 
$streets $street;
?>
Ich hoffe, ihr könnt halbwegs verstehen was ich meine
und hoffe jetzt auf reichlich Hilfe :wink:

Wenn´s hilft poste ich auch gerne die komplette general.php,
hab aber erst mal, auf Grund ihres Umfangs, darauf verzichtet.


Viele Grüße

Andreas
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.09.2005, 00:11  
Gast
 
Beiträge: n/a
Standard

Zitat:
Wenn ich das halbwegs richtig verstanden habe, bedeutet if ($street_2 != '') $streets = $street . $cr . $street_2; doch, das wenn die Variable $street_2 gesetzt ist, die Var. $streets sozusagen aus $street Zeilenumbruch (je nach ausgabe
oder \n ) und $street_2 zusammengestzt wird, oder?
Müsste dann aber nicht $streets = $street; statt über der if-Abfrage innerhalb dieser sein ??? Also: PHP:

PHP-Code:
<?php
 
if ($street_2 != ''$streets $street $cr $street_2
else 
$streets $street
?>
das heisst wenn $street_2 nicht-leer ist, dann mach else(sonst) das ...

und man würde das so schreiben ... zB.

PHP-Code:
<?php
if (!empty($street_2))
    
$streets $street $cr $street_2
else 
    
$streets $street
?>
so ...

PHP-Code:
<?php
if ($suburb != ''$streets $street $cr $suburb
?>
wenn dann ...

PHP-Code:
<?php
if (!empty($suburb)) $streets $street $cr $suburb

if (empty(
$country$country tep_output_string_protected($address['country']); 

if (!empty(
$state)) $statecomma $state ', '

?>

Und sorry aber warum postest Du die Anleitung nicht ... bzw. das ist viel Code
und wenn man nicht weis wo was herkommt bzw. hingeht dann ist das sehr viel aufwand da man das ganze Script durcharbeiten muss.

Von daher glaube ich auch nicht das jemand so viel Zeit haben wird aber gut mal
sehen ...
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Shop Zergling-new Off-Topic Diskussionen 4 17.04.2008 17:19
Shop Service - wie umsetzen? greg PHP Tipps 2006 1 07.05.2006 14:55
Tabelle erweitern mit PHP Script PHP Tipps 2007 7 07.11.2005 20:18
[Erledigt] Formulareingabe automatisch erweitern Datenbanken 5 18.10.2005 17:12
[Erledigt] Shop - Technischer Background PHP-Fortgeschrittene 5 18.04.2005 14:25
Shop bzw. Warenkorb - Framework El Barto Beitragsarchiv 7 27.01.2005 19:24
Shop in PHP PHP Tipps 2005 4 07.01.2005 23:09
Suchfunktion erweitern, aber WIE??? Hilfe! PHP Tipps 2004-2 7 30.11.2004 07:59
Tabelle erweitern, Spalten hinzufügen GeorgM Datenbanken 3 24.11.2004 17:06
pHp Shop in Homepage einbinden !!! ABER WIE ??? PHP Tipps 2004 1 15.08.2004 19:23
Mit php eine bestehende html-tabelle erweitern PHP Tipps 2004 1 12.07.2004 08:51
erkennen ob ein User in einem Shop eingekauft hat. Filewalker PHP Tipps 2004 3 27.06.2004 20:38
shop im frame problem (ie vs mozilla??) PHP-Fortgeschrittene 1 15.06.2004 02:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
oscommerce kundendaten erweitern, oscommerce kundendaten, $statecomma, tep_output_string_protected

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.