[add-on] Dynamic Template System, Agencer sa boutique page à page. |
Bienvenue invité ( Connexion | Inscription )
[add-on] Dynamic Template System, Agencer sa boutique page à page. |
17 Dec 2010, 14:16
Message
#1
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
voici donc un nouveau module dédié à oscommerce 2.3.x :
Dynamic Template System vous permet (via une interface intégrée dans l'admin via le menu 'Modules'->'Bloc colonnes') d'agencer les boxes pour chacune de vos pages. Les paramètres classiques restent en place (Afficher le bloc Catégories/Position du bloc/Ordre d'affichage.) Point de vue ergonomie, le module se présente ainsi : [mode édition] : [mode par défaut] cet add-on respecte le développement initial voulu par Harald et sa team (resize automatique de la boutique/orienté objet) je me suis efforcé d'avoir un impact à minima dans le 'core', ce qui donne en terme d'installation :
Pourquoi dynamic ? deux raisons :
vous devez ajouter dans la classe de cette boxe: le paramètre: Code var $pages; le définir dans le constructeur : (qui je vous rappelle est appelé automatique lors de l'instance de la boxe) : Code $this->pages = MODULE_BOXES_XXXXXXXX_DISPLAY_PAGES; ajouter la requête dans la méthode 'install' : Code tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Affichage dans les pages.', 'MODULE_BOXES_XXXXXXXX_DISPLAY_PAGES', 'all', 'Sélectionnez les pages où la boxe doit être présente. ', '6', '0','tep_cfg_select_pages(' , now())"); et pour finir ajouter dans la méthode keys, la constante Code 'MODULE_BOXES_XXXXXXXX_DISPLAY_PAGES' si cette boxe est déjà installée, il vous faudra soit la réinstaller (bouton supprimer le module) ou passer la requête via Php My Admin : SQL INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `set_function`) VALUES ('Affichage dans les pages.', 'MODULE_BOXES_XXXXXXXX_DISPLAY_PAGES', 'all', 'Sélectionnez les pages où la boxe doit être présente. ', 6, 0, 'tep_cfg_select_pages('); dernière précision : lors de l'installation de cet add-on, par défaut toutes les boxes sont affichées dans toutes les pages. vous n'avez plus qu'à définir vous même leur placement. le pack peut être télécharger ici |
|
19 Dec 2010, 17:51
Message
#2
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
je viens de publier un nouveau pack qui rend Dynamic Template System compatible avec tous les modules d'oscommerce 2.3.x (validé en STRICT)
j'ai ajouté quelques lignes dans le code javascript afin d'améliorer l'interface dans l'admin (binding[mode two-way] entre les sélecteurs) tels qu'illustrés ci dessous : |
|
22 Dec 2010, 18:29
Message
#3
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
comme la question a été posé sur le forum us, je vais y répondre ici aussi.
Comment étendre le fonctionnement de Dynamic Template System sur un module : prenons l'exemple du module ht_google_analytics : pour intégrer le module dans la gestion de Dynamic Template System, il suffit : d'ajouter le paramètre à la classe : Code var $pages; l'ajouter dans son constructeur : Code $this->pages = MODULE_HEADER_TAGS_GOOGLE_ANALYTICS_DISPLAY_PAGES; l'ajouter dans la méthode install() : Code tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Affichage dans les pages.', 'MODULE_HEADER_TAGS_GOOGLE_ANALYTICS_DISPLAY_PAGES', 'all', 'Sélectionnez les pages où le module doit être activé. ', '6', '0','tep_cfg_select_pages(' , now())"); et ajouter la clé dans la méthode keys() : Code 'MODULE_HEADER_TAGS_GOOGLE_ANALYTICS_DISPLAY_PAGES' terminé. le module ht_google_analytics avant changement : le module ht_google_analytics après changement : si d'autres conditionnelles sont programmées dans la méthode execute() - ce qui est le cas au passage pour le module ht_google_analytics qui ne génère pas le même code javascript dans la page checkout_success, elle restent prioritaires sur les autres. Dès sa conception (certain confirmeront car j'en ai discuté en privé avant la publication) j'ai choisi de fournir un code non intrusif et qui puisse s'étendre facilement pour l'ensemble des modules. Nous ne sommes pas encore au niveau de la future osCom3 (ou je pourrai enfin penser/concevoir en 'total object') mais on s'en approche. |
|
14 Jan 2011, 12:55
Message
#4
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 120 Inscrit : 18-March 08 Lieu : Toulouse Membre no 21188 |
Bonjour FoxP2,
Jolie contrib A tout hasard, as tu prévu une update pour permettre le choix sur index.php en prenant en compte la variable $category_depth ? Ce qui permettrai d'avoir une page d'accueil autonome. -------------------- osCommerce
|
|
19 Jan 2011, 12:29
Message
#5
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
tiens,c'est marrant ça, j'ai le même type de demande sur le forum us : http://forums.oscommerce.com/topic/368579-...ost__p__1559825.
je vais donc réfléchir à une solution allant dans ce sens. lorem_ipsum : installes le pack tel quel, tu seras le premier à essuyer les plâtres sur l'évolution du code que je posterai ici. |
|
20 Jan 2011, 01:18
Message
#6
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 120 Inscrit : 18-March 08 Lieu : Toulouse Membre no 21188 |
Citation Gyakutsuki Posted 17 January 2011, 13:42 Must be integrated in osc 2.3.2 Un signe que cette contrib à tout d'une grande! Pas de problème pour faire les tests, actuellement j'ai la modif codée directement dans template_top. J'ai pas encore regardé comment l'intégrer à la contrib mais je sais que j'ai rencontré quelques problèmes avec grid et les "push pull". Si jamais, Il pourrait être sympa d'avoir la possibilité d'exclure des catégories...fabricants...produit. bon code -------------------- osCommerce
|
|
20 Jan 2011, 09:19
Message
#7
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
en fait, si tu reprends le début du thread, c'est une suggestion qui a été faite à harald début novembre. Et sa réponse ne m'a pas convaincu. (oscom3 gère l'affichage des boxes avec les pages via la table osc_templates_boxes_to_pages)
ayant eu l'occasion d'en discuter avec d'autres dev sur le forum us (dont Gyakutsuki), je reste persuadé qu'il a fait volontairement l'impasse sur certaines fonctionnalités pour ne pas faire d'ombre à la prochaine version. je trouve que ce choix est une erreur stratégique. oscom3, dans sa structure, amènera suffisamment de nouveautés pour envoyer osc2.3.x au garage dès sa sortie. Il parait évident lorsqu'on suit le blog de mark evans qu'oscom3 pourra fonctionner indifféremment sur un SGBDR MySql ou SQLServer (donc en passant par une couche d'abstraction de la base de données). concernant : Citation Si jamais, Il pourrait être sympa d'avoir la possibilité d'exclure des catégories...fabricants...produit. bof. il s'agit de ne pas non plus faire une usine à gaz. de plus, il est important de garder une certaine homogénéité dans la structure du front office. A trop varier celle ci, tu risques au final de déstabiliser ton client. donc découper l'index en fonction d'une page d'accueil (différente d'une page catégorie) oui, ça parait logique. au delà, ça commence à être chaotique. gérer les boxes en fonction des pages doit être un plan stratégique établi sur des critères simples mais efficaces. un exemple type : lorsque le client se trouve sur la page 'create_account', qui est un formulaire, aucune boxes ne doit être présente. Toute son attention est ainsi fixé sur l'élément principale : son inscription. cela permet donc d'étaler le formulaire sur toute la largeur de la page (et non par défaut en longueur - d'où le scrollling). |
|
31 Jan 2011, 14:11
Message
#8
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
Bonjour FoxP2, Jolie contrib A tout hasard, as tu prévu une update pour permettre le choix sur index.php en prenant en compte la variable $category_depth ? Ce qui permettrai d'avoir une page d'accueil autonome. j'allais oublier : pour avoir la page index indépendante (sans aucune boxe) dans le fichier includes/classes/osc_template.php, ajouter dans les global : Code $category_depth; puis changer la ligne : Code if(($mb->isEnabled()) && (($mb->pages === 'all')) || (in_array($PHP_SELF , explode(';' , $mb->pages)))){ par : Code if(($mb->isEnabled()) && (($mb->pages === 'all') && ($category_depth != 'top')) || (in_array($PHP_SELF , explode(';' , $mb->pages)))){
|
|
31 Jan 2011, 14:30
Message
#9
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Salut FoxP2,
Je commence à m'intéresser à la 2.3 et en lisant la section, j'ai constaté que ton lien "la 2.3 en action" est rompu -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
30 Dec 2011, 17:47
Message
#10
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 426 Inscrit : 26-March 07 Lieu : VALENCIENNES Membre no 16165 |
Dis FoxP2, Le lien que tu indique ici est en anglais, par contre je remarque que tes exemples sont en français, y a t'il un pack version française?
Vu mon excellent anglais c'est mieux pour moi et d'autre -------------------- Oscommerce 2.3.1 | fckeditor |Modul Switcher Store | Ajax Attributs | SPPC | Indication Prix non communiqué quand prix=0€| QtPro | Classement des attributs sur (product_info.php) | Subcategory textboxes
Intégration OsCommerce dans NPDS... ----------------------------- Je n'aime pas le mot tolérance, mais je n'en trouve pas de meilleur GANDHI |
|
30 Dec 2011, 23:27
Message
#11
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 426 Inscrit : 26-March 07 Lieu : VALENCIENNES Membre no 16165 |
Pourquoi faire simple quand on peut faire compliquer!!!!!!!!!
La solution sans installer de contrib est : Code http://www.oscommerce-fr.info/forum/index.php?showtopic=69286&st=0#entry360332 -------------------- Oscommerce 2.3.1 | fckeditor |Modul Switcher Store | Ajax Attributs | SPPC | Indication Prix non communiqué quand prix=0€| QtPro | Classement des attributs sur (product_info.php) | Subcategory textboxes
Intégration OsCommerce dans NPDS... ----------------------------- Je n'aime pas le mot tolérance, mais je n'en trouve pas de meilleur GANDHI |
|
31 Dec 2011, 10:35
Message
#12
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
merci Danyx pour ce retour posiitif.
|
|
9 Feb 2012, 18:24
Message
#13
|
|
Ceinture blanche OSC Groupe : Membres Messages : 19 Inscrit : 27-June 08 Membre no 22279 |
Citation (FoxP2) pour avoir la page index indépendante (sans aucune boxe) dans le fichier includes/classes/osc_template.php, ajouter dans les global : Code $category_depth; puis changer la ligne : Code if(($mb->isEnabled()) && (($mb->pages === 'all')) || (in_array($PHP_SELF , explode(';' , $mb->pages)))){ par : Code if(($mb->isEnabled()) && (($mb->pages === 'all') && ($category_depth != 'top')) || (in_array($PHP_SELF , explode(';' , $mb->pages)))){ Bonjour, bonjour ! Un grand merci FoxP2 pour ton travail acharné ! J'utilise cette modification pour ne pas avoir de blocs sur la page d'accueil, par contre j'aurais une question à propo de cette modification... En fait quand on réalise cette modification, cela fonctionne bien effectivement ! Sauf que sur les autres pages, comme account.php,contact_us.php etc en bref toutes les autres pages affichent les blocs ! Je m'explique dans mon cas, j'aimerais juste ne pas avoir de blocs sur la page accueil (comme c'est le cas avec cette modification) mais également sur les autres pages type shoppint_cart.php,account.php etc (utilisant un menu horizontal je n'ai nullement besoin de revoir les blocs sur ces pages la). J'ai donc utilisé ton module en séléctionnant : afficher (catégorie par exemple) juste sur index.php & product_info.php et donc la c'est parfait ça ne s'affiche plus sur les autres pages mais par contre sur l'index.php oui (normal)... Aurais-tu une solution pour cette problématique ? Merci à l'avançe ! Cordialement. |
|
26 Jun 2013, 15:45
Message
#14
|
|
Ceinture blanche OSC Groupe : Membres Messages : 19 Inscrit : 28-October 10 Membre no 28192 |
Bonjour
Avez vous eu un pb avec le javascript, Quand je coche une option et que je ré-édite la page, celle ci n'apparait pas (pas de case cochés qui sont cochées). dans la bd il marque allindex par exemple. Sur none rien ne s'efface, sur all rien ne se coche. Merci |
|
26 Jun 2013, 15:58
Message
#15
|
|
Ceinture blanche OSC Groupe : Membres Messages : 19 Inscrit : 28-October 10 Membre no 28192 |
Touvé, remplacer CHECKED par checked et UNCHECKED par unchecked
-------------------- |
|
22 Dec 2014, 12:39
Message
#16
|
|
Ceinture bleue OSC Groupe : Membres Messages : 1071 Inscrit : 28-September 07 Lieu : Saint paul - REUNION Membre no 19202 |
... un p'tit coup d'oeil à la version 2.3.4!
Ce message a été modifié par badcape - 27 Dec 2014, 18:05. -------------------- Thierry
En prod Server: Percona Server via UNIX socket Percona Server version:10.1.20-MariaDB - Percona Server (GPL), PHP 5.5.30 phpMyAdmin 4.0.10.6 Database version: MySQL 5.5.5-10.1.20 extension: mysqli version Oscommerce-2.3.4 bootstrap avec un tas comme ça de contributions ...... et bien d'autres dont je me suis inspiré à grand renfort de café ! Un grand merci à tous !(pour votre aide et votre patience....) En local: 1) Pour suivre mon site en prod - EasyPHP DevServer 14.1 VC9 "Minakami" avec oscom 2.3.4 Bootstrap Gold + KissIT_image thumbnailer, Product fields group, Products Extra Fields, margin report, account_create_in_admin, easy populate, FAQ desk, MATC, SPPC, quick updates for SPPC, slick reCaptcha, modular front page module, Select Product Image Directory, Edit page (page control), Message box, Horizontal categories menu BS, Edit order, Edit invoice, Hide categories with category cache, Related products BS, Ultimate Seo Urls, Withdrawal form for BS... modifiées et d'autre contrib que je teste avant de mettre en prod. 2) Pour dev Phoenix 1.0.2.0, Devserver sous PHP 7.1.3 et Database MySQL 5.7.17 |
|
13 Oct 2015, 16:13
Message
#17
|
|
Ceinture blanche OSC Groupe : Membres Messages : 15 Inscrit : 25-September 15 Membre no 32660 |
Bonjour,
Je relance le post car non compatible avec la version 2.3.4 Il y a un problème au niveau du sql qui je pense vient du fichier admin/includes/functions/general.php Qui ne retourne pas les bons résultat dans la bdd. ex : si l' on tente de modifier quoi que ce soit dans l' admin " blocs colonne " la bdd prend la valeur " Array " dans la table configuration MODULE_BOXES_LANGUAGES_DISPLAY_PAGES Si quelqu'un c'est déjà penché dessus... Ce message a été modifié par Xavduck - 13 Oct 2015, 16:16. -------------------- osCommerce 2.3.4 - Member Approval perso - Limitation des pages pour les non-clients perso - Paiement par chèque ou virement bancaire perso - Site Fr + Eng - Livraison (Collissimo) selon pays perso - Modif apparences facture admin - Theme switcher |
|
Version bas débit | Nous sommes le : 29th March 2024 - 07:00 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |