Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Projet CMSMS E-Commerce
#26

Super !

Merci pour vos rapides réponses !
Je suis en pleine réflexion effectivement...
entre un "bazooka pour tuer une mouche" et une solution plus adaptée pour ce type de besoins.

Pour la solution de paiement, ce sera normalement :
- un Paypal
- Chèque
- TPE Banque (SIPS je pense car la plupart utilise ce système)...

Mais comme je n'ai pas de grosse connaissances en prog. (j'intègre et je déploie facilement sous CMS MS) pour le reste c'est plus difficile (notamment le paiement). C'est pour ça que la solution PRESTASHOP est "clé en main" pour une transaction de A à Z, mais surdimensionnée pour mes besoins... je vais tester la solution Calguy pour voir...je verrai si cette solution est "fiable".

Car c'est vraiment la partie paiement qui est "sensible" à mon sens, d’où mon hésitation — car c'est la clé de voute d'un site E-Commerce, si l'acte d'achat est compliqué les clients vont fuire...
Après comme tu dis "Aire Libre", si c'est simplement la solution de paiement qui pose problème je peux me faire aider sur cette partie — si tout le reste parait opérationnel ?

Auriez-vous des captures du backOffice de ce que donne la gestion des produits avec Calguy ?
Car je n'ai pas vu à quoi cela peut resssembler

Quelles sont les manques d'après vous qui avez testé les 2 solutions mis à part la partie paiement ?
(je pense au Frais de port , gestion des emails automatique, génération des PDF etc…)


Merci encore pour votre aide !
les retours d'expérience aide souvent dans ce genre de désicions :-)

Je vous tiens au courant ;-)
Répondre
#27

Ca peut être assez long à expliquer, mais la suite e-commerce de CMSMS ne gère pas un certain nombre de choses : multi-devises, multi-langues (mais il y a des solutions avec MleCMS), frais de port avancés, etc..

Néanmoins d'après la description que tu en fais, avec Paypal c'est faisable assez facilement. Le tout est de bien comprendre l'articulation des modules entre eux, mais le guide de Calguy donne de bonnes indications en principe.

Pour Atos, en effet cela va probablement demander un développement de module, car je ne crois pas qu'un tel module existe actuellement.

Après sur les points que tu demnades :

Frais de port : c'est assez basique : soit selon le prix, soit le poids selon le module. Mais tu ne peux pas définir de prix selon le poids + le pays par exemple, je crois que ce n'est pas possible. Une option qui peut peut être te servir : tu peux baser le prix du port par produit selon les infos d'un champ précis dans Products.

Gestion des mails automatiques : là c'est souple / un certain nombre de mails est déjà prêt à être envoyé. Sinon tu peux ajouter le module Notifications et le coller aux différents événements CMS qui vont bien.

Génération des PDF : pas de solution packagée : soit tu fais un gabarit HTML imprimable, soit il faut voir du côté du module PDF pour trouver une solution. Sur les boutiques que j'ai faites avec CMSMS, j'ai toujours fait une facture HTML imprimable (avec feuille de styles pour l'impression)

Voilà, c'est un peu sport, mais au moins tu garde la même admin dans le CMS et tu évites de dupliquer les systèmes.

Je devrai bientôt mettre en ligne une première version d'un nouveau module de produits pour la suite e-commerce, mais pour l'instant ce n'est pas tout à fait prêt.. Wink
Répondre
#28

@Airelibre (et désolé PGK37 de squatter la place) : tu penses que pour les plaquettes de l'asso ton module serait adapté ? quitte à mettre en place du ecommerce, je préfère avoir le dev sous la main :lol:
Répondre
#29

Oui y'a moyen Wink Faut juste que je finalise la première version ! on en reparle Wink
Répondre
#30

Wink je serais ton premier béta-testeur alors
Répondre
#31

Me revoilà...j'avance !
J'ai installé le module "Products" pour la partie produits.

j'ajouterai les autres modules plus tard - (Car, Orders, Shipping etc…)
quand toute la partie produits sera déjà calée.

J'ai une petite "problématique" avec ce module :

Mon site sera bilingue (j'ai installé Mle que j'ai déjà manipulé sur un précédent projet) FR / EN
- Est-ce que le module Products gère le multilingue ou bien faut-il dupliquer le produit en Anglais ?
ce n'est pas trop gênant ds l'immédiat vu le nombre de produit, mais ça m'intéresse de savoir si il est possible
d'optimiser ça, si le nombre augmente de façon considérable.

- Dans l'immédiat la partie catalogue va être "mono-produit" en attendant la commercialisation des autres produits.
est-il possible de n'afficher qu'un produit sans passer par le liste et le tag :

Code :
[== PHP ==]
{Products category='Collection'}

Je cherche à faire un truc du style
Code :
[== PHP ==]
{product id='01'}

Car il y a un lien dans mon menu qui pointera vers le produit dans l'immédiat,
puis à terme vers les quelques produits au catalogue mais en attendant je voudrais me passer de la page intermédiaire
de liste.

J'ai cherché dans la doc mais j'ai pas l'impression que ce soit faisable facilement ?
Je précise que je touche un peu au code mais pas suffisamment pour faire des scripts compliqués...
les TAG des modules et quelques conditions me suffisent la plupart du temps :-)

Merci pour votre aide :-)
Une fois ça réglé je passerai à l'étape suivante !


***** Petit Ajout *****

J'ai également une interrogation concernant l'insertion d'une balise "Dimensions" depuis les CustomField
j'ai mis ça dans mon template :

Code :
[== Indéfini ==]
{$entry->fields.dim->value}

(ou dim correspon au nom du champ — de type Dimensions)
Hors cela me retour un "Array" — comment faire pour afficher chaque valeur du tableau ??

Je cherche ds la doc mais ne trouve rien à ce sujet
Répondre
#32

Bonjour,

Voici quelques pistes :

Site bilingue
De manière générale, tu n'as pas besoin de dupliquer un module pour faire du multi-langues. Il te suffit de créer les champs additionnels en fonction des langues. Par exemple "description_fr" et "description_en", et dans MleCMS il y a une fonction pratique qui cherche justement les champs à afficher en fonction de la langue

Pour le mono produit, deux options :
- dans la doc est indiqué le paramètre :
(optional) productid="" - Useful only with the detail action, this parameter indicates what item to use for the display.

- sinon tu peux tout simplement afficher ton gabarit de détail, et copier/coller le lien vers ton produit Wink C'est encore mieux si tu as spécifié une "url" précise pour le produit

Enfin pour afficher les infos des champs additionnels, un truc pratique c'est de faire :
<pre>{$entry|print_r}</pre>

et là tu vois tout ce qui est dispo. Si smarty t'indique "array", c'est qu'il faut aller chercher dans les clés du tableau

Pour t'aider, essaye :
<pre>{$entry->fields.dim->value|print_r}</pre> et tu verras la clé qui t'intéresse. Ca doit être un truc du genre : {$entry->fields.dim->value.LA_CLE}

Bon courage !
Répondre
#33

airelibre a écrit :dans MleCMS il y a une fonction pratique qui cherche justement les champs à afficher en fonction de la langue

Tu peux m'en dire un peu plus sur ce sujet ?
Est-ce une fonction « intégrée » ou doit-on passer par un filtre à base de « foreach » et de « explode » ?

Exacore - Freelance en communication
Répondre
#34

C'est un plugin intégré à MleCMS, détaillé dans l'aide :

Mle assign - (news example: {mle_assign object=$entry par="title" assign="entry"})
Paramètres
object or array (requis) - object/array for mle assign
par (requis) - pour trouver une chaîne de multilingue (par exemple : les titres sont title_sk, title_de, title_fr, où le titre est une chaîne par défaut pour la langue par défaut. Super solution MLE dans les gabarits)
assign (option) - assign to object
Répondre
#35

Hello Aire LIbre,

Merci pour ta réponse ! je vais étudier tout ça de plus près.
j'avais effectivement pensé à créer des champs supplémentaire type "EN" — je pense m'orienter vers cette solution
qui me semble pas mal, car il n'y aura que 2 langues, ça évitera une double saisie de fiche produit.

Pour le mono produit j'ai tenté de mettre l'url directe du produit depuis le menu de navigation mais j'ai eu un BUG
au niveau de l'url (pas encore pretty/rewrite) — ou les & ont été remplacés par des &amp; ducoup j'ai mis du temps à comprendre
pourquoi mon affichage était parti en "sucette"....j'ai cru que j'avais fait une bourde sur un de mes templates.

Merci encore pour ton aide, je vais avancer avec ces quelques pistes. Wink
Répondre
#36

Je confirme ça marche super la méthode : Smile
<pre>{$entry|print_r}</pre>

j'ai donc pu récupérer à ma guise les champs spécifiques à un tableau de dimensions :
{$entry->fields.dim->value.length}
{$entry->fields.dim->value.width}
{$entry->fields.dim->value.height}

merci Aire Libre
:-)
Répondre
#37

Ok super Smile Bonne continuation,
Répondre
#38

Me revoilà, j'ai avancé il me reste à tester la solution :
{mle_assign object=$entry par="title" assign="entry"}
que tu préconises @Aire Libre
je vais voir si je comprends le truc sinon je ferai des {if} en fonction de la lang...je ne sais pas si c'est très propre ?
mais je l'ai déjà testé notamment sur mon pied de page.

Sinon je rencontre un problème avec le module FrontEndUsers que j'ai ajouté.
Le formulaire de connexion ne se "traduit pas" alors que les fichiers de langues sont biens présent dans le module
et j'ai bien mis les champs ainsi ds le template {$FrontEndUsers->Lang('prompt_username')}
en vérifiant que les correspondances du fichier de langue existaient...ai-je loupé quelque chose ?

je précise que j'ai bien ajouté les balises spécifiques à Mle en entête mais j'imagine que cela n'a rien à voir ?
Je ne vois pas ou cela peut bien coincer...
Répondre
#39

As-tu mis le paramètre "lang" dans la balise de FrontEndUsers ?
Répondre
#40

Merci pour ta rapide réponse.
Effectivement je n'ai pas spécifié la langue mais je sais pas comment faire car le contenu des formulaires "FEU"
est appelé via ma balise {content} — et la page parente est une page "protégée" dans mon arborescence
sous cette forme :

Code :
[== Indéfini ==]
              <!-- + Page Presse -->
              <div id="presse" class="row">
                {cms_module module='FrontEndUsers' form='logout'}
                <div id="contenuPresse">{content}</div>
              </div>
              <!-- + Page Presse -->

je ne sais pas si c'est la meilleur solution ?
En gros tous les formulaires (login, logout, paramètres du compte etc..)sont tous affichés depuis cette page parente.
Je ne vois pas comment faire autrement ? car je n'ai qu'une page ou tout se passe dessus (connexion, consultation, logout, récupération).

Je découvre encore les possibilités de ce module.... :-)
Répondre
#41

bon j'ai quasi fini mon intégration globale avec mon "mono produit" dans l'immédiat.

Deux questions viennent à moi :

Je vais à terme gérer des rubriques de produits (collection, accessoires etc...)
- Me conseillez-vous de passer par le menu "hiérarchie de produits" pour cela ?

ce qui m'amène à ma deuxième question....
Comment traduire les libellés de ces dites "rubriques" en Multilingue (j'ai opté pour la solution multichamp dans la fiche produit ou là ça fonctionne nickel) mais je ne sais pas du tout comment m'y prendre pour la partie menu des rubriques...

les conseils avisés seront les bienvenues....


@Aire LIbre
j'ai pas utilisé la balise asign de Mle car ne suis pas assez doué en code..
je me suis contenté de {if} en fonction de la langue (ça va que je n'ai que 2 langues)
ça fonctionne pas mal...j'imagine que c'est intéressant de l'utiliser quand il commence à y avoir pas mal de langues...

Merci encore
Répondre
#42

Hello… me revoilà.

Je fais remonter le sujet, car j'ai avancé (enfin) sur le projet E-Commerce du site, car entre temps
des nouveaux produits ont été ajoutés etc… Bref, je reviens chercher un peu d'aide car je bloque sur un truc surement tout bête mais je tourne en rond depuis plusieurs jours...

Je précise que j'ai installé les modules Products, Cart, FEU, SelfRegistration… enfin la totale Calguy
Mon CMS MS est bien à jour dans sa dernière version ainsi que tous les modules — et je bosse pour l'instant en local pour mes tests (donc désactivation d'URL Rewriting)

Le problème est le suivant j'ai créé une page qui va réceptionner la partie de finalisation de commande via le tag {orders}
qui est accessible depuis le panier via un lien de ce type :


Code :
[== HTML ==]
  <a class="btn btn-primary pull-right" href="{cms_selflink href="paiement"}" name="{$submit_name}">COMMANDER ›› </a>

j’atterris bien sur la bonne page avec le message suivant :

"L'utilisateur n'est pas connecté"

jusque là logique, par contre dès que je veux modifier le template "billingform_Sample"
(le template par défaut du premier formulaire Orders) — et que je cherche à ajouter un formulaire pour s'identifier ou créer son compte via {FrontEndUsers} par exemple aucune modification n'est prise en compte...j'ai l'impression que mon orders ne va pas chercher mon template ? et mme en "forçant" avec la paramètre template.

la seule chose que j'ai réussi à faire c'est de retrouver d'ou provient le message Error
<div class="{$cg_errorclass}">{$cg_errormsg}</div> issu de CGExtensions..mais cela ne résoud aucunement mon problème...

quelqu'un aurait-til une idée ou a déjà été confronté à ce même problème ? Sad
Pour info j'ai suivi ce petit tutoriel (qui date un peu certes mais qui reste valable) :
http://www.packtpub.com/article/cms-made...ce-website


Pour info ma config de test :

Citation :----------------------------------------------

Cms Version: 1.11.7

Installed Modules:

CMSMailer: 5.2.1
CMSPrinting: 1.0.4
FileManager: 1.4.3
MenuManager: 1.8.5
MicroTiny: 1.2.5
ModuleManager: 1.5.5
News: 2.12.12
Search: 1.7.8
ThemeManager: 1.1.8
TemplateExternalizer: 2.0.11
CGExtensions: 1.37.1
MleCMS: 1.11.4
FormBuilder: 0.7.3
FrontEndUsers: 1.21.17
Gallery: 1.6.1
CGSimpleSmarty: 1.7
JQueryTools: 1.2.5
Products: 2.19.6
CGSmartImage: 1.11
CGGoogleMaps: 2.4.7
Captcha: 0.4.6
CGEcommerceBase: 1.4.3
Cart: 1.10
CGPaymentGatewayBase: 1.2.2
Orders: 1.15.2
FRShipping: 1.2.3
FRTaxes: 1.2.1
PaypalGateway: 2.3.11
SelfRegistration: 1.8


Config Information:

php_memory_limit:
process_whole_template:
max_upload_size: 32000000
url_rewriting: none
page_extension:
query_var: page
image_manipulation_prog: GD
auto_alias_content: true
locale:
default_encoding: utf-8
admin_encoding: utf-8
set_names: true


Php Information:

phpversion: 5.4.10
md5_function: On (Vrai)
gd_version: 2
tempnam_function: On (Vrai)
magic_quotes_runtime: Off (Faux)
E_STRICT: 2048
E_DEPRECATED: 8192
memory_limit: 32M
max_execution_time: 30
output_buffering: On
safe_mode: Off (Faux)
file_uploads: On (Vrai)
post_max_size: 32M
upload_max_filesize: 32M
session_save_path: /Applications/MAMP/tmp/php (0775)
session_use_cookies: On (Vrai)
xml_function: On (Vrai)
xmlreader_class: On (Vrai)


Server Information:

Server Api: apache2handler
Server Db Type: MySQL (mysqli)
Server Db Version: 5.5.29
Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté


----------------------------------------------
Répondre
#43

Hello,

En fait, tu dois placer ton identification / inscription FEU plus haut : non pas dans le template de Orders, mais dans ta page.

Par exemple, un code que j'utilise souvent :

Code :
[== Indéfini ==]
{if $ccuser->loggedin()}
        {assign var='etapeCommande' value='2'}
        {Orders}
    {else}
        {assign var='etapeCommande' value='1'}

        <div class="ym-grid" style="margin-top: 2em">
            <div class="ym-g50 ym-gl">
                <div class="ym-gbox-left">
                    <h3>Vous n'avez pas de compte</h3>
                    {SelfRegistration group='Clients'}
                </div>
            </div>
            <div class="ym-g50 ym-gr">
                <div class="ym-gbox-right">
                    <h3>Vous avez déjà un compte</h3>
                    {FrontEndUsers nocaptcha=1 returnto=$page_alias}
                </div>
            </div>
        </div>
    {/if}

J'espère que cela t'aidera !
Répondre
#44

merci pour ta réponse rapide !
Je test tout ça de suite ;-) merci de ton aide
Répondre
#45

me revoilà, petite question
ce code tu le places bien dans la page via l'éditeur de contenu ? en lieu et place de la balise {orders} que j'avais placée toute seule…

et le if :{if $ccuser->loggedin()} c'est propre à {orders} ? dumoins est-ce que c'est la variable par défaut du module ?
car je dois avoir une erreur…j'ai une page ou le CSS a sauté et le reste certains élémens de ma page ?

idem pour les
{assign var='etapeCommande' value='2'}
j'imagine que c'est propre à ton code ?

EDIT ****

Bon je ne pige pas j'ai juste mis la condition $ccuser->loggedin() pour tester (je ne connaissais pasjusqu'alors)
et je n'ai rien :-( j'ai enlevé le "cachable" de ma page comme j'ai pu le voir ici ou là...
Répondre
#46

retire effectivement le cachable de la page

ccuser est disponible via le module CustomContent qu'il te faudra donc installer Smile
Répondre
#47

Bien vu, merci Bess :-)

Effectivement c'était bien la dépendance de CustomContent qui n'était pas évidente (pour moi),
comme c'est ma première config de ce type là, il y a des choses que je ne maitrise pas encore totalement !

merci encore pour votre aide !!
Répondre
#48

de retour sur le sujet...

J'ai quasiment fini
oui… j'ai mis un peu de temps mais entre temps
qq évènements ces derniers mois m'ont qq peu ralenti...

Je rencontre un dernier "problème" lié aux frais livraison sur les produits,
j'ai installé les modules FRShipping et PriceBasedShipping
seulement ils ne répondent pas à ma problématique singulière
lié aux frais de ports.

Car il y a un prix par produits et lié à des zones d'expédition
c'est pourquoi je m'oriente vers sur solution "fait maison".
(Champ spécifiques ajoutés dans les fiches produits du module Orders)
Jusqu'à présent je faisais tout à partir des modules CMS MS ou en les adaptant assez facilement.

Je vais devoir mettre les mains dans le code (surement avec un peu de d'aide)
du coup je voulais savoir si il était possible d'utiliser les UDT
ou équivalent pour ne pas avoir à modifier les Class du module Orders
du moins de façon minime...(en prévision d'éventuelles MAJ dans le futur.)


En gros je voudrais savoir si on peut manipuler les objets de ces Class
depuis le TPL ou un UDT pour éviter de tout casser .... ?

Merci pour vos lumières, et si vous avez déjà rencontré ce type de problématique
sur les frais de ports qui sont toujours un véritable casse tête pour les boutiques.. Wink


(je précise que tous mes modules et mon CMSMS sont UpToDate)

Merci ! Smile
Répondre
#49

Hello,

Le plus simple est de développer ton propre module de gestion de frais de port. C'est en effet une mauvaise idée de modifier directement le code des modules Wink

Prend par exemple DestinationBasedShipping et étudies le code sur le calcul des frais de port à partir du panier - tu devrais t'en sortir Wink
Répondre
#50

Merci AireLibre

Je vais opter pour cette solution, par contre je viens d'installer DestinationBasedShipping
j'ai voulu ajouter une catégorie sur la France depuis le panneau d'admin de CMS MS et la page
retournée est une page blanche avec une mention texte toute simple :

"Settings"

Le module est-il bien à jour ? j'ai téléchargé la dernière version (il n'y a qu'une depuis la Forge)
il y 'a peut-être un bug connu ?
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 4 visiteur(s)