我是cs-cart的新手。不是很熟悉它。我的最新项目涉及与Cs-Cart合作。我已经能够找出如何输出产品和使用类别。
现在已经试了好几个星期了。一直在几个网站和stackoverflow问题。什么都不像我想要的。 The only S.O. question that came close has no answer.
当特定商品添加到购物车时,我想稍微弹出一下。在弹出式div或框中,我想建议其他项目。如果可能的话,每个建议旁边都有一个添加到购物车按钮。 我到处搜索但不多。我不介意为此创建我自己的插件,但我不知道如何听取那些添加到购物车事件和在cs-cart中创建弹出窗口。
感谢任何帮助..
答案 0 :(得分:0)
如果您在CS-Cart中将产品添加到购物车,则会有一个弹出框。默认情况下,添加到购物车功能是通过AJAX请求完成的。
如果您想修改此通知的内容,则必须检查/design/themes/YOUR_THEME_NAME/views/checkout/components/product_notification.tpl
模板文件。 (替换YOUR_THEME_NAME)
但是我建议你,不要直接写入核心文件(php和tpl文件)。您可以找到official developer documentation here。
如果您想为添加到购物车功能创建控制器扩展,您可以创建一个控制器,例如。 /app/addons/my_changes/controllers/frontend/checkout.post.php。将此代码写入此文件:
<?php
if ($mode == "add") {
//Do something here
}
如果我的更改附加组件处于活动状态,则此代码将在产品添加到购物车后但在显示tpl文件之前运行。
答案 1 :(得分:0)
您可以使用以下内容创建 app / addons / my_changes / controllers / frontend / checkout.post.php 文件:
<?php
use Tygh\Registry;
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($mode == 'add') {
$added_products = Registry::get('view')->getTemplateVars('added_products');
if (!empty($added_products)) {
foreach ($added_products as $data) {
if (!empty($data['product_id']) && $data['product_id'] == THE_ID_OF_REQUIRED_PRODUCT) {
$msg = Registry::get('view')->fetch('addons/my_changes/custom_product_notification.tpl');
fn_set_notification('I', __('custom_product_notification_title'), $msg, 'I');
}
}
}
}
return;
}
然后