THELIA Forum

Welcome to the THELIA support and discusssion forum

Offline

#1 Multi-boutiques

(14-12-2017 10:41:56)


Hello!

Je reviens par ici pour une petite question...

Mon client veut gérer tous ses produits/clients/commandes etc.. sur la même administration ET avoir deux fronts différents (deux domaines différents)...

Est-ce possible? Comment faire? Plugin?

V.1.5.4.1

Merci d'avance wink


Aide les autres, ils t'aideront en retour.

Offline

#2 Re: Multi-boutiques

(14-12-2017 10:54:07)


Oui, c'est possible avec un plugin style mutlisquelettes. Il suffirait d'y apporter une petite modification pour sélectionner le template en fonction du domaine.


CQFDev | Sites, boutiques, modules, développement et intégration pour Thelia 1 et 2

Offline

#3 Re: Multi-boutiques

(15-12-2017 08:05:44)


Le problème c'est que Thelia ne gère pas plusieurs noms de domaines...? Parce que là j'ai une erreur avec le nouveau nom de domaine...  => Variable::charger($nom) dès le début


Aide les autres, ils t'aideront en retour.

Offline

#4 Re: Multi-boutiques

(15-12-2017 08:16:16)


Thelia ne gère un nom de domaine. C'est ton hébergement qui gère les noms de domaine et qui les associé à ton Thelia.

Parce que là j'ai une erreur

Laquelle ? (crois moi si tu veux, mais les messages d'erreur veulent dire quelque chose).


CQFDev | Sites, boutiques, modules, développement et intégration pour Thelia 1 et 2

Offline

#5 Re: Multi-boutiques

(15-12-2017 08:23:32)


Oui, il faut que tu crées un plugin.
Sur Thélia 1.5.4, j'avais fait ça

function predemarrage(){
        # MODIFICATION TEMPLATE
        if(isset($GLOBALS['fond']) && ($GLOBALS['fond'] == 'facture.html' ||$GLOBALS['fond'] == 'livraison.html')){
            return '';
        } else if(stripos(Variable::lire('urlsite_eshop1'), $_SERVER['SERVER_NAME']) !== false){
            $GLOBALS['reptpl'] = 'eshop1Template/';
            $GLOBALS['domaineEncours'] = Variable::lire('urlsite_eshop1');
        } else
     ...
}

Offline

#6 Re: Multi-boutiques

(15-12-2017 08:29:48)


roadster31 wrote:

Thelia ne gère un nom de domaine. C'est ton hébergement qui gère les noms de domaine et qui les associé à ton Thelia.

Parce que là j'ai une erreur

Laquelle ? (crois moi si tu veux, mais les messages d'erreur veulent dire quelque chose).


Je voulais dire la nouvelle url...


informatiqueprog wrote:

Oui, il faut que tu crées un plugin.
Sur Thélia 1.5.4, j'avais fait ça

function predemarrage(){
        # MODIFICATION TEMPLATE
        if(isset($GLOBALS['fond']) && ($GLOBALS['fond'] == 'facture.html' ||$GLOBALS['fond'] == 'livraison.html')){
            return '';
        } else if(stripos(Variable::lire('urlsite_eshop1'), $_SERVER['SERVER_NAME']) !== false){
            $GLOBALS['reptpl'] = 'eshop1Template/';
            $GLOBALS['domaineEncours'] = Variable::lire('urlsite_eshop1');
        } else
     ...
}

Oui je crois que c'est ça dont j'ai besoin wink

Après tu as fait comment pour les urls dans les mails etc..?


Aide les autres, ils t'aideront en retour.

Offline

#7 Re: Multi-boutiques

(15-12-2017 09:04:46)


Elyos wrote:

Après tu as fait comment pour les urls dans les mails etc..?

Alors là, je ne me souviens pas !

Bon je viens de regarder,
dans la fonction predemarrage j'ai ajouté aussi

$GLOBALS['nomsiteEncours'] = 'eShop1.fr';
$GLOBALS['domaineEncours'] = Variable::lire('urlsite_eshop1');
$GLOBALS['emailEncours'] = 'contact@eshop1.fr';

et j'ai comment dire... peut-être légèrement modifié certains fichiers du moteur... comme le fichier "fonctions\action.php"
(c'est pas bien roll)

function chmdp($email){
    $msg = new Message();
    $msgdesc = new Messagedesc();
    $tclient  = new Client();
    if( $tclient->charger_mail($email)){
        $pass = genpass(8);
        $tclient->motdepasse = $pass;
        $tclient->crypter();
        $tclient->maj();

        $emailContact = $GLOBALS['emailEncours'];
        $nomSite = $GLOBALS['nomsiteEncours'];
        if($GLOBALS['reptpl'] == 'eshop1Template/'){
            $msg->charger('changepass');
            $msgdesc->charger($msg->id, $GLOBALS['lang']);
        } else {
            $msg->charger('changepass_eshop1');
            $msgdesc->charger($msg->id, $GLOBALS['lang']);
        }
    ...
}

Attention, j'ai fait ça par ce que j'avais une mise en page très différente.
Maintenant, je me dis pour juste des URLS et un logo,  de créer une boucle qui test le "domaine encours" devrait suffire.

Last edited by informatiqueprog (15-12-2017 09:08:07)

  • yoan
  • Cofondateur Thelia

Offline

#8 Re: Multi-boutiques

(15-12-2017 11:21:50)


ça dépend effectivement ce que tu veux faire. Thelia 1 n'est pas multiboutique. S'il te faut un "vrai" multiboutique, ça va être compliqué pour ce qui touche effectivement à certains emails par exemple. Idem si d'autres plugins installés font déjà des tâches qui doivent être différentes en fonction des boutiques etc.

Celui du changment de mot de passe (justement pointé dans le message du dessus) peut poser soucis. Tu peux avoir la main sur ceux de confirmation d'une commande donc c'est bon.

M'enfin si tu veux avoir un semblant de multiboutique le plus propre possible, ça fait toucher à pas mal de trucs quand même.

Si tu oublies certains points, des effets de bord sympas risquent d'arriver smile

Après, s'il veut des conditions de paiement différentes, de livraison etc, ça complique encore.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline

#9 Re: Multi-boutiques

(18-12-2017 09:10:19)


Je comprends pas trop ces erreurs parce que sur le domaine existant y'a pas ça.... et sur le nouveau nom de domaine qui pointe au même endroit y'a ça :

Thelia wrote:

[18-Dec-2017 09:08:46 Europe/Berlin] PHP Warning:  Declaration of Variable::charger($nom) should be compatible with Requete::charger() in /homepages/21/d282506352/htdocs/classes/Variable.class.php on line 25
[18-Dec-2017 09:08:46 Europe/Berlin] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /homepages/21/d282506352/htdocs/classes/Cnx.class.php:32

Last edited by Elyos (18-12-2017 09:16:10)


Aide les autres, ils t'aideront en retour.

Offline

#10 Re: Multi-boutiques

(18-12-2017 09:24:14)


Ton hébergement est en PHP 7, et Thelia 1 ne fonctionne pas avec PHP 7. C'est PHP 5.6 maximum.


CQFDev | Sites, boutiques, modules, développement et intégration pour Thelia 1 et 2

Offline

#11 Re: Multi-boutiques

(18-12-2017 09:26:51)


Tu ne dois pas avoir la même version ou configuration de PHP entre les deux...
(pas extension MYSQL et pour le warning cherche dans le forum tu trouveras plusieurs fois la réponse à ce warning)

Offline

#12 Re: Multi-boutiques

(18-12-2017 09:28:58)


OK... je viens de trouver.. et c'est étrange...

mini_398139Sanstitre1.jpg


Aide les autres, ils t'aideront en retour.

Offline

#13 Re: Multi-boutiques

(18-12-2017 09:29:12)


Argh ! Roadster31 a encore frappé (trop rapide ce gars, faudrait le soumettre à un contrôle anti-dopage wink )

Offline

#14 Re: Multi-boutiques

(18-12-2017 09:29:32)


Je bascule tout en 5.6 ...


Aide les autres, ils t'aideront en retour.

Offline

#15 Re: Multi-boutiques

(18-12-2017 09:30:10)


Il faudrait que je pense à passer à la V2... ^^'


Aide les autres, ils t'aideront en retour.

Offline

#16 Re: Multi-boutiques

(18-12-2017 10:00:39)


Elyos wrote:

Il faudrait que je pense à passer à la V2... ^^'

Absolument.


CQFDev | Sites, boutiques, modules, développement et intégration pour Thelia 1 et 2

Offline

#17 Re: Multi-boutiques

(18-12-2017 11:26:33)


urlsite()

va poser problème.. =/


Aide les autres, ils t'aideront en retour.

Offline

#18 Re: Multi-boutiques

(18-12-2017 11:30:35)


Variable::$_cache["urlsite"] = Variable::lire("urlsite".$multiboutiques->id);
Variable::$_cache["nomsite"] = Variable::lire("nomsite".$multiboutiques->id);
Variable::$_cache["emailcontact"] = Variable::lire("emailcontact".$multiboutiques->id);

J'ai feinté! big_smile

Last edited by Elyos (18-12-2017 11:30:46)


Aide les autres, ils t'aideront en retour.