Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα έχω ένα eshop στημένο σε Drupal 7 με το commerce module. Επειδή χρησιμοποιώ περισσότερα από ένα νομίσματα χρησιμοποιώ το commerce multicurrency module. Το συγκεκριμένο module συνδέεται με την Ευρωπαική κεντρική τράπεζα και τραβάει ένα xml αρχείο με τις ισοτιμίες των νομισμάτων σε σχέση με το ευρώ. Στο e-shop μου όμως το module δεν μπορεί να συνδεθεί με την τράπεζα για το xml. Έχω δοκιμάσει το module και σε άλλες σελίδες και παίζει κανονικά άρα κάποια ρύθμιση η σφάλμα στο e-shop το εμποδίζει. Υπάρχει καμμιά ιδέα τι μπορεί να είναι αυτό??

Δημοσ.

Στα error log μου βγάζει ότι δεν μπορεί να συνδεθεί με την σελίδα της ECB για να πάρει το αρχείο με τις ισοτιμίες. Έχω κάνει κάποιες δοκιμές με κώδικα php για να δώ αν το module μπορεί να συνδεθεί και με άλλες σελίδες και βλέπω ότι δεν γίνεται. Πχ έχω δοκιμάσει τον κώδικα:

$url = 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml';
    $not_url = 'stp://google.com';

if (@file_get_contents($url)): dpm("Found '$url'!");
    else: dpm("Can't find '$url'.");
    endif;
    if (@file_get_contents($not_url)): dpm("Found '$not_url!");
    else: dpm("Can't find '$not_url'.");
    endif;

Μου βγάζει συνέχεια "Can't find '$url'." ενώ το url υπάρχει και είναι σωστό.

Δημοσ.

Χρησιμοποιείσαι, αν θες και μπορείς να πειράξεις το module σου, το http://fixer.io/. Είναι ένα RESTful API το οποίο διαβάζει το xml της Ευρωπαϊκής Κεντρικής Τράπεζας, απλά εσύ θα στέλνεις και θα παίρνεις JSON.

 

Και ότι error handling χρειάζεται το αφήνεις πάνω στο API και φεύγει από σένα.

 

Δες και αυτό βέβαια.

 

http://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html

Δημοσ.

Τα νεοτερα εχουν ως εξης:

Το url με τις ισοτιμιες ειναι σωστο συγκεκριμενα μεσα στο module υπαρχει ο κωδικας:

if (($xml = @simplexml_load_file('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml'))&& @count($xml->Cube->Cube->Cube)) {
      foreach ($xml->Cube->Cube->Cube as $rate) {
        $ecb_rates[(string) $rate["currency"]] = (string) $rate["rate"];
      }
      // Cache six hours.
      cache_set(__FUNCTION__, $ecb_rates, 'cache', time() + (3600 * 6));
    }

Απο εκει εκανα copy paste to url στο δικο μου if, αυτός ο κωδικας πεταει το παρακατω σφαλμα στο error log:

Rate provider ECB: Unable to fetch / process the currency data of http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

που σημαινει οτι το module δεν μπορει να βρει το xml.

Στο error log βγαινει και ενα σφαλμα ακομα:

Warning: file_get_contents(http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml): failed to open stream: no suitable wrapper could be found in commerce_multicurrency_exchange_rate_sync_provider_ecb() (line 28 of /var/www/expresspublishing.co.uk/public_html/sites/all/modules/commerce_multicurrency/commerce_multicurrency.ecb.inc).

Το εψαξα λιγο και βρηκα αυτη την πληροφορια:

This warning means server configuration is blocking external file access.
To resolve this problem just make the below changes in php.ini file.


From
 

Code:
allow_url_fopen = Off
allow_url_include = Off

To



Code:

allow_url_fopen = On
allow_url_include = On

Ομως στο htaccess αρχειο και στο settings.php δεν βρηκα αυτες τις ρυθμισεις.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...