wdrożenia PrestaShop

Moduł ship2pay w Prestashop 1.4

  • 16 Odpowiedzi
  • 18663 Wyświetleń

0 użytkowników i 3 Gości przegląda ten wątek.

*

Offline art28

  • Nowy
  • *
  • 5
  • 0
Moduł ship2pay w Prestashop 1.4
« dnia: Luty 26, 2011, 07:29:25 pm »
Witam ,

udało mi się zainstalować moduł ship2pay dla wersji 1.4.

opiszę poniżej jak to zrobić:

1. Należy mieć w bazie tablicę ship2pay ,jeżeli ktoś miał w poprzedniej wersji należy ją przenieść, albo założyć od nowa.

2.kopiujemy ze starszej wersji moduł ship2pay do nowej wersji 1.4 w to samo miejsce (katalog moduły)
   w panelu administracyjnym w zakładce moduły w sekcji inne moduły pojawi się nasz "ship to pay".

3 następnie modyfikujemy następujące pliki (wcześniej robimy ich kopię)


a) classes->module.php

dopisać dwie funkcje:


   //ship2pay//
        public static function hookExecFront($carrier,$hook_name,$hookArgs = array(), $id_module = NULL)
{


       if ((!empty($id_module) AND !Validate::isUnsignedId($id_module)) OR !Validate::isHookName($hook_name))
die(Tools::displayError());



        $output = '';
        global $cart, $cookie;
        $sql='SELECT * FROM `'._DB_PREFIX_.'shiptopay`';
        $result = Db::getInstance()->ExecuteS($sql);

        if(count($result)==0){
    
        Module::hookExec($hook_name);

        }  else
        {

if (!isset($hookArgs['cookie']) OR !$hookArgs['cookie'])
$hookArgs['cookie'] = $cookie;
if (!isset($hookArgs['cart']) OR !$hookArgs['cart'])
$hookArgs['cart'] = $cart;
$hook_name = strtolower($hook_name);

if (!isset(self::$_hookModulesCache))
{
$db = Db::getInstance(_PS_USE_SQL_SLAVE_);
$result = $db->ExecuteS('
SELECT distinct(stp.id_carrier), h.`name` as hook, m.`id_module`, h.`id_hook`, m.`name` as module
FROM `'._DB_PREFIX_.'module` m
LEFT JOIN `'._DB_PREFIX_.'hook_module` hm ON hm.`id_module` = m.`id_module`
LEFT JOIN `'._DB_PREFIX_.'hook` h ON hm.`id_hook` = h.`id_hook`
                        LEFT JOIN `'._DB_PREFIX_.'shiptopay` stp ON hm.`id_module` = stp.`id_payment`
                        WHERE stp.id_carrier='.intval($carrier).'
           AND m.`active` = 1
ORDER BY hm.`position`', false);
self::$_hookModulesCache = array();
while ($row = $db->nextRow())
{
$row['hook'] = strtolower($row['hook']);
if (!isset(self::$_hookModulesCache[$row['hook']]))
self::$_hookModulesCache[$row['hook']] = array();
self::$_hookModulesCache[$row['hook']][] = array('id_hook' => $row['id_hook'], 'module' => $row['module'], 'id_module' => $row['id_module']);
}

                      
}

if (!isset(self::$_hookModulesCache[$hook_name]))
return;
$altern = 0;
foreach (self::$_hookModulesCache[$hook_name] AS $array)
{
if ($id_module AND $id_module != $array['id_module'])
continue;
if (!($moduleInstance = Module::getInstanceByName($array['module'])))
continue;

$exceptions = $moduleInstance->getExceptions((int)$array['id_hook'], (int)$array['id_module']);
foreach ($exceptions AS $exception)
if (strstr(basename($_SERVER['PHP_SELF']).'?'.$_SERVER['QUERY_STRING'], $exception['file_name']))
continue 2;

if (is_callable(array($moduleInstance, 'hook'.$hook_name)))
{
$hookArgs['altern'] = ++$altern;
$output .= call_user_func(array($moduleInstance, 'hook'.$hook_name), $hookArgs);
}
}

              
        }
        
return $output;
   }


oraz :



    public static function hookExecPaymentFront($carrier)
{
global $cart, $cookie;
$hookArgs = array('cookie' => $cookie, 'cart' => $cart);
$id_customer = (int)($cookie->id_customer);
$billing = new Address((int)($cart->id_address_invoice));
$output = '';

$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT DISTINCT (stp.id_carrier), h.`id_hook`, m.`name`, hm.`position`
FROM `'._DB_PREFIX_.'module_country` mc
LEFT JOIN `'._DB_PREFIX_.'module` m ON m.`id_module` = mc.`id_module`
INNER JOIN `'._DB_PREFIX_.'module_group` mg ON (m.`id_module` = mg.`id_module`)
INNER JOIN `'._DB_PREFIX_.'customer_group` cg on (cg.`id_group` = mg.`id_group` AND cg.`id_customer` = '.(int)($id_customer).')
LEFT JOIN `'._DB_PREFIX_.'hook_module` hm ON hm.`id_module` = m.`id_module`
LEFT JOIN `'._DB_PREFIX_.'hook` h ON hm.`id_hook` = h.`id_hook`
                LEFT JOIN `'._DB_PREFIX_.'shiptopay` stp ON hm.`id_module` = stp.`id_payment`
     WHERE h.`name` = \'payment\'
                  AND stp.id_carrier='.intval($carrier).'
    
AND mc.id_country = '.(int)($billing->id_country).'
AND m.`active` = 1
ORDER BY hm.`position`, m.`name` DESC');
if ($result)
foreach ($result AS $k => $module)
if (($moduleInstance = Module::getInstanceByName($module['name'])) AND is_callable(array($moduleInstance, 'hookpayment')))
if (!$moduleInstance->currencies OR ($moduleInstance->currencies AND sizeof(Currency::checkPaymentCurrencies($moduleInstance->id))))
$output .= call_user_func(array($moduleInstance, 'hookpayment'), $hookArgs);
return $output;
}




b) w pliku controllers->OrderController.php

w funkcji :  

 protected function _assignPayment()


w miejsce linijki:

 'HOOK_PAYMENT' => Module::hookExecPayment(),

wpisać:

 'HOOK_PAYMENT' => Module::hookExecPaymentFront(Tools::getValue('id_carrier')),


c) w pliku controllers->OrderOpcController.php

w funkcji:

public function preProcess()


w sekcji:

case 'getPaymentModule':

w miejsce linijki :

$return = Module::hookExec('payment');

wpisać:

$return = Module::hookExecFront($this->cart->id_carrier,'payment');





To by było na tyle po tych modyfikacjach moduł ship2pay powinien działać.

Pozdrawiam
Art








« Ostatnia zmiana: Luty 26, 2011, 08:00:32 pm wysłana przez art28 »

*

Offline deviant

  • Mieszkaniec
  • *****
  • 776
  • 1
  • Płeć: Mężczyzna
  • prestamod
  • PrestaShop: PS
  • Status: forum
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #1 dnia: Luty 26, 2011, 07:37:03 pm »
Zawsze ;]
Prestamod -> [sklepy][hosting][modyfikacje][szablony][pomoc]

*

Offline kryskiew

  • Nowy
  • *
  • 3
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #2 dnia: Luty 28, 2011, 11:07:06 am »
Witam,
zrobiłem według instrukcji i niestety coś nie działa, w BackOffice po kliknięciu w konfiguracje ship2pay nic nie ma.
A w sklepie przy wyborze płatności pokazuje "Moduł płatności nie został zainstalowany"
Używam Presty 1.4 RC5.
Ktoś może wie jak rozwiązać ten problem?

*

Offline art28

  • Nowy
  • *
  • 5
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #3 dnia: Luty 28, 2011, 02:44:49 pm »
czy w bazie danych jest tablica shiptopay ???

i w tablicy module powinien być wpis name => shiptopay, active=1

pozdr
Art

*

Offline kryskiew

  • Nowy
  • *
  • 3
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #4 dnia: Luty 28, 2011, 09:16:00 pm »
Tak, wszystko było tak jak w instrukcji, niestety nie zadziałało.
Dużo czasu poświęciłem na rozwiązanie tego problemu, moja cierpliwość się skończyła i postawiłem Preste od nowa, teraz jest wszystko ok, ship to pay działa.  :)
Pozdr.

*

Offline skurek

  • Nowy
  • *
  • 5
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #5 dnia: Marzec 07, 2011, 10:42:11 pm »
cześć.
http://www.beje.pl/ship2pay_2-0.zip   tutaj jest moduł ship2pay dla 1.4. wystarczy wgrać pliki i działa.
ale tylko dla zamówień realizowanych w pięciu krokach, a nie na jednej stronie.

*

Offline art28

  • Nowy
  • *
  • 5
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #6 dnia: Marzec 10, 2011, 01:04:22 pm »
U mnie działa w wersji 5 kroków i jednej strony :)

stąd modyfikacja dwóch plików OrderController.php i OrderOpcController.php.

pozdrawiam
Art28

*

Offline skurek

  • Nowy
  • *
  • 5
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #7 dnia: Marzec 11, 2011, 01:25:38 am »
no własnie jak mam właczony 1 krok to za cholere nie działa.
jest tylko komunikat ze nie ma dostepnego sposobu płatnności.


*

Offline skurek

  • Nowy
  • *
  • 5
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #9 dnia: Kwiecień 04, 2011, 04:06:33 pm »
Moduł ship2pay dla PrestaShop 1.4 można pobrać tu: http://sklep.prestadesign.pl/prestashop-moduly/27-ship-to-pay-dla-prestashop-14-laczenie-wysylki-z-opcja-dostawy.html

niestety dla zamówienia w jednym kroku nie działa  >:(

*

Offline duch

  • Użytkownik
  • **
  • 48
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #10 dnia: Kwiecień 05, 2011, 06:20:33 pm »
Fakt, dzięki za zgłoszenie już naprawiłem bug. Pozdrawiam

*

Offline ntmind

  • Nowy
  • *
  • 5
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #11 dnia: Lipiec 18, 2011, 01:42:00 am »
ok, posiedziałem trochę i jestem w kropce, mianowicie:

- moduł wgrany
- zainstalowany
- kombinacje dodane
- przy wyborze załóżmy "kurier przelew"  pokazuje także opcje wyboru "płatne przy odbiorze"


jakiś pomysł ?


*

Offline jerri69

  • Stały użytkownik
  • ***
  • 63
  • 0
  • Płeć: Mężczyzna
  • http://kumpoo.pl - BADMINTON profesjonalny
    • Profesjonalny japoński sprzęt do badmintona.
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #12 dnia: Lipiec 18, 2011, 08:04:05 am »
sprawdź bezpośrednio w bazie danych w tabeli ps_ship2pay czy nie ma jakiś starych połączeń przewoźników.

czy komuś działa poprawnie moduł na PS 1.4.3? - mam problem z realizacją zamówienia w 1 kroku - podczas logowania wywala błąd.
http://kumpoo.pl  BADMINTON. Profesjonalna odzież, torby, buty i rakiety i akcesoria do sportów halowych (badminton, squash, tenis)!
----
http://kumpoo.eu  BADMINTON. Professional badminton rackets, shuttlecocks, bags and thermo-bags, sports shoes and badminton equipment.

*

Offline jerri69

  • Stały użytkownik
  • ***
  • 63
  • 0
  • Płeć: Mężczyzna
  • http://kumpoo.pl - BADMINTON profesjonalny
    • Profesjonalny japoński sprzęt do badmintona.
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #13 dnia: Lipiec 24, 2011, 11:43:50 pm »
Uwaga,
na stronie http://www.cdn.impsolutions.pl/ jest działająca wersja Ship2pay dla Ps 1.4.3. sprawdzone

podziękowania dla Krystiana Podemskiego z forum prestashop.com
http://kumpoo.pl  BADMINTON. Profesjonalna odzież, torby, buty i rakiety i akcesoria do sportów halowych (badminton, squash, tenis)!
----
http://kumpoo.eu  BADMINTON. Professional badminton rackets, shuttlecocks, bags and thermo-bags, sports shoes and badminton equipment.

*

Offline bocianl

  • Nowy
  • *
  • 2
  • 0
Odp: Moduł ship2pay w Prestashop 1.4
« Odpowiedź #14 dnia: Lipiec 26, 2011, 11:43:17 am »
Mi niestety nie dziala na 1.4.3. Kiedy wchodze do konfiguracji modulu mam taki widok:

http://prntscr.com/2fct9

Czy ktos miał tez taki problem?