Virtuemart 1.1.x - τρόπος πληρωμής και χώρα

Κάτι που λείπει από το Joomla - Virtuemart 1.1.x είναι ο περιορισμός εμφάνισης τρόπου πληρωμής (πχ. της αντικαταβολής) σε ορισμένες χώρες ή αλλιώς πώς ανάλογα με τον τρόπο πληρωμής να ορίζουμε συγκεκριμένη χώρας για την οποία αυτός θα είναι διαθέσιμος.

Παρακάτω με την επεξεργασία τριών (3) μόνο αρχείων (είτε μέσω του file manager του panel που σας παρέχει η εταιρία web hosting είτε μέσω ftp) του virtuemart θα εξηγήσουμε πως να προσθέσουμε την συγκεκριμένη λειτουργία.

Εκτελέστε την παρακάτω εντολή στην mySQL database (μέσω phpMyAdmin ή με όποιον άλλο τρόπο επιθυμείτε):

ALTER TABLE  `jos_vm_payment_method` ADD  `payment_method_country` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT  'restrict payment method by country';

----------------------
ΑΝΟΙΞΤΕ:

administrator/components/com_virtuemart/html/
store.payment_method_form.php

ΒΡΕΙΤΕ:

    <tr class="row0">
      <td class="labelcell"><?php echo $VM_LANG->_('PHPSHOP_PAYMENT_METHOD_FORM_SHOPPER_GROUP') ?>:</td>

ΑΚΡΙΒΩΣ ΑΠΟ ΠΑΝΩ ΠΡΟΣΘΕΣΤΕ:

    <tr class="row1">
      <td class="labelcell"><?php echo $VM_LANG->_('PHPSHOP_PAYMENT_METHOD_FORM_SHOPPER_COUNTRY') ?>:</td>
      <td width="69%" >
      <input type="text" class="inputbox" name="payment_method_country" value="<?php $db->sp("payment_method_country") ?>" size="32" />
          <?php echo mm_ToolTip( $VM_LANG->_('VM_PAYMENT_METHOD_COUNTRY_TIP') ); ?>
      </td>
    </tr>

----------------------
ΑΝΟΙΞΤΕ:

administrator/components/com_virtuemart/classes/
ps_payment_method.php

ΚΑΙ ΣΤΙΣ ΔΥΟ ΣΕΙΡΕΣ 211 ΚΑΙ 276

ΒΡΕΙΤΕ:

'payment_extrainfo' => vmGet( $_POST, 'payment_extrainfo', null, VMREQUEST_ALLOWRAW )

ΑΚΡΙΒΩΣ ΑΠΟ ΠΑΝΩ ΠΡΟΣΘΕΣΤΕ:

'payment_method_country' => vmGet($d, 'payment_method_country'),

Περίπου στην γραμμή 397 ΒΡΕΙΤΕ:

$q .= "(enable_processor='$selector') AND ";

ΑΚΡΙΒΩΣ ΑΠΟ ΠΑΝΩ ΠΡΟΣΘΕΣΤΕ:

$q .= "(payment_method_country LIKE '%|". $_SESSION['auth']['country'] ."|%' OR payment_method_country='') AND ";

----------------------------------
ΑΝΟΙΞΤΕ:

administrator/components/com_virtuemart/languages/store/
english.php

ΒΡΕΙΤΕ:

'PHPSHOP_PAYMENT_METHOD_FORM_CODE' => 'Code',

ΑΚΡΙΒΩΣ ΑΠΟ ΠΑΝΩ ΠΡΟΣΘΕΣΤΕ:

'PHPSHOP_PAYMENT_METHOD_FORM_SHOPPER_COUNTRY' => 'Show only for countries',
'VM_PAYMENT_METHOD_COUNTRY_TIP' => 'Enter Country Code (3) of the desired countries and split it like this: |GRC|RUS|. For just one country: |GRC|',

Επαναλάβετε το τελευταίο βήμα για όλες τις γλώσσες που έχετε εγκατεστημένες.

ΧΡΗΣΗ:
Ανοίξετε ή προσθέστε έναν τρόπο πληρωμής στον πίνακα διαχείρησης του virtuemart.
Στο πεδίο "Να εμφανίζεται μόνο για τις χώρες:"
Εισάγετε τον Country Code (3) τον χωρών που θέλετε να εμφανίζεται ο τρόπος πληρωμής και χωρίστε τις χώρες με αυτόν τον τρόπο: |GRC|RUS|. Για μια μόνο χώρα: |GRC| ... ή απλά διαβάστε το Tip δίπλα το πεδίο.