Právě je 26 dub 2024 15:40

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop 1.6 - Jak vyhledat zákazníka podle telefonu
PříspěvekNapsal: 19 pro 2014 10:28 
C4 zákazník
Uživatelský avatar

Registrován:
06 čer 2014 19:28
Příspěvky:
607
Ahojte, hladal som dlhsi cas, akym sposobom vyhladam zakaznika v BO pomocou jeho tel. cisla. Urcite sa to hodi aj ostatnym uzivatelom tohto fora.

Tu je jednoduchy postup ako nato:

1. Otvorte "classes/Customer.php"

2. Vyhladajte riadok "searchByName" (Mal by to byt riadok 508)

3. Tuto cast kodu nahradite kodom nizsie:
Kód:
$sql = 'SELECT *
FROM `'._DB_PREFIX_.'customer`
WHERE (
`email` LIKE \'%'.pSQL($query).'%\'
OR `id_customer` LIKE \'%'.pSQL($query).'%\'
OR `lastname` LIKE \'%'.pSQL($query).'%\'
OR `firstname` LIKE \'%'.pSQL($query).'%\'
)'.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER);



4. Nahradte tymto kodom :
Kód:
$sql = 'SELECT c.*
FROM '._DB_PREFIX_.'customer c, '._DB_PREFIX_.'address a
WHERE c.id_customer = a.id_customer AND
(
a.phone LIKE \'%'.pSQL($query).'%\'
OR a.phone_mobile LIKE \'%'.pSQL($query).'%\'
OR c.email LIKE \'%'.pSQL($query).'%\'
OR c.id_customer LIKE \'%'.pSQL($query).'%\'
OR c.lastname LIKE \'%'.pSQL($query).'%\'
OR c.firstname LIKE \'%'.pSQL($query).'%\'
)'.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER);


5. Hotovo ! Vyhladat cislo mozete v BO, v lavo hore pouzitim "Hladat".


*Odskusane vo verzii 1.6.0.9


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - Jak vyhledat zákazníka podle telefonu
PříspěvekNapsal: 19 pro 2014 15:04 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8507
Dobrý den,

děkujeme za uvedení návodu, určitě se bude hodit i ostatním uživatelům.

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - Jak vyhledat zákazníka podle telefonu
PříspěvekNapsal: 26 úno 2015 10:03 
C4 zákazník
Uživatelský avatar

Registrován:
06 čer 2014 19:28
Příspěvky:
607
Túto zmenu nie je možné použiť v 1.6.0.13. Môžete prosím poradiť, kde môže byť problém ? Alebo robím niečo zle ?

Ďakujem


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - Jak vyhledat zákazníka podle telefonu
PříspěvekNapsal: 26 úno 2015 13:29 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8507
Dobrý den,

v nové verzi 1.6.0.13 je kód trochu odlišný. Takže v souboru classes/Customer.php najděte tuto část zdrojového kódu (řádek 504):
Kód:
public static function searchByName($query)
{
   return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
   SELECT *
   FROM `'._DB_PREFIX_.'customer`
   WHERE (
      `email` LIKE \'%'.pSQL($query).'%\'
      OR `id_customer` = '.(int)$query.'
      OR `lastname` LIKE \'%'.pSQL($query).'%\'
      OR `firstname` LIKE \'%'.pSQL($query).'%\'
   )
   '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER));
}
a nahraďte ji tímto kódem:
Kód:
public static function searchByName($query)
{
   return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
   SELECT *
   FROM `'._DB_PREFIX_.'customer` c, `'._DB_PREFIX_.'address` a
   WHERE c.`id_customer` = a.`id_customer` AND (
      c.`email` LIKE \'%'.pSQL($query).'%\'
      OR c.`id_customer` = '.(int)$query.'
      OR c.`lastname` LIKE \'%'.pSQL($query).'%\'
      OR c.`firstname` LIKE \'%'.pSQL($query).'%\'
      OR a.`phone` LIKE \'%'.pSQL($query).'%\'
      OR a.`phone_mobile` LIKE \'%'.pSQL($query).'%\'
   )
   '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER));
}

Následně v administraci aplikace PrestaShop ověřte funkčnost hledání zákazníka podle telefonu.

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - Jak vyhledat zákazníka podle telefonu
PříspěvekNapsal: 26 úno 2015 15:07 
C4 zákazník
Uživatelský avatar

Registrován:
06 čer 2014 19:28
Příspěvky:
607
Funguje, super ! Ďakujem pekne


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - Jak vyhledat zákazníka podle telefonu
PříspěvekNapsal: 04 zář 2015 11:51 

Registrován:
04 zář 2015 11:05
Příspěvky:
2
Zdravim! mate toto niekto uz prepisane aj v Prestashop 1.6.1.1. ???
ani jedna z moznosti mi tam nefunguje.

Dakujem za reakcie


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - Jak vyhledat zákazníka podle telefonu
PříspěvekNapsal: 11 zář 2015 12:15 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8507
Dobrý den,

v nové verzi musíte upravit řádky:
Kód:
public static function searchByName($query, $limit = null)
{
    $sql_base = 'SELECT *
        FROM `'._DB_PREFIX_.'customer`';
    $sql = '('.$sql_base.' WHERE `email` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';
    $sql .= ' UNION ('.$sql_base.' WHERE `id_customer` = '.(int)$query.' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';
    $sql .= ' UNION ('.$sql_base.' WHERE `lastname` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';
    $sql .= ' UNION ('.$sql_base.' WHERE `firstname` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';

    if ($limit) {
        $sql .= ' LIMIT 0, '.(int)$limit;
    }

    return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
}

na následující tvar:
Kód:
public static function searchByName($query, $limit = null)
{
    $sql_base = 'SELECT *
        FROM `'._DB_PREFIX_.'customer` c, `'._DB_PREFIX_.'address` a';
    $sql = '('.$sql_base.' WHERE c.`email` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';
    $sql .= ' UNION ('.$sql_base.' WHERE c.`id_customer` = '.(int)$query.' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';
    $sql .= ' UNION ('.$sql_base.' WHERE c.`lastname` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';
    $sql .= ' UNION ('.$sql_base.' WHERE c.`firstname` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';
    $sql .= ' UNION ('.$sql_base.' WHERE a.`phone` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';
    $sql .= ' UNION ('.$sql_base.' WHERE a.`phone_mobile` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')';

    if ($limit) {
        $sql .= ' LIMIT 0, '.(int)$limit;
    }

    return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
}


Každopádně Vaše stránky nejsou umístěny na Webhostingu C4, pro který je diskuzní fórum primárně určeno. Takže s podobnými dotazy se příště obracejte na podporu Vašeho hostingu. Pokud se chcete stát naším zákazníkem a získat tak kvalitní podporu a hosting pro aplikace PrestaShop, učinit tak můžete zde.

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - Jak vyhledat zákazníka podle telefonu
PříspěvekNapsal: 16 zář 2015 08:13 

Registrován:
04 zář 2015 11:05
Příspěvky:
2
Dakujem


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PrestaShop partneři

Seznam všech partnerů

PrestaShop Hosting
Návody pro C4

© 2009-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz