Skocz do zawartości


Zdjęcie

[Moduł] ShipToPay (ship2pay) dla PrestaShop 1.6


  • Zaloguj się, aby dodać odpowiedź
239 odpowiedzi w tym temacie

#21 lukruk

lukruk

    Użytkownik

  • Members
  • PipPip
  • 43 postów

Napisano 28 listopad 2014 - 09:47

To najlogiczniejsze w moim przypadku jest wybranie "przelew na konto (bankwire)" i tam po kliknięciu jak wyświetlają się informacje dotyczące numeru konta itp,, zmienić lekko dane.

A może jest już sprytny moduł, który dodaje przy opcjach płatności zakładkę np,: płacę przy odbiorze i po jej wyborze wyświetla się adres do odbioru osobistego ?

 

Pozdrawiam


  • effectdesign lubi to

#22 endriu107

endriu107

    Ekspert

  • Members
  • PipPipPipPip
  • 1000 postów
  • PrestaShop:1.4, 1.5, 1.6

Napisano 28 listopad 2014 - 13:53

Jest nazywa sie cache on delivery i w zasadzie możesz mu wpisać tekst w szablon o adresie odbioru.


  • effectdesign lubi to

#23 ircykk

ircykk

    Administrator

  • Administrators
  • 5051 postów
  • PrestaShop:1.5, 1.6

Napisano 28 listopad 2014 - 14:22

Bardziej "cash on delivery", jest domyślnie w każdej wersji PS wystarczy zainstalować.


  • effectdesign lubi to

#24 sower

sower

    Guru

  • Moderatorzy
  • 4240 postów
  • Location3miasto
  • PrestaShop:1.2, 1.3, 1.4, 1.5, 1.6

Napisano 28 listopad 2014 - 15:04

czyli wyszło cache cash - ciekawy był by taki moduł keszujący kasę ;)


  • effectdesign lubi to

468x60.jpg

468x60_pl.gif

 

QUICK PRESTA SUPPORT:  gg 45116037
SKLEPY  MODUŁY INTEGRACJE  POMOC TECHNICZNA


#25 endriu107

endriu107

    Ekspert

  • Members
  • PipPipPipPip
  • 1000 postów
  • PrestaShop:1.4, 1.5, 1.6

Napisano 28 listopad 2014 - 15:10

:D :D :D

 

ach te literówki ;)


  • effectdesign lubi to

#26 effectdesign

effectdesign

    Użytkownik

  • Members
  • PipPip
  • 80 postów

Napisano 29 listopad 2014 - 08:30

Witam.

Dziękuję za moduł. ircykk

Ważna informacja. Żeby moduł działał, koniecznie trzeba usunąć pozostałości po wcześniejszych modułach tego typu.

Warunkiem koniecznym jest włączenie nadpisywania kontrolerów.

Miałem problemy, gdy zainstalowałem inny moduł tego typu wcześniej.

Musiałem się pozbyć pozostałości po nim.

Moduł rewelacyjnie sprawuje się na Prestashop 1.6.

Dobra współpraca z  "Multistore" .

Polecam



#27 slimak12

slimak12

    Początkujący

  • Members
  • Pip
  • 1 postów

Napisano 20 grudzień 2014 - 17:52

Dzięki, tego szukałem



#28 greysds

greysds

    Początkujący

  • Members
  • Pip
  • 1 postów

Napisano 07 styczeń 2015 - 10:09

Właśnie zainstalowałam moduł. Śmiga pięknie, ale... No właśnie, ale. Na angielskiej wersji wywala błąd, że moduł nie jest zainstalowany. Czy coś należy zmienić w plikach? Będę dzwięczna za pomoc :)

 

EDIT: problem zażegnany :D 



#29 Makkyun

Makkyun

    Użytkownik

  • Members
  • PipPip
  • 28 postów

Napisano 08 styczeń 2015 - 16:55

Info: z aktualizacją presty 1.6.0.11 nie działa :) wyświetlają się dwie pozycje płatności nawet przy zaznaczeniu jednej :)



#30 ircykk

ircykk

    Administrator

  • Administrators
  • 5051 postów
  • PrestaShop:1.5, 1.6

Napisano 08 styczeń 2015 - 17:25

Po aktualizacji czy przy czystej instalacji? Reinstalacja modułu nie pomaga?



#31 Makkyun

Makkyun

    Użytkownik

  • Members
  • PipPip
  • 28 postów

Napisano 08 styczeń 2015 - 18:10

Po aktualizacji jednym kliknięciem - moduł zainstalowany od nowa. Przy każdej wysyłce pokazują się 2 możliwości: płatność przelewem i za pobraniem, pomimo innych ustawień.



#32 Sarogatip

Sarogatip

    Początkujący

  • Members
  • Pip
  • 2 postów

Napisano 14 styczeń 2015 - 12:41

Potwierdzam, moduł niestety nie działa przy świeżo zainstalowanej prescie 1.6.0.11, a przy preście 1.6.0.9 działa bez problemu :)



#33 ircykk

ircykk

    Administrator

  • Administrators
  • 5051 postów
  • PrestaShop:1.5, 1.6

Napisano 14 styczeń 2015 - 16:49

Sprawdzałem i moduł działa bez problemu przy OPC jak i 5 kroków na PS 1.6.0.11. Czym objawia się nie działanie (wszystkie czy brak płatności)? Czy jest mulistore? Usunięcie cache/class_inex.php nie pomaga?



#34 Sarogatip

Sarogatip

    Początkujący

  • Members
  • Pip
  • 2 postów

Napisano 15 styczeń 2015 - 11:59

Nie ma multistore. Problem polega na tym, że o ile w starszych wersjach zaznaczyłem odpowiednie środki transportu przy odpowiednich rodzajach płatność i po zapisaniu w panelu zarządzania modułem to zaznaczenie zostawało, to w nowej wersji zaznaczam sobie odpowiednio klikam zapisz, nawet dostaję komunikat że prawidłowo zapisano ale po zapisaniu całe zaznaczenie znika. A gdy próbuję robić zakup to wszystkie sposoby dostawy są dostępne niezależnie od rodzaju płatności.

Jeżeli usunę cache/class_index.php to wyskakuje komunikat o braku zainstalowanych modułów płątności,



#35 Makkyun

Makkyun

    Użytkownik

  • Members
  • PipPip
  • 28 postów

Napisano 22 styczeń 2015 - 11:55

Ogólnie u mnie jest tak: moduł wszystko pięknie się instaluje i jest, natomiast przy każdej metodzie wysyłki pokazuje 2 opcje - pobrania i przelewu, pomimo że zaznaczałam inaczej.



#36 ircykk

ircykk

    Administrator

  • Administrators
  • 5051 postów
  • PrestaShop:1.5, 1.6

Napisano 22 styczeń 2015 - 12:39

Wklej zawartość override/classes/Hook.php. Spróbuj też usunąć cache/class_index.php



#37 Makkyun

Makkyun

    Użytkownik

  • Members
  • PipPip
  • 28 postów

Napisano 25 styczeń 2015 - 14:18

<?php

class Hook extends HookCore
{

	/*
	* module: shiptopay
	* date: 2015-01-22 12:50:45
	* version: 2.0
	*/
    public static function getHookModuleExecList($hook_name = null)
    {
        $context = Context::getContext();
        $cache_id = 'hook_module_exec_list_'.(isset($context->shop->id) ? '_'.$context->shop->id : '' ).((isset($context->customer)) ? '_'.$context->customer->id : '');
        if (!Cache::isStored($cache_id) || $hook_name == 'displayPayment' || $hook_name == 'displayBackOfficeHeader')
        {
            $frontend = true;
            $groups = array();
            $use_groups = Group::isFeatureActive();
            if (isset($context->employee))
                $frontend = false;
            else
            {
                // Get groups list
                if ($use_groups)
                {
                    if (isset($context->customer) && $context->customer->isLogged())
                        $groups = $context->customer->getGroups();
                    elseif (isset($context->customer) && $context->customer->isLogged(true))
                        $groups = array((int)Configuration::get('PS_GUEST_GROUP'));
                    else
                        $groups = array((int)Configuration::get('PS_UNIDENTIFIED_GROUP'));
                }
            }
            
            // SQL Request
            $sql = new DbQuery();
            $sql->select('h.`name` as hook, m.`id_module`, h.`id_hook`, m.`name` as module, h.`live_edit`');
            $sql->from('module', 'm');
            if ($hook_name != 'displayBackOfficeHeader')
            {
                $sql->join(Shop::addSqlAssociation('module', 'm', true, 'module_shop.enable_device & '.(int)Context::getContext()->getDevice()));
                $sql->innerJoin('module_shop', 'ms', 'ms.`id_module` = m.`id_module`');
            }
            $sql->innerJoin('hook_module', 'hm', 'hm.`id_module` = m.`id_module`');
            $sql->innerJoin('hook', 'h', 'hm.`id_hook` = h.`id_hook`');
            if ($hook_name != 'displayPayment')
                $sql->where('h.name != "displayPayment"');
            // For payment modules, we check that they are available in the contextual country
            elseif ($frontend)
            {
                // ShipToPay remove fix (override still exists but module not)
                if(Module::getInstanceByName('shiptopay')->active)
                    $sql->innerJoin('shiptopay', 'stp', 'stp.`id_payment` = m.`id_module` AND stp.`id_carrier` = ' . (int)$context->cart->id_carrier . ' AND stp.`id_shop` = ' . (int)$context->shop->id);

                if (Validate::isLoadedObject($context->country))
                    $sql->where('(h.name = "displayPayment" AND (SELECT id_country FROM '._DB_PREFIX_.'module_country mc WHERE mc.id_module = m.id_module AND id_country = '.(int)$context->country->id.' AND id_shop = '.(int)$context->shop->id.' LIMIT 1) = '.(int)$context->country->id.')');
                if (Validate::isLoadedObject($context->currency))
                    $sql->where('(h.name = "displayPayment" AND (SELECT id_currency FROM '._DB_PREFIX_.'module_currency mcr WHERE mcr.id_module = m.id_module AND id_currency IN ('.(int)$context->currency->id.', -1, -2) LIMIT 1) IN ('.(int)$context->currency->id.', -1, -2))');
            }
            if (Validate::isLoadedObject($context->shop))
                $sql->where('hm.id_shop = '.(int)$context->shop->id);

            if ($frontend)
            {
                if ($use_groups)
                {
                    $sql->leftJoin('module_group', 'mg', 'mg.`id_module` = m.`id_module`');
                    if (Validate::isLoadedObject($context->shop))
                        $sql->where('mg.id_shop = '.((int)$context->shop->id).' AND  mg.`id_group` IN ('.implode(', ', $groups).')');
                    else
                        $sql->where('mg.`id_group` IN ('.implode(', ', $groups).')');
                }
            }

            $sql->groupBy('hm.id_hook, hm.id_module');
            $sql->orderBy('hm.`position`');

            $list = array();
            if ($result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql))
                foreach ($result as $row)
                {
                    $row['hook'] = strtolower($row['hook']);
                    if (!isset($list[$row['hook']]))
                        $list[$row['hook']] = array();

                    $list[$row['hook']][] = array(
                        'id_hook' => $row['id_hook'],
                        'module' => $row['module'],
                        'id_module' => $row['id_module'],
                        'live_edit' => $row['live_edit'],
                    );
                }
            if ($hook_name != 'displayPayment' && $hook_name != 'displayBackOfficeHeader')
            {
                Cache::store($cache_id, $list);
                // @todo remove this in 1.6, we keep it in 1.5 for retrocompatibility
                self::$_hook_modules_cache_exec = $list;
            }
        }
        else
            $list = Cache::retrieve($cache_id);

        // If hook_name is given, just get list of modules for this hook
        if ($hook_name)
        {
            $retro_hook_name = strtolower(Hook::getRetroHookName($hook_name));
            $hook_name = strtolower($hook_name);

            $return = array();
            $inserted_modules = array();
            if (isset($list[$hook_name]))
                $return = $list[$hook_name];
            foreach ($return as $module)
                $inserted_modules[] = $module['id_module'];
            if (isset($list[$retro_hook_name]))
                foreach ($list[$retro_hook_name] as $retro_module_call)
                    if (!in_array($retro_module_call['id_module'], $inserted_modules))
                        $return[] = $retro_module_call;

            return (count($return) > 0 ? $return : false);
        }
        else
            return $list;
    }
}

O ten plik chodzi?



#38 lalki-berenguer.pl

lalki-berenguer.pl

    Początkujący

  • Members
  • Pip
  • 4 postów

Napisano 26 styczeń 2015 - 09:46

Witam Serdecznie,

 

Poprzednik napisał :

 

Warunkiem koniecznym jest włączenie nadpisywania kontrolerów

 

Jak to zrobić?

 

Z góry dziękuję za pomoc.



#39 ircykk

ircykk

    Administrator

  • Administrators
  • 5051 postów
  • PrestaShop:1.5, 1.6

Napisano 26 styczeń 2015 - 13:26

Domyślnie jest włączone (Zaawansowane > Wydajność > Wyłącz wszystkie nadpisywania musi być na NIE).



#40 Joao Morais

Joao Morais

    Początkujący

  • Members
  • Pip
  • 1 postów

Napisano 17 luty 2015 - 12:11

Hi. Does this module work in prestashop 1.6.0.9 and higher?
Sorry to write in English but I don't understand your language I'm Portuguese.
I need a module were I can charge different prices of delivery according to the type of payment chosen by the customer.
Can I do that with ship2pay?
Thanks.




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych

Hosting zapewnia: Hekko.pl