-
Posts
407 -
Joined
-
Last visited
-
Days Won
109
Content Type
Profiles
Forums
Blogs
Store
Downloads
Gallery
Posts posted by ClicShopping
-
-
ClicShopping Version 4.08 and more :
MCP (Model Context Protocol) Documentation for ClicShopping
Overview
The ClicShopping MCP (Model Context Protocol) system allows for the integration of external Node.js or Python servers to extend the e-commerce application’s capabilities with advanced Artificial Intelligence functionalities. It provides a modular architecture for communication between ClicShopping and external services via standardized protocols.
What is MCP?
MCP is a communication protocol that enables applications to interact with language models and AI services in a standardized manner. In the context of ClicShopping, it facilitates:
- Bidirectional communication between the e-commerce application and external AI servers
- Integration of intelligent agents for task automation
- Data access via secured REST APIs
- Real-time monitoring and analytics of interactions
Importance in E-commerce
Advantages:
- Intelligent automation: Automatic order management, product recommendations
- 24/7 customer support: Smart chatbots for customer assistance
- Advanced analytics: Predictive analysis of sales and customer behavior
- Personalization: AI-based personalized recommendations
- Inventory optimization: Demand forecasting and automatic management
Disadvantages:
- Implementation complexity: Requires advanced technical skills
- Infrastructure costs: External servers and AI services
- External dependency: Risk of third-party service outages
- Security: Management of tokens and secure access
Examples of potential implementations:
🔗 Social Media Integrations
- Instagram Shopping: Automatic product synchronization with Instagram posts
- Facebook Marketplace: Automatic publication of new products
- TikTok Shop: Integration with TikTok trends for recommendations
- Pinterest: Automatic creation of pins for popular products
🏢 ERP Integrations
- SAP: Synchronization of stocks, orders, and customers
- Oracle NetSuite: Accounting integration and financial management
- Microsoft Dynamics: Synchronization of customer and sales data
- Odoo: Full CRM/ERP integration with inventory management
📈 Marketing Integrations
- Mailchimp: Automatic customer segmentation and targeted campaigns
- HubSpot: Lead scoring and customer journey automation
- Google Analytics 4: Advanced tracking of conversions and behavior
- Facebook Ads: Automatic optimization of advertising campaigns
💳 Payment Integrations
- Stripe: Management of subscriptions and recurring payments
- PayPal: Integration of payments and refunds
- Klarna: Installment payments and credit scoring
- Apple Pay/Google Pay: Optimized mobile payments
📦 Logistics Integrations
- DHL/UPS/FedEx: Automatic shipping cost calculation and tracking
- Amazon FBA: Amazon stock management and synchronization
- Shopify Fulfillment: Optimization of distribution centers
- ShipStation: Multi-carrier shipping automation
🎯 Analytics & BI Integrations
- Tableau: Advanced sales dashboards
- Power BI: Predictive analytics and automated reports
- Google Data Studio: Marketing and performance reporting
- Mixpanel: Advanced user event tracking
🤖 AI & Chatbot Integrations
- OpenAI GPT: Smart chatbot for customer support
- Dialogflow: Multilingual conversation management
- Zendesk: Automation of support tickets
- Intercom: Real-time chat with lead qualification
📱 Mobile Integrations
- React Native: Native mobile application
- Flutter: Cross-platform iOS/Android app
- PWA: Progressive Web Application
- Push Notifications: Personalized notifications
🔐 Security Integrations
- Auth0: Advanced authentication and authorization
- Okta: Identity and access management
- Cloudflare: DDoS protection and CDN
- Sentry: Real-time error monitoring
Examples of Integration Code
Example 1: Instagram Shopping Integration
// New MCP endpoint for Instagram class InstagramIntegration extends \ClicShopping\OM\PagesAbstract { public function syncProductsToInstagram(): void { $products = $this->getProductsForSync(); foreach ($products as $product) { $instagramData = [ 'name' => $product['products_name'], 'description' => $product['products_description'], 'price' => $product['products_price'], 'image_url' => $product['products_image'], 'availability' => $product['products_quantity'] > 0 ? 'in stock' : 'out of stock' ]; $this->postToInstagramAPI($instagramData); } } }Example 2: SAP ERP Integration
// Synchronization with SAP via MCP class SAPIntegration extends \ClicShopping\OM\PagesAbstract { public function syncOrdersToSAP(): void { $orders = $this->getPendingOrders(); foreach ($orders as $order) { $sapData = [ 'order_number' => $order['orders_id'], 'customer_code' => $order['customers_id'], 'order_date' => $order['date_purchased'], 'items' => $this->formatOrderItems($order['items']) ]; $response = $this->sendToSAP($sapData); $this->updateOrderStatus($order['orders_id'], $response['status']); } } }Example 3: AI Chatbot with OpenAI
// Smart chatbot for customer support class AIChatbot extends \ClicShopping\OM\PagesAbstract { public function handleCustomerInquiry(string $message): array { $context = $this->getCustomerContext(); $prompt = "As an e-commerce assistant, help this customer: " . $message; $prompt .= "\nCustomer context: " . json_encode($context); $response = $this->callOpenAI($prompt); // If necessary, create a support ticket if ($this->requiresHumanIntervention($response)) { $this->createSupportTicket($message, $context); } return [ 'response' => $response, 'requires_human' => $this->requiresHumanIntervention($response), 'suggested_products' => $this->extractProductSuggestions($response) ]; } }Example 4: Predictive Analytics
// Sales prediction with AI class PredictiveAnalytics extends \ClicShopping\OM\PagesAbstract { public function predictSales(): array { $historicalData = $this->getSalesHistory(); $externalFactors = $this->getExternalData(); // Weather, events, etc. $prediction = $this->runMLModel([ 'historical_sales' => $historicalData, 'seasonality' => $this->getSeasonalityFactors(), 'external_factors' => $externalFactors, 'inventory_levels' => $this->getCurrentInventory() ]); return [ 'predicted_sales' => $prediction['sales'], 'recommended_stock' => $prediction['stock_recommendations'], 'confidence_score' => $prediction['confidence'], 'risk_factors' => $prediction['risks'] ]; } }Concrete Use Cases
🛒 B2C E-commerce
- Personalized recommendations: “Customers who bought this product also viewed…”
- 24/7 chat support: Automatic assistance with escalation to a human
- Intelligent inventory management: Stock-out prediction
- Dynamic pricing: Automatic price adjustment based on competition
🏢 B2B E-commerce
- Personalized catalog: Prices and products according to the customer
- Large order management: ERP integration for high volumes
- Automated reporting: Dashboards for resellers
- Discount management: Automatic calculation based on commercial agreements
🎯 Marketplace
- Multi-vendor synchronization: Centralized stock management
- Fraud detection: Automatic detection of suspicious transactions
- Fee optimization: Automatic commission calculation
- Dispute management: Automation of resolution processes
📱 Mobile Commerce
- Smart push notifications: Personalized notifications
- Geolocation: Location-based offers
- Mobile payments: Apple Pay/Google Pay integration
- Image recognition: Product search by photo
Measurable Business Benefits
📈 Sales Performance
- +25% conversion thanks to personalized recommendations
- -40% shopping cart abandonment with the smart chat
- +30% average cart value via cross-sell suggestions
- -60% order processing time with automation
💰 Cost Optimization
- -50% support costs with chat automation
- -30% logistics costs with inventory optimization
- -25% marketing costs with precise targeting
- -70% human errors with process automation
🎯 Customer Experience
- +90% customer satisfaction with 24/7 support
- -80% response time to customer inquiries
- +45% loyalty thanks to personalization
- +60% problem resolution rate on first interaction
MCP Architecture
General Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ ClicShopping │◄──►│ MCP Server │◄──►│ AI Services │ │ (PHP Core) │ │ (Node.js/Python)│ │ (OpenAI, etc.)│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Database │ │ Monitoring │ │ Analytics │ │ │ │ & Logs │ │ & Reports │ └─────────────────┘ └─────────────────┘ └─────────────────┘ClicShopping MCP Architecture
The ClicShopping MCP system is organized into several components:
1. Core Classes
-
MCPConnector: Connection and protocol management -
McpMonitor: Performance oversight and monitoring -
McpService: Core services for MCP operations -
McpDecisionAgent: Intelligent agent for automation
2. API Endpoints
-
/mcp&customersProducts: Products API -
/mcp&ragBI: RAG (Retrieval-Augmented Generation) Interface for admins - the rag must ve activated - You are free to create other EndPoints (see example above)
3. Admin Configuration
- Administration interface for configuring MCP servers
- Token, port, SSL management
- Real-time monitoring
What is Not Provided with the APP
The Chat
The chat interface is not included in the ClicShopping application. To implement it:
Chat construction and connection:
- Create a chat interface (HTML/CSS/JavaScript)
- Connect to the MCP server via WebSocket or HTTP
-
Use the available API endpoints:
// Example of chat connection const chatEndpoint = 'http://your-domain/index.php?mcp&customersProducts'; // Sending a message fetch(chatEndpoint, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + token }, body: JSON.stringify({ message: 'Looking for products', context: { user_type: 'client', session_id: 'unique_session_id' } }) });
The Node.js/Python MCP Server
The external MCP server is not provided with the application. To build it:
Node.js MCP Server Example:
// Example of a Node.js MCP server const express = require('express'); const app = express(); app.post('/mcp/products', async (req, res) => { // Logic for processing product requests const response = await processProductRequest(req.body); res.json(response); }); app.listen(3000, () => { console.log('MCP server started on port 3000'); });Server Connection:
- Configuration in the ClicShopping admin: Host, Port, SSL, Token
-
API Usage: Access via the
/Shop/jsonroutes
Configuration and Usage
Configuration in the Administration
MCP configuration is done directly in the ClicShopping administration interface:
Available parameters:
- Server Host: Address of the MCP server (default: localhost)
- Server Port: Port of the MCP server (default: 3000)
- SSL: Secure protocol activation
- Token: Authentication token for security
- Status: MCP module activation/deactivation
Alert configuration:
- Latency thresholds: Maximum response time
- Availability thresholds: Maximum downtime
- Notifications: Email alert configuration
Access API - Shop Routes
The MCP API is accessible via the
/Shop/jsonroutes of ClicShopping:1. CustomersProducts.php
This class serves as the main entry point for the MCP products API. It manages:
Main features:
-
Product list: GET ?mcp&customersProducts&action=products Product detail: GET ?mcp&customersProducts&action=product&id={ID} Search: GET ?mcp&customersProducts&action=search&query={TERM} Statistics: GET ?mcp&customersProducts&action=stats Categories: GET ?mcp&customersProducts&action=categories Recommendations: GET ?mcp&customersProducts&action=recommendations Customer chat: POST ?mcp&customersProducts (with JSON body)
Example usage:
# Product list curl "http://localhost/clicshopping_test/index.php?mcp&customersProducts&action=products&limit=5" # Product search curl "http://localhost/clicshopping_test/index.php?mcp&customersProducts&action=search&query=washcloth" # Customer chat (POST) curl -X POST "http://localhost/clicshopping_test/index.php?mcp&customersProducts" \ -H "Content-Type: application/json" \ -d '{"message": "I am looking for cleaning products", "context": {"user_type": "client"}}'2. RagBI.php
RAG (Retrieval-Augmented Generation) interface identical to ClicShopping’s internal chat but accessible via MCP:
To use it, you must activate the Agent RAG-BI inside the administration.Features:
- Semantic queries: Smart search in the database
- Analytical queries: Analysis of sales and performance data
- OpenAI Integration: Use of language models for responses
- Translation cache: Performance optimization
Example usage:
# RAG BI Query curl -X POST "http://localhost/clicshopping_test/index.php?mcp&ragBI" \ -H "Content-Type: application/json" \ -d '{"message": "Give me a table of the evolution of turnover by month for the year 2025"}'3. customerOrders.php
Customer order management API:
Features:
-
Order list: GET ?mcp&customerOrders&action=list_orders&customer_id={ID} Order detail: GET ?mcp&customerOrders&action=read_order&order_id={ID} Cancellation: POST ?mcp&customerOrders&action=cancel_order Messages: POST ?mcp&customerOrders&action=send_message History: GET ?mcp&customerOrders&action=history&order_id={ID}
Examples of Future Implementation
Agentic Approach
The MCP system supports the implementation of intelligent agents for:
-
Recommendation Agent:
// Example of a Recommendation Agent class RecommendationAgent { public function analyzeCustomerBehavior($customerId) { // Analyze customer behavior // Generate personalized recommendations } } -
Stock Management Agent:
// Example of a Stock Management Agent class StockAgent { public function predictDemand($productId) { // Demand prediction // Optimization of stock levels } } -
Customer Support Agent:
// Example of a Support Agent class SupportAgent { public function handleCustomerInquiry($message) { // Process customer inquiries // Automatic escalation if necessary } }
Monitoring and CronJobs
Monitoring System
The MCP system includes complete monitoring:
Monitored metrics:
- Response time: Latency of MCP requests
- Availability: Uptime of the MCP server
- Errors: Error rate and error types
- Security: Intrusion attempts and unauthorized access
Automatic alerts:
- Performance thresholds: Alerts if response time > threshold
- Service outages: Notifications in case of unavailability
- Suspicious activities: Detection of attacks or abuse
CronJob Configuration
The MCP system uses scheduled tasks for:
1. Health Monitoring (every 5 minutes)
// CronJob: McpHealthCron // Checks the health of the MCP server // Stores alerts in the database // Cleans up old alerts (>30 days)2. Decision Agent (every 5 minutes)
// CronJob: mcp_agent // Executes the intelligent decision agent // Processes automated tasks // Updates recommendationsCronJob Configuration:
# Add to crontab */5 * * * * /usr/bin/php /path/to/clicshopping/index.php?cronId={CRON_ID}Security
Authentication and Authorization
Access Tokens:
- Secure generation: Unique tokens per session
- Automatic expiration: Token rotation
- Validation: Verification on every request
Endpoint protection:
- Configured CORS: Controlled access by origin
- Parameter validation: Input sanitization
- Production mode: Access restrictions in production
Security Best Practices
- Use HTTPS in production
- Configure strong tokens and renew them regularly
- Limit access by IP if necessary
- Monitor logs to detect suspicious activities
- Regularly update dependencies
Troubleshooting
Common Problems
1. Connection to the MCP server fails
- Check the configuration (host, port, SSL)
- Verify that the MCP server is started
- Check error logs
2. Authentication errors
- Verify the token validity
- Check permission configuration
- Check security logs
3. Degraded performance
- Check monitoring metrics
- Optimize database queries
- Increase resource limits
Logs and Debugging
Log files:
- MCP Logs: Available in the database and admin interface (export) for various traceability
- PHP Error Logs: Standard PHP configuration
-
Monitoring Logs:
mcp_alertsdatabase
Support and Resources
Additional Documentation
- DeepWiki/ClicShopping: Detailed architecture : https://deepwiki.com/ClicShopping/ClicShopping
- GitHub Issues: Technical support and bugs : https://github.com/ClicShopping/ClicShopping/issues
- ClicShopping Forum: Community and assistance
-
This version move the includes directory to Core directory. If you install an app do not forget to change the includes directory into Core directory.
Until the transition is not completed, please do not install directly from the ClicShopping AI an App. Download and do it manually.
Thank you. -
For over two years, ClicShopping AI has been integrating generative AI using OpenAI, Anthropic, and Ollama.
While the V3.x release incorporated AI without requiring fundamental changes to the core application or underlying technologies, the upcoming V4 takes a major leap forward with deeper AI integration and enhanced functionalities.MariaDB with RAG: A Game Changer for AI-Driven E-Commerce for PHP aplication
MariaDB has recently introduced a version with built-in Retrieval-Augmented Generation (RAG), leveraging OpenAI for intelligent search and contextual understanding.
This upgrade enables databases to create vector embeddings, allowing for advanced semantic search capabilities that link structured and unstructured data.
ClicShopping AI V4 seamlessly integrates MariaDB’s RAG with its PHP-based framework, empowering merchants with AI-powered data retrieval. The system can process vast datasets, enabling real-time insights and intelligent automation through a chatbot-driven interface.
Advanced AI-Powered Features for MerchantsClicShopping AI V4 enhances the merchant experience with context-aware search and AI-driven analytics.
Key capabilities will be includes (most of them):
✔ Intelligent Stock Monitoring – Instantly check which products are running low.
✔ Advanced Product Lookup – Retrieve products by reference, attributes, or even vague descriptions.
✔ Automated Customer Insights – AI-driven analysis of purchasing patterns and customer preferences.
✔ Smart Recommendations – Suggests relevant products based on user behavior and search history.and more.
If no exact match is found, the chatbot dynamically returns the closest relevant result, ensuring an intuitive and efficient user experience.Currently, very few PHP e-commerce solutions natively integrate generative AI and RAG technology.
ClicShopping AI is the first PHP solution to pioneer this innovation, redefining how merchants interact with their data.
Enhanced Security with AES-256 EncryptionSecurity remains a top priority. The next release will introduce dynamic AES-256 encryption for sensitive data stored within the platform.
This ensures:🔐 End-to-End Encryption – Protects customer and transaction data.
🔐 Adaptive Key Management – Rotates encryption keys dynamically for enhanced security.
🔐 Compliance-Ready Protection – Meets industry standards for data privacy and security.
Try the Development Version Today
ClicShopping AI V4 is at the forefront of AI-driven e-commerce solutions. Be among the first to explore its capabilities!
⚡ System Requirements (recommended):
MariaDB 11.7 (with RAG support)
PHP 8.4
Stay ahead of the curve—embrace the future of AI-powered e-commerce with ClicShopping AI V4!
-
Good morning,
Some of you have certainly noticed a change on the logo. Since the 2 last versions, we have set out to put generative artificial intelligence in the application with GPT and OPENAI. The module will certainly evolve in time to integrate other approach like Google Bard for example. We go there in stages.
For the next version 3.431 a Charbot will be integrated into the application on the front office.
It will use generative AI to give additional information to the user allowing him to have more information on the product.We wanted to go more far including generation conditions for example. But the expected result was not there. We have tried to use text segmentation to reduce the processing time but the limitation obtained is not good.
This is due to the fact that Mariadb does not have a feature to include a vector inside a table.
This approach improves treatment time but drastically reducing the number of Token sent to GPT and the cost linked to treatment.
In addition, proposing a solution whose reaction time and a cost of treatment too much did not seem to us to be careful as an approach.
Furthermore, like the administration where we use Davinci-003 model, in the front office, we use GPT 3.5 Turbo is a model largely cheaper than Davinci.
We have included a parameter allowing to manage the chatbot display in the offering front so that you can better manage your budget.
To complete the next evolution will have updates concerning the GPT including new statistics, a preditive security stock -analyse and an update on customer recommendations.
Our objective is to be able to offer a new generation of e-commerce platform allowing merchants (small company, medium company) to be able to use artificial intelligence with a budget control, to be able to carry out more impactful communication campaign, marketing and finally to optimize production time, creation of product sheets and increase the sell.
The work continues and will continue in this orientation in the future.
-
3
-
2
-
-
We have started the next version of ClicShopping and some minor release has been pushed.
What do we find inside this new version essentially ?
Php8.2 compatibility and optimized
Studio editor to edit the template and the css
Cronjob manager with some tasks included
API allowing to connect ClicShopping with some other tools as crm, erp across json approach ....
A new marketplace
Librairies will updated
Double authentification
The new boostrap version
and some other surprises
-
3
-
-
Email is part of communication, below different examples how to set email inside ClicShopping
Example 1 : o2switch.net
User name : myemail@domain.com - Password : email password - Server : mail.test.domain.com - remove mail. and write only test.domain.com - SMTP Port: 26 - SMTP authentication : true - SMTP secured protocol : ssl - Emails activation : trueExample 2 : gmail.com
- User name : myemail@gmail.com - Password : Utilisez le mot de passe du compte de messagerie. - Server smtp : smtp.gmail.com - remove smtp. and write only gmail.com - SMTP Port: 25 ou 465 - SMTP authentication : true - SMTP secured protocol : ssl or Tls - Emails activation : true-
7
-
-
When Google or other search engines come to your site to read and store the content in its search index, it will look for a special file called robots.txt. This file is a set of instructions to tell search engines where they can look to crawl content and where they are not allowed to crawl content. We can use these rules to ensure that search engines don't waste their time looking at links that do not have valuable content and avoid links that produce faceted content.
Why is this important?
Search engines need to look at and store as many pages that exist on the internet as possible. There are currently an estimated more 4.5 billion web pages active today. That's a lot of work for Google.
It cannot look and store every single page, so it needs to decide what to keep and how long it will spend on your site indexing pages. This is called a crawl budget.
How many pages a day Google will index depends on many factors, including how fresh the site is, how much content you have and how popular your site is. Some websites will have Google index as few as 30 links a day. We want every link to count and not waste Google's time.
What does the suggested Robots.txt file do?
ClicShopping optimised rules exclude site areas with no unique content but instead redirect links to existing topics. Also excluded are areas such as the privacy policy, cookie policy, log in and register pages and so on. Submit buttons and filters are also excluded to prevent faceted pages. Finally, user profiles are excluded as these offer little valuable content for Google but contain around 150 redirect links. Given that Google has more seconds on your site, these links that exist elsewhere eat up your crawl budget quickly.
What is the suggested Robots.txt file?
Here is the content of the suggested Robots.txt file. If your ClicSHoppingis inside a directory, you will need to apply it to the root of your site manually. So, for example, if your community was at /home/site/public_html/myDirectory/ - you would need to create this robots.txt file and add it to /home/site/public_html. It's simple just edit robot.txt and change inside the information
example of robot.txt
Note : domain.ltd must be changed by your domain.
# Rules for ClicSopping (https://www.clicshopping.org) User-Agent: * # Block pages with no unique content Disallow: /Account/LogIn/ Disallow: /Account/CreatePro Disallow: /Account/Create Disallow: /Account/PasswordForgotten Disallow: /Search/AdvancedSearch/ Disallow: /Search/Q/ # Block faceted pages and 301 redirect pages Disallow: /*?page= Disallow: /*?sort= # Sitemap URL Sitemap: https://domain.tld/index.php?Sitemap&GoogleSitemapIndex-
7
-
-
The version 3.323 allows to use htaccess to rewrite the url.
To use this function you must activate in Shop/SEO urls this 2 options
1 - Use Search-Engine Safe Native URLs
this option rewrites the url like this :
https://demo.clicshopping.org/index.php/Products/Description/logitech-trackman-marble-mouse/Id-12and
2- Use Search-Engine Safe URLs Pro (with htaccess)
This option rewrites the url like this :
https://demo.clicshopping.org/Products/Description/logitech-trackman-marble-mouse/Id-12To use the last option, you must include inside your root an htaccess with this syntax. Of course, it can updated in function of your server.
note : This option works only on the catalog without customer, if your are logged you will see the url above. It's optimized only for the search engine.
For apache 2.4
################################## # url rewiting #improve url rewriting #work fine without directory https://mydomain.com/test/index.php #the rewriting must be activated inside the application # uncomment ################################## <IfModule mod_rewrite.c> RewriteEngine On DirectorySlash Off # # Remove WWW # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=302,L] # # Remove Trailing Slashes # RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{THE_REQUEST} \s(.+?)//+[?\s] RewriteRule ^ %1 [R=302,L] # # Reroute to index.php # RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
-
5
-
-
Hello,
Thank you for you comment, it's always welcome.
Yes you can always use the last image gallery but you must follow this process
- Do not remove the jquery hooks because the module use jquery - For this version, we do not touch on the module - No pb- You must change inside the image gallery these elements :
edit : pi_products_info_gallery.php
Inside sql configuration : 'configuration_title' => 'Where do want to display the gallery position ?',
update by this
'set_function' => 'clic_cfg_set_boolean_value(array(\'float-end\', \'float-start\', \'float-none\'))',Of course, remove and reinstall it.
I will push when I have a little time a specific module in the marketplace and github community.-
3
-
2
-
-
Hello @Rantanplan,
little late but there an example. You can find this code the apps category
You can create another if you add information inside the json or you can add inside the includes/Modules directories. Goofd luck
<?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\Apps\Catalog\Categories\Module\Hooks\ClicShoppingAdmin\DashboardShortCut; use ClicShopping\OM\Registry; use ClicShopping\OM\HTML; use ClicShopping\OM\CLICSHOPPING; use ClicShopping\Apps\Catalog\Categories\Categories as categoriesApp; class DashboardShortCutCategories implements \ClicShopping\OM\Modules\HooksInterface { protected $app; public function __construct() { if (!Registry::exists('Categories')) { Registry::set('Categories', new categoriesApp()); } $this->app = Registry::get('Categories'); $this->app->loadDefinitions('Module/Hooks/ClicShoppingAdmin/DashboardShortCut/dashboard_shortcut_categories'); } public function display(): string { if (!defined('CLICSHOPPING_APP_CATEGORIES_CT_STATUS') || CLICSHOPPING_APP_CATEGORIES_CT_STATUS == 'False') { return false; } $output = HTML::link(CLICSHOPPING::link(null, 'A&Catalog\Categories&Categories'), null, 'class="btn btn-primary btn-sm" role="button"><span class="fas fa-list" title="' . $this->app->getDef('heading_short_categories') . '"') . ' '; return $output; } }
-
1
-
-
Hello @AlwaysSkint,
Some people here have not your knowledge, your experience can help but with respect. It's a credo on this forum,
Thank you
-
1
-
-
Hello,
Just a note , I just published the Release 3.2131 see announcement for more explanations.
-
1
-
5
-
-
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/Preloader1 / Mandatory Requirement
- Php 7.4 minimum version
- opCache installed
- An access to your php.ini
- Work in 777 chmod2 / How to implement :
Step 1 : Know your path
You must know your root on preloader.php inside your application. below an examplewww/var/..../shop/Core/ClicShopping/Work/Log/preloader.phpStep 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/Core/ClicShopping/Work/Log/preloader.phpStep4 : Restart apache2
Make this command inside your terminal
sudo service apache2 restartStep5 : 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.-
1
-
7
-
-
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.phpUsing array_key_exists() on objects (some external libraries) ¶
Magic quotes functions (ckeditor) ==> no impact
-
1
-
4
-
-
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.
-
2
-
2
-
-
Hello,
@Patricks describe well what you must make and also take time to learn and test.
About the demo and master, the demo show you how to use different themes but the default is the same than you have on Github, after you can change some setting inside modules ou default configuration or apps.
For the demo, I just created a specific theme and put just the file need to be change but you also can create your own module and call your own template.
Note, the default template is the "referent" for the files, if you create a new template with new module and change after in other template without this module, errors can appear. You can resolve that if you bring you new module inside the default template.
The new template override just the files in the default template. Limit all the css must copied in the new template
-
1
-
-
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.-
3
-
1
-
-
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.
-
2
-
2
-
-
Included in 3.2111 new release who fix some bug indentified in 3.2110.
-
4
-
2
-
-
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; }-
4
-
2
-
-
Fixed. Just is it possible to report a bug on this page. It's better to manage than this bug that the forum :
https://github.com/ClicShopping/ClicShopping_V3/issues-
3
-
-
Just a question when you will are finish to translate ClicShopping in Vietnamese, Are you agree to share your work ?
If yes, just contact me by mail, i will explain you the process.-
1
-
-
Hello
I make an update about the composer who can create automatically an htaccess in shop directory and when you install application and the site is not accessible.
I change the json configuration to resolve that.
About chmod if your hoster do not allow to include new file or create new directory. You must do that manually.
For you the most important directory and sub directory are :
Includes/clicshopping/work in 777 and sub
Sources/images in 777 and image
The chmod can be changed with your ftp
Check also is your hoster accept composer (commande). Now, if you want install a payment for example, composer is required in your server.
If the automatic install do not work you have no choice to download the apps you make an install manually in your case
You have some tutorials on the website to do that how to install in manual an apps
The best is to have a local website, to install local and after to export in your server.
I hope it can help you to resolve your problem.
-
1
-
-
Hello,
Just for information, An update has been made, now, it's possible to :
update all the library
update one library
clear the cache
compare the version installed with the latest version.
Just a warning, you must be careful when you make an update because it can create an error inside your apps.
Make for the expert.
-
4
-

ClicShoppingAI: Native Agentic E-Commerce Solution
in Latest news for community
Posted
We are proud now to announce you ClicShoppingAI is a native agentic e-commerce platform built on an open, multi-agent architecture orchestrated by a central Orchestrator Agent. Designed for extensibility, the platform enables the dynamic addition of new agents and functional domains as business needs evolve.
Multi-Agent Architecture
At the core of the system, the Orchestrator Agent analyzes user intent and routes requests to the appropriate domain agents. Specialized agents operate across key functions:
Semantic Agent for semantic search and content understanding using vector embeddings and retrieval-augmented generation (RAG).
Analytics Agent for internal data analysis, automated SQL generation, and business intelligence.
WebSearch Agent for retrieving external information from the public web and competitive sources.
Hybrid Agent combining semantic, analytics, and web search capabilities to handle complex queries.
Conversational Interface
ClicShoppingAI features a conversational chat interface that supports natural language queries and delivers contextualized responses through intelligent intent analysis, contextual awareness, response validation, and multilingual support.
Monitoring and Performance
A centralized dashboard provides real-time visibility into platform activity with key performance indicators, including agent performance metrics, system latency, cache usage, alerts, trends, and token consumption statistics.
Extensible by Design
The platform relies on standardized interfaces and a clear three-layer architecture (Domains, Apps, Agents), ensuring clean separation between query processing, business logic, and autonomous agent behavior. This design allows rapid integration of new agents and domains without disrupting existing functionality.
An example below :
An request example across the chat :
