Jump to content


Popular Content

Showing content with the highest reputation since 11/22/18 in all areas

  1. 17 points
    Quick video about the process installation of ClicShopping :
  2. 16 points
    Hello, Just a little notification to ell you the v3.2145 has been pushed. A phpmailer library security has been reported on the phpmailer github website and ClicShopping has been hupdated Other libraries have been updated also Paypal has been removed and changed by Stripe Some other little fix has been updated. Thank you to the administrator for this work.
  3. 12 points
    The cart page is a very important element for an e-commerce site. This is when the customer will decide to place an order, see how much his order will cost him, modify his basket and reassure himself that the order has been delivered correctly. The shopping cart page is the first step in the order tunnel, and yet it is often not very worked on, or even poorly constructed. Here is some information on common practices regarding cart pages on e-commerce sites. Below some important feature to make or to implement inside your cart. Of course, some element can be added or updated. Now, if you have an e-commerce website, select what is the best for you and your customer. Do not allow to save the basket This functionality is still too little implemented in e-commerce sites. It has two major advantages: Save the customer's basket so that he can find it one click Get the customer's email (!!!) Just for the 2nd point it is worth it to put this technique in place. Here are some ideas insert a function with a clearly identifiable icon, of the "floppy" or "backup" type which will simply save the basket and send it by email. Insert an email record field Redirect the client to the online registration form Do not indicate that you deliver in the customer country, local or international If your customers are international you can indicate: that you deliver well the country where the user is located that you send your products internationally That you send your products only locally It is also a good practice to set up even if you only deliver to Canada for example: note: add a small line below the products: delivery in Canada for XXX $ CAD. It is always reassuring to identify where the user is and to see that the site is "active" to organize a delivery with the best service. The goal is always the same: to remove the many doubts that may arise in the mind of the user on the shopping cart page. Download the module or a Hook: - https://www.clicshopping.org/forum/files/file/186-modules-info-shipping-shopping-cart/ - https://www.clicshopping.org/forum/files/file/2-hooks-additional-checkout-info-free-shipping/ Group action buttons This bad practice is still fairly widespread on e-commerce sites, but fortunately in sharp decline. If your user spends time filling his basket and he “loses” it because he did not click on the right action button it is really an element that can stop a sale. The frustration in leaving the baskets is greatly underestimated. Especially since it is extremely simple to space your action buttons and improve your e-commerce ergonomics If you do not see the interest and the quantity of bad clicks which can be done on an e-commerce site because of grouping of button then imagine the following cases: touch interface, touchpad of laptop, ineffective mouse, etc ... The involuntary occasions of not clicking in the right place are very important ! Do not add Rating Reviews Adding the average of the comments next to the product makes it possible to comfort the customer in their purchase decision. It is important in this context to be able to allow the customer to leave a comment at the end of his purchase. It is an easy approach to implement and can help in the results. In correspondence emails and in particular when the product is delivered, o ask the customer to insert a comment concerning the product which he bought. In summary, you must involve the customer, because, it will serve in the consumer's decision to buy or not Do not add special information Indicate to the customer how much he earns from the promotion, may encourage him to order more products Indicate information concerning obtaining free shipping costs Indicate the value that the customer will gain by choosing this promotion Place an indicator concerning the percentage of the discount that the client has obtained. These indicators are not neutral because it can encourage the customer to order more to get a better discount or to get free shipping. This approach is not always used in e-commerce sites but how useful Download: Hooks : https://www.clicshopping.org/forum/files/file/3-hooks-additional-checkout-save-money/ Ask confirmation to delete a product The "classic of the classic". Many e-merchants are based on pre-pacified e-commerce solutions (CMS e-commerce) of Magento or Prestashop type, result the basic technical part is often mixed with a basic design without added value function. Most of the time these solutions have not gone very far in analyzing customer behavior and therefore offer poorly designed models. On most basket pages it is possible to delete a product line relatively easily: It’s a bit of a shame to offer this function directly without asking the customer for confirmation. Putting a doubt in his action can be useful, but not doing it, leaves the door open for the client to make a mistake It's silly but there are not a lot of sites that offer a different orientation or designers who have pushed a more important reflection, in case of error the customer must find the product himself to add it to his basket. Pity … Isolate customers in the basket Isolate the customer in the order process. To help the customer transform their order into a deed of purchase, it is preferable to avoid it being disturbed by other information, which could harm their decision or come to change their decision. Often in many e-commerce sites, it is difficult to configure the display of information or not. Here are some use cases that can be put into practice Delete site header Remove bottom of site Delete the information in the left and right columns Several approaches can be realized, you have to make the necessary tests to find the right compromise. I choose Amazon, but Cdiscount for example does the same. As soon as you are in the order process, it is difficult to back down. Conclusion Improving your cart page is not very complicated from the moment you stand on the consumer's side. You can thus define several customer cases and test the purchasing process. After it is "enough" to remove all blocking points 🙂 Easier said than done, but improving your site is one of the pleasures of all e-merchants. And what have you put in place to improve your basket? Note: I have not talked too much about displaying shipping costs or payment, but implementing it can be interesting. However, please be careful not to overload the page, the client can get lost too!
  4. 12 points
    Hello Everybody, Follow the announcement, we will happy to present you the pre release 3.20. if you comment do not hesitate. During this month we will update the apps and look your comments. Enjoy
  5. 12 points
    Like you can see, the 3.12 is out. Some files have been updated or improved. the 3.12 has been out because they have a security fix on jquery. We have updated also some script. To update ClicShopping : If you have modified the template default directory, it's better to use a beyond compare If you use another template directory, you nothing to do except to compare you have modified files to see if there is an update or not. Have a good day
  6. 11 points
    Hello, Happy to present you the ne release 3.21. All information is available there : https://www.clicshopping.org/forum/topic/398-version-321-release/ I hope you will be happy and the work continue !!! Have a good day
  7. 11 points
    this capsule explains how to install the "minimalistic header multi template module" module in clicshopping. For more information you can go on the market place :https://www.clicshopping.org/forum/files/file/168-modules-page-header-multi-template-minimalistic/
  8. 11 points
    Hi everybody You will find inside the zip a folder called update in the root. Open it and include the DB modification. Before to make that, look inside your DB if you have not these fields. Else, if you have installed modules use the products table, you must make an update . The most impact is inside ClicShopping, I recommend you to make before your update, a copy of your version and make the upgrade. If you have o problem, it's cool, else you can make a comment here. About the modules (free and paid) header_menu :slimmenu, upcomming products header_tag : grdp, analytics, facebook pixel, twitter_card, apps : antispam, frontpage_specials, favorites, featured, image, manufacturer modules_products_info : also_purchased, products_related, reviews, download This is the most of apps and modules impacted by the update. Note : the paid modules will be updated today
  9. 10 points
    Hello, I have just created a new product new template. The approach is very basic and you can if you want to include some features inside like flash discount, qty, stock ... How it works, Inside directory template_html, create new files like template_boostrap_simple.php and insert this code below. You can copy this files in other template directory if you want to have a new design. I take the orginal design, but if you want to change the css parameters, It's better to create a new css. what do you think ? <?php /** * * @copyright 2008 - https://www.clicshopping.org * @Brand : ClicShopping(Tm) at Inpi all right Reserved * @Licence GPL 2 & MIT * @licence MIT - Portion of osCommerce 2.4 * @Info : https://www.clicshopping.org/forum/trademark/ * */ use ClicShopping\OM\CLICSHOPPING; ?> <div class="col-md-<?php echo $bootstrap_column; ?> col-md-<?php echo $bootstrap_column; ?>"> <div class="card-deck-wrapper" itemprop="itemListElement" itemscope="" itemtype="https://schema.org/Product"> <div class="card-deck"> <div class="card card-footer"> <div> <div class="col-md-6 float-md-left"> <div class="ModulesFrontPageBoostrapColumn6Image"> <?php echo $products_image; ?></div> </div> <div class="col-md-6 float-md-right"> <div class="ModulesFrontPageBoostrapColumn6Title"><h3><a href="<?php echo $products_name_url; ?> "><?php echo $products_name; ?></a></h3></div> <div class="separator"></div> <div class="separator"></div> </div> </div> <div class="separator"></div> <div class="hr"></div> <div> <ul class="list-inline"> <div class="ModulesFrontPageBoostrapColumn6TextPrice" itemprop="offers" itemscope itemtype="https://schema.org/Offer"><?php echo CLICSHOPPING::getDef('text_price') . ' ' . $product_price; ?></div> </ul> </div> </div> </div> <div class="separator"></div> </div> </div> the result :
  10. 8 points
    this capsule explains how to install the "hooks orders batch" module in clicshopping. For more information you can go on the market place : https://www.clicshopping.org/forum/files/file/21-hooks_orders_batch/
  11. 7 points
    With PHP 7.4, support for preloading was added, a feature that could improve the performance of your code significantly. In a nutshell, this is how it works: - In order to preload files, you need to write a custom PHP script - This script is executed once on server startup - All preloaded files are available in memory for all requests - Changes made to preloaded files won't have any effect, until the server is restarted If you want more information, some article are available on this new feature. library used (under MIT licence): https://github.com/DarkGhostHunter/Preloader 1 / Mandatory Requirement - Php 7.4 minimum version - opCache installed - An access to your php.ini - Work in 777 chmod 2 / How to implement : Step 1 : Know your path You must know your root on preloader.php inside your application. below an example www/var/..../shop/includes/ClicShopping/Work/Log/preloader.php Step 2 : Php.init implementation Edit your php.init and search this line : ;opcache.preload= replace by your root path : below an example opcache.preload=/home/www/..../shop/includes/ClicShopping/Work/Log/preloader.php Step4 : Restart apache2 Make this command inside your terminal sudo service apache2 restart Step5 : Configure ClicShopping * Go to ClicShopping Administration - Menu Configuration / Session & Cache / Compression & optimization - Activate the preload functionnalities * Go to your catalog and actualise a page - The sytem will create a preloader.php file inside your Work/Log directory - You can check if everything is correct in editing your preload.php files. You must see some information inside.
  12. 7 points
    this capsule explains how to install the "bootstrap front page caroussel" module in clicshopping.
  13. 7 points
    this capsule explains how to install the "Flash Sales" module in clicshopping. For more information you can go on the market place : https://www.clicshopping.org/forum/files/file/165-modules-products-comparison/
  14. 6 points
    Hello, I just finished my ClicShopping website and just push in production : Could make a comment please ? The focus is on figures. For moment there is not lot of product but I will add more in the time. Thank you https://www.figures-shop.com
  15. 6 points
    Hello, Just a note , I just published the Release 3.2131 see announcement for more explanations.
  16. 6 points
    Hello, The latest commit introduce the service worker and a manifest for web app. The advantage to use a web app is for the smartphone and improve the speed of the website. If you want more information about that, just follow these links : about the web app : https://developers.google.com/web/fundamentals/web-app-manifest service worker : https://developers.google.com/web/fundamentals/primers/service-workers About the manifest, you nothing to do but if you want change the logo, you must go in this directory /sources/images/logos/manifest just replace the logo by yours and you must respect also the size of the image. Do not change the name of the logo. I hope this information will be useful for you.
  17. 6 points
    Included in 3.2111 new release who fix some bug indentified in 3.2110.
  18. 6 points
    hello @SuperThin, Could you test (on several specific world) this please and tell me if it work ? in includes/Shop/RewriteUrl.php - change the function by this. In it's work it will be added on next update. I take different work on your website, and seems now ok inside the the url Thank you for your comment @SuperThin /** * Remove url accent * @param $str * @param string $charset * @return null|string|string[] */ protected function getSkipAccents(string $str, string $charset = 'utf-8'): string { if (!extension_loaded('intl')) { throw new Exception('intl module not loaded'); } else { $transliterator = \Transliterator::create('Any-Latin; Latin-ASCII'); $str = $transliterator->transliterate(mb_convert_encoding(htmlspecialchars_decode($str),$charset, 'auto')); } $str = htmlentities($str, ENT_NOQUOTES, $charset); $str = preg_replace('#&([A-za-z])(?:acute|cedil|caron|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str); $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); $str = preg_replace('#&[^;]+;#', '', $str); $str = preg_replace('/[^A-Za-z0-9\-]/', '', $str); // Removes special chars return $str; }
  19. 6 points
    Tutorial about how to configure double taxes system (QC, Canada) in ClicShopping. Quebec settings have been taken because it's little more complex to take 1 tax but the process is little the same.
  20. 6 points
    this capsule explains how to install the "apps customers guest customer" module in clicshopping. For more information you can go on the market place :https://www.clicshopping.org/forum/files/file/63-apps-guest-customer/
  21. 6 points
    this capsule explains how to install the "contact us map " module in clicshopping. For more information you can go on the market place : https://www.clicshopping.org/forum/files/file/157-modules-contact-us-map/
  22. 6 points
    this capsule explains how to install the "Extra Field" module in ClicShopping. For more information, you can go on the marketplace : https://www.clicshopping.org/forum/files/file/5-quantities-discount/
  23. 6 points
    Nice idea for the newbiz. Thre is a specific tutorial on the blog. https://www.clicshopping.org/forum/blogs/entry/4-clicshopping-installation-process/
  24. 6 points
    hello @Reflex I made a little video for you about the banner creation process :
  25. 6 points
    @Patrick, Yes and no, some elements have been updated but with jquery fix, it was better to make an update.
  26. 6 points
    Yes it look nice. It enough easy to make another one : Take this file IndexDashboardTopStockWarning and rename it : IndexDashboardTopTest Change inside the class and the request The file will be like this ! ........... must be removed and adapted at your needs. <?php /** * * @copyright 2008 - https://www.clicshopping.org * @Brand : ClicShopping(Tm) at Inpi all right Reserved * @Licence GPL 2 & MIT * @licence MIT - Portion of osCommerce 2.4 * @Info : https://www.clicshopping.org/forum/trademark/ * */ namespace ClicShopping\OM\Module\Hooks\ClicShoppingAdmin\Dashboard; use ClicShopping\OM\CLICSHOPPING; use ClicShopping\OM\Registry; use ClicShopping\OM\HTML; class IndexDashboardTopTest { protected $db; public function __construct() { if (CLICSHOPPING::getSite() != 'ClicShoppingAdmin') { CLICSHOPPING::redirect(); } $this->db = Registry::get('Db'); } public function execute() { $Qproducts = $this->db->prepare('select count(*) as count from :table_products where .......... '); $Qproducts->execute(); $number_products_test = $Qproducts->valueInt('count'); if ($number_products_test > 0) { $text = CLICSHOPPING::getDef('text_number_products_........'); $text_view = CLICSHOPPING::getDef('text_view'); $output = ' <div style="padding-right:0.5rem; padding-top:0.5rem"> <div class="card bg-warning"> <div class="card-body"> <div class="row"> <h5 class="card-title text-white"><i class="fas fa-bell-slash" aria-hidden="true"></i> ' . $text . '</h5> </div> <div class="col-md-12"> <span h5 class="text-white">' . $number_products_test . '</span> <span><small class="text-white">' . HTML::link(CLICSHOPPING::link(null, 'A&...........'), $text_view, 'class="text-white"') . '</small></span> </div> </div> </div> </div> ';
  27. 6 points
    An example : $CLICSHOPPING_ProductsLength->convert($products_dimension_depth, $products_length_class_id, 2) In this case, all the products_dimension_depth will be converted in cm. You can also use the default unit (can be defined in configuration store)
  28. 6 points
    Hello @Patrick, The product length has been introduced because some shipping module takes the length (ups, postcanada, boxtal, fedex ..) You can define different length in function your need. When you create a new shipping app, you can convert the length in function of characteristics of the service. For example, in France, we use the cm but in USA, this is the inch. If you have your length in cm, you can convert automatically in inch . Some others updates resolve bug fix.
  29. 5 points
    Hello, It's not so difficult to make an upgrade. I look the update, there 2 sql update. in first, go to your phpmyadmin and update the Db. in second, just send the files in your server. Do not forget it's a pre release, some modification can be made the last minute For you it's good to make a test. That's all. My recommendation before that, do the update in your local server, If your have no problem, go in production. About the module, it will have no problem.
  30. 5 points
    Hello, @Drack, thank you for this report, updated. The ClicShopping Core seems to work fine with php 7.4, just the external libraries must be updated eventually, for that we must wait the developer to make the work. If I see something, I will update the core. There, the elements can put eventually a problem after a quick search (I do not say, you will have an error, more test must be again done) : base on this information : https://www.php.net/manual/fr/migration74.deprecated.php Using array_key_exists() on objects (some external libraries) ¶ Magic quotes functions (ckeditor) ==> no impact
  31. 5 points
    Hello, I saw a problem about implode and language class, it creates deprecated error. I let the solution found. implode($get_params, '&'); by implode('&', $get_params);
  32. 5 points
    Hi @Orphelia, The message is an information. You must make an update about your librairies. In your terminal server, execute this function composer update If you have not access to your server via a terminal, you must do that on your local server and upload on you production server. Note : This update do not require to be in root.
  33. 5 points
    Hooray! protected function removeVNeseAccents ($str){ $unicode = array( 'a'=>'á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ', 'd'=>'đ', 'e'=>'é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ', 'i'=>'í|ì|ỉ|ĩ|ị', 'o'=>'ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ', 'u'=>'ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự', 'y'=>'ý|ỳ|ỷ|ỹ|ỵ', 'A'=>'Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ', 'D'=>'Đ', 'E'=>'É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ', 'I'=>'Í|Ì|Ỉ|Ĩ|Ị', 'O'=>'Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ', 'U'=>'Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự', 'Y'=>'Ý|Ỳ|Ỷ|Ỹ|Ỵ', ); foreach($unicode as $nonUnicode=>$uni){ $str = preg_replace("/($uni)/i", $nonUnicode, $str); } return strtolower($str); } protected function getSkipAccents(string $str, string $charset = 'utf-8'): string { return $this->removeVNeseAccents($str); } Done!
  34. 5 points
    A little example allow you to configure your htaccess to increase the speed and security Options -Indexes Options +FollowSymlinks #### Your config to change ############### #AllowOverride All AcceptPathInfo on ################################## # Security ################################## <IfModule mod_headers.c> # prevent mime based attacks Header set X-Content-Type-Options "nosniff" # XSS Protection Header set X-XSS-Protection "1; mode=block" #content policy #Header set Content-Security-Policy "script-src 'self' https://www.mydomain.org" #X Frame Header always set X-FRAME-OPTIONS "DENY" </IfModule> #Header always append X-Frame-Options SAMEORIGIN #CORS # Always set these headers. #Header always set Access-Control-Allow-Origin "*" #Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" #Header always set Access-Control-Max-Age "1000" #Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" #### Your config to change URL rewriting ############### #Uncomment and adapt <IfModule mod_rewrite.c> RewriteEngine On ## URL Canonicalization #to change in function your website RewriteBase /shop/ RewriteCond %{HTTP_HOST} !^mydomain.org$ [NC] RewriteRule ^(.*)$ https://www.mydomain.org/$1 [L,R=301] #to change in function your website RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #to change in function your website RewriteRule . /shop/index.php [L] #Caching schema <IfModule mod_headers.c> Header unset ETag </IfModule> #Caching schema ## EXPIRES CACHING ## ## https://gtmetrix.com/leverage-browser-caching.html ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType image/x-icon "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 year" ExpiresByType image/vnd.microsoft.icon "access plus 1 year" ExpiresByType application/font-woff "access plus 1 year" ExpiresByType application/x-font-woff "access plus 1 year" ExpiresByType font/woff2 "access plus 1 year" ExpiresByType application/vnd.ms-fontobject "access plus 1 year" ExpiresByType font/opentype "access plus 1 year" ExpiresByType font/ttf "access plus 1 year" ExpiresByType font/otf "access plus 1 year" ExpiresByType application/x-font-ttf "access plus 1 year" ExpiresByType application/x-font-otf "access plus 1 year" </IfModule> #apache 2.4 <IfModule mod_version.c> <IfModule mod_filter.c> <IfVersion >= 2.4> FilterDeclare COMPRESS FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'text/html'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'text/css'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'text/plain'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'text/xml'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'text/x-component'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'application/javascript'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'application/json'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'application/xml'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'application/xhtml+xml'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'application/rss+xml'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'application/atom+xml'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'application/vnd.ms-fontobject'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'image/svg+xml'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'image/x-icon'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'application/x-font-ttf'" FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'font/opentype'" FilterChain COMPRESS FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no </IfVersion> </IfModule> </IfModule>
  35. 5 points
    @Janett You will find more information here : https://getcomposer.org/doc/00-intro.md Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. The main advantage, it's install you all the dependencies and allow you to call easily the classes inside our script. Looking the composer external directory : guzzlehttp ==> api connect phpmailer ==> send email xml-rpc ==> webservice fpdf ==> invoice are installed by default. thank you for this release @ClicShopping
  36. 5 points
    this capsule explains how to set the "PayPal payment apps" module in ClicShopping.
  37. 5 points
    Llltle released are out. Just little bug discover and adjustment because the end of this month about the fix released.
  38. 5 points
    this capsule explains how to install the Colissimo french Post Multi Pickup in ClicShopping. For more information you can go on the market place : https://www.clicshopping.org/forum/files/file/156-apps-shipping-colissimo-point-relais/
  39. 5 points
    quick video about banners in ClicShopping :
  40. 5 points
    @Victorious, I will help you, it's very simple to make a new file. You mus create 6 files modules_footer/fo_footer_my_template.php modules_footer/content/fo_footer_my_template.php language/english/modules/modules_footer/fo_footer_my_template.php language/french/modules/modules_footer/fo_footer_my_template.php css/english/modules/modules_footer/fo_footer_my_template.php css/french/modules/modules_footer/fo_footer_my_template.php (if it used) Below an example, make that quickly, it can have litle error inside the files. The most important files (after you can make the other) modules_footer/fo_footer_my_template.php <?php /** * * @copyright 2008 - https://www.clicshopping.org * @Brand : ClicShopping(Tm) at Inpi all right Reserved * @Licence GPL 2 & MIT * @licence MIT - Portion of osCommerce 2.4 * @Info : https://www.clicshopping.org/forum/trademark/ * */ use ClicShopping\OM\Registry; use ClicShopping\OM\CLICSHOPPING; class fo_footer_my_template { public $code; public $group; public $title; public $description; public $sort_order; public $enabled = false; public $pages; protected $rewriteUrl; public function __construct() { $this->code = get_class($this); $this->group = basename(__DIR__); $this->title = CLICSHOPPING::getDef('module_footer_my_template_title'); $this->description = CLICSHOPPING::getDef('module_footer_my_template_description'); $this->rewriteUrl = Registry::get('RewriteUrl'); if ( defined('MODULES_FOOTER_MY_TEMPLATE_STATUS') ) { $this->sort_order = MODULES_FOOTER_MY_TEMPLATE_SORT_ORDER; $this->enabled = (MODULES_FOOTER_MY_TEMPLATE_STATUS == 'True'); $this->pages = MODULE_FOOTER_MY_TEMPLATE_DISPLAY_PAGES; } } public function execute() { $CLICSHOPPING_Template = Registry::get('Template'); $CLICSHOPPING_Customer = Registry::get('Customer'); $CLICSHOPPING_PageManagerShop = Registry::get('PageManagerShop'); $CLICSHOPPING_Db = Registry::get('Db'); if ( MODE_VENTE_PRIVEE == 'false' || (MODE_VENTE_PRIVEE == 'true' && $CLICSHOPPING_Customer->isLoggedOn() )) { // change pages_id = 55 by your id $Qpages = $CLICSHOPPING_Db->prepare('select pd.pages_title, p.links_target from :table_pages_manager p, :table_pages_manager_description pd where p.status = 1 and ( p.customers_group_id = :customers_group_id or p.customers_group_id = 99) and p.pages_id = pd.pages_id and p.pages_id = 55 '); $Qpages->bindInt(':customers_group_id', (int)$CLICSHOPPING_Customer->getCustomersGroupID() ); $Qpages->execute(); $content = HTML::link($this->rewriteUrl->getPageManagerContentUrl($Qpages->valueInt('pages_id')), $Qpages->value('pages_title'), 'target="' . $Qpages->value('links_target') . '"') $content_width = (int)MODULE_FOOTER_MY_TEMPLATE_CONTENT_WIDTH; $my_template_footer = '<!-- footer page manager start -->' . "\n"; ob_start(); require($CLICSHOPPING_Template->getTemplateModules($this->group . '/content/footer_my_template')); $my_template_footer .= ob_get_clean(); $my_template_footer .='<!-- footer page manager end -->' . "\n"; $CLICSHOPPING_Template->addBlock($my_template_footer, $this->group); } } public function isEnabled() { return $this->enabled; } public function check() { return defined('MODULES_FOOTER_MY_TEMPLATE_STATUS'); } public function install() { $CLICSHOPPING_Db = Registry::get('Db'); $CLICSHOPPING_Db->save('configuration', [ 'configuration_title' => 'Do you want activate this module ?', 'configuration_key' => 'MODULES_FOOTER_MY_TEMPLATE_STATUS', 'configuration_value' => 'True', 'configuration_description' => 'Do you want activate this module in your shop ?', 'configuration_group_id' => '6', 'sort_order' => '1', 'set_function' => 'clic_cfg_set_boolean_value(array(\'True\', \'False\'))', 'date_added' => 'now()' ] ); $CLICSHOPPING_Db->save('configuration', [ 'configuration_title' => 'Please select the width of the module', 'configuration_key' => 'MODULE_FOOTER_MY_TEMPLATE_CONTENT_WIDTH', 'configuration_value' => '12', 'configuration_description' => 'Select a number between 1 and 12', 'configuration_group_id' => '6', 'sort_order' => '1', 'set_function' => 'clic_cfg_set_content_module_width_pull_down', 'date_added' => 'now()' ] ); $CLICSHOPPING_Db->save('configuration', [ 'configuration_title' => 'Sort order', 'configuration_key' => 'MODULES_FOOTER_MY_TEMPLATE_SORT_ORDER', 'configuration_value' => '10', 'configuration_description' => 'Sort order of display. Lowest is displayed first', 'configuration_group_id' => '6', 'sort_order' => '4', 'set_function' => '', 'date_added' => 'now()' ] ); $CLICSHOPPING_Db->save('configuration', [ 'configuration_title' => 'Indicate the page where the module is displayed', 'configuration_key' => 'MODULE_FOOTER_MY_TEMPLATE_DISPLAY_PAGES', 'configuration_value' => 'all', 'configuration_description' => 'Select the page where the module is displayed.', 'configuration_group_id' => '6', 'sort_order' => '5', 'set_function' => 'clic_cfg_set_select_pages_list', 'date_added' => 'now()' ] ); } public function remove() { return Registry::get('Db')->exec('delete from :table_configuration where configuration_key in ("' . implode('", "', $this->keys()) . '")'); } public function keys() { return ['MODULES_FOOTER_MY_TEMPLATE_STATUS', 'MODULE_FOOTER_MY_TEMPLATE_CONTENT_WIDTH', 'MODULES_FOOTER_MY_TEMPLATE_SORT_ORDER', 'MODULE_FOOTER_MY_TEMPLATE_DISPLAY_PAGES' ]; } } modules_footer/content/footer_my_template.php <div class="col-md-<?php echo $content_width; ?> moduleFooterMyTemplater"> <span class="moduleFooterMyTemplate"> <span class="footerMyTemplate"><?php echo $content; ?></span> </span> </div>
  41. 5 points
    Thank you @Patrick, I will write a tuto about the Apps during the week. I think it's better for people does not have some knowledge and want to try to create an App.
  42. 4 points
    Just a little note. PHP 7.4 is out soon (end of this month) and bring lot of new features or deprecated features. I will start to stest ClicShopping under php 7.4 soon If you see something report on Github (ClicShopping, Official and community) the error or the bug. If you have time.
  43. 4 points
    For moment, some badbots can very aggressive. There a solution to block this elements via your htaccess ################################## # Bot ################################## #Rules to block bad bods from accessing web pages on your site. #Remove or add more rules as per your needs. BrowserMatchNoCase "Baiduspider" bots BrowserMatchNoCase "SemrushBot" bots BrowserMatchNoCase "Yandex" bots BrowserMatchNoCase "BLEXBot" bots BrowserMatchNoCase "AhrefsBot" bots BrowserMatchNoCase "DotBot" bots BrowserMatchNoCase "Exabot" bots BrowserMatchNoCase "SeznamBot" bots BrowserMatchNoCase "aiHitBot" bots BrowserMatchNoCase "spbot" bots BrowserMatchNoCase "MJ12bot" bots BrowserMatchNoCase "oBot" bots BrowserMatchNoCase "DeuSu" bots BrowserMatchNoCase "ia_archiver" bots BrowserMatchNoCase "MetaURI" bots BrowserMatchNoCase "FlipboardProxy" bots Order Allow,Deny Allow from ALL Deny from env=bots
  44. 4 points
    Hello, To react at this topic, I pushed a new minor version with all the composer libraries updated. This version has some update like ckeditor, Elfinder and some fix. If you have not included new composer library, you can easily update your solution else you must make the command composer unpdate inside the Shop directory or where you can find the composer.json in the ClicShopping root directory.
  45. 4 points
    The menu can have different function For example if you want to create a marketplace you have 2 choices Create the menu in manual mode Create the menu via the apps automatically Manual is not recommended on this case when you create an apps because the administrator must do a manual action on the menu and after install the apps with the instructions. Like all menu has a specific code. It s possible to re-organise the menu if you do not appreciate. Access to this menu allow you to know the good code and id for a programmer when he creates a new apps inside the menu of his choice. The best is to look inside the Configure directory the different files (Install and Delete) the approach. About the modules inside the catalog (template), you have nothing to do.
  46. 4 points

    Version 1.0.0


    New design theme and based on Alibaba theme. If you have included new modules, you must update in consequence your files. You must just copy the files that you want change inside the Alibaba theme. This module contains The language files in English and French The css file in French and English The modules Via the installation system administration ClicShopping Technical Prerequisites: None License : GPL 2 - MIT compatibility: >= version 3.0 Recommendation and documentation specific use : The module create a new directory inside the template directory All the new modules inserted inside the Default template will work with Alibaba template. If you must make an update, please, copy the files inside the Alibaba template. Implementation: Copy All Directories inside Shop except ModuleInfosJson Copy the template_alibaba.json into ClicShopping/Work/Cache/Github (manual installation) In your administration : Design / Configuration / Configuration : Change the website theme Download How to download : https://github.com/ClicShoppingV3Community/template_alibaba/archive/master.zip Github : https://github.com/ClicShoppingV3Community/template_alibaba Download ClicShopping : https://github.com/ClicShopping/ClicShopping_V3/archive/master.zip Community : https://www.clicshopping.org Software : https://github.com/ClicShopping Official add on : https://github.com/ClicShoppingOfficialModulesV3 Community add on : https://github.com/ClicShoppingV3Community trademark License info : https://www.clicshopping.org/forum/trademark/


  47. 4 points
    hello, @SuperThinI: fixed the problem, you can find the files modified there : https://github.com/ClicShopping/ClicShopping_V3/commit/8d21913e9fb17242b57fe202a2a94c62e10d89f4 Thank you for this report.
  48. 4 points
    This tutorial allows you to see how to install the Apps Shipping Post Canada inside ClicShopping
  49. 4 points
    @Drack @Patrick You can find like promise a tuto about the app creation. I make something for beginner https://www.clicshopping.org/forum/topic/66-hw-to-create-a-new-apps-quickly/
  50. 4 points
    Hello @Patrick You have some example inside the administration, look this file : The most important is to use this syntax : Without nothing ClicShopping\Apps\Marketing\SEO\Sites\Shop\Pages\GoogleSitemap\Actions\GoogleSitemapSpecials.php protected $use_site_template = false; For modal ClicShopping\Apps\Catalog\Suppliers\Sites\ClicShoppingAdmin\Pages\Home\Action\SuppliersPopUp.php $this->page->setUseSiteTemplate(false); //don't display Header / Footer
  • Create New...

Important Information

By using this site, you agree to our Terms of Use