


Explication détaillée du développement de la confirmation automatique des commandes dans le backend d'ecshop
ecshopLa chronique présente le développement de la confirmation automatique des commandes en arrière-plan d'ecshop
Recommandé (Gratuit) : ecshop
CREATE TABLE `order_auto_confirm` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `order_id` INT(10) UNSIGNED NOT NULL DEFAULT '0', `order_sn` VARCHAR(20) NOT NULL, `execute_time` INT(10) UNSIGNED NOT NULL DEFAULT '0', `order_status` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0未确定,1已经确定', `addtime` INT(10) UNSIGNED NOT NULL DEFAULT '0', `update_time` INT(10) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE INDEX `order_id` (`order_id`), INDEX `execute_time` (`execute_time`) ) COMMENT='订单定期自动确定' COLLATE='utf8_general_ci' ENGINE=MyISAM;
1 Ajoutez le code suivant à
/admin/order.php :
elseif($_REQUEST['act'] == 'order_cron') { $act1 = empty($_POST['act1']) ? 0 : $_POST['act1']; if(empty($act1) || !in_array($act1, array('add', 'cancel'))) make_json_response('', -1, '未知请求act1'); $order_id = intval($_POST['order_id']); $order = order_info($order_id); if(empty($order)) make_json_response('', -2, '没有此订单ID'); if($order['order_status']) make_json_response('', -3, '此订单已经确认,不用自动确认'); if($order['pay_status']) make_json_response('', -4, '此订单支付状态已经变动,无法添加任务'); if($act1 == 'add'){ $order_cron_time = empty($_POST['order_cron_time']) ? 0 : $_POST['order_cron_time']; if(empty($order_cron_time)) make_json_response('', -10, '请求的时间错误'); $sql = 'select order_id from '.$ecs->table('order_auto_confirm').' where order_id='.$order_id; $rs = $db->getRow($sql); if($rs['order_id'] == $order_id){ make_json_response('', -30, '此订单任务已经存在,不能重复添加'); } $execute_time = local_strtotime($order_cron_time); $sql = "insert into ".$ecs->table('order_auto_confirm')."(order_id, order_sn, execute_time, order_status, addtime) values(".$order_id.",'".$order['order_sn']."',".$execute_time.", 0, ".local_gettime().")"; $result = $db->query($sql); if($result){ make_json_response('', 0, ''); } make_json_response('', -9, '添加任务计划失败'); }elseif($act1 == 'cancel'){ $sql = 'delete from '.$ecs->table('order_auto_confirm').' where order_id='.$order_id.' and order_status=0 '; $db->query($sql); make_json_response('', 0, ''); } }
2.
Ajouter elseif($_REQUEST['act'] == 'info') :
//取自动确定订单信息 $sql = 'select order_status, execute_time, addtime, update_time from '.$ecs->table('order_auto_confirm').' where order_id='.$order['order_id']; $cron= $db->getRow($sql); if(!empty($cron)){ if($cron['order_status'] == 1) $cron['update_time'] = sprintf($_LANG['order_auto_croned'], local_date('Y-m-d H:i:s', $cron['update_time'])); else $cron['execute_time']= sprintf($_LANG['order_auto_cron'], local_date('Y-m-d H:i:s', $cron['execute_time'])); } $smarty->assign('cron', $cron);
3. .php
if (!defined('IN_ECS')) { die('Hacking attempt'); } require_once(ROOT_PATH . 'includes/lib_order.php'); $cron_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/cron/order_auto_confirm.php'; if (file_exists($cron_lang)) { global $_LANG; include_once($cron_lang); }/* 模块的基本信息 */ if (isset($set_modules) && $set_modules == TRUE) { $i = isset($modules) ? count($modules) : 0; /* 代码 */ $modules[$i]['code'] = basename(__FILE__, '.php'); /* 描述对应的语言项 */ $modules[$i]['desc'] = 'order_auto_confirm_desc'; /* 作者 */ $modules[$i]['author'] = 'wjzhhr'; /* 网址 */ $modules[$i]['website'] = 'http://www.wodeqingchun.com'; /* 版本号 */ $modules[$i]['version'] = '1.0.0'; /* 配置信息 */ $modules[$i]['config'] = array( array('name' => 'order_auto_confirm_count', 'type' => 'select', 'value' => '10'), ); return; } $time = gmtime(); //$time = local_gettime(); $limit = empty($cron['order_auto_confirm_count']) ? 5 : $cron['order_auto_confirm_count']; $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('order_auto_confirm') . " WHERE execute_time getAll($sql); $i = 0; foreach ($autodb as $key => $val) { $order_id = $val['order_id']; $order_sn = $val['order_sn']; /* 标记订单为已确认 */ $update_status = update_order($order_id, array('order_status' => OS_CONFIRMED, 'confirm_time' => gmtime())); update_order_amount($order_id); /* 记录log */ $action_note = "计划任务:定期自动确定订单,订单号:".$order_sn.",执行状态:".($update_status ? '成功' : '失败'); order_action($order_sn, OS_CONFIRMED, SS_UNSHIPPED, PS_UNPAYED, $action_note, 'system_cron'); /* 如果原来状态不是“未确认”,且使用库存,且下订单时减库存,则减少库存 */ if ($val['order_status'] != OS_UNCONFIRMED && $_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE) { change_order_goods_storage($order_id, true, SDT_PLACE); } if($update_status) { $i += 1; $sql = "update " . $GLOBALS['ecs']->table('order_auto_confirm') . " set order_status=1, update_time=".$time." where order_id=".$order_id; $db->query($sql); } }$string = '此次共更新:'.$i.'条数据'; echo $string;file_put_contents('./a.txt', $time . '----' . date('Y-m-d H:i:s').$string."\r\n", FILE_APPEND); /** * 更新订单总金额 * @param int $order_id 订单id * @return bool //zuimoban.com */ function update_order_amount($order_id) { include_once(ROOT_PATH . 'includes/lib_order.php'); //更新订单总金额 $sql = "UPDATE " . $GLOBALS['ecs']->table('order_info') . " SET order_amount = " . order_due_field() . " WHERE order_id = '$order_id' LIMIT 1"; return $GLOBALS['db']->query($sql); } ?>
$_LANG['order_auto_croned'] = '此订单于 %s 已被确认'; $_LANG['order_auto_cron'] = '此订单于 %s 进行定时确认'; $_LANG['order_auto'] = '将此订单加入自动定时确认'; $_LANG['order_auto_time'] = '自动确认时间:';
à /langues/zh_cn/admin/order.php 5.
/admin/themes/order_info.htm à : { $lang.base_info} Ajouter plus tard :
function order_cron(order_id, act){ var order_cron_time = 0; if(act == 'add'){ order_cron_time = document.getElementById('order_cron_time').value; if(!order_cron_time){ alert('无法获取时间'); return false; } } Ajax.call('order.php?act=order_cron', 'order_id=' + order_id + '&act1=' + act + '&order_cron_time=' + order_cron_time, order_cron_response, 'POST', 'JSON');}function order_cron_response(res){ if (res.error == 0) { alert('保存成功'); } else { alert(res.message); } return false;}
{insert name='query_info'}
Cette phrase est plus importante. Les prédécesseurs ont supprimé cette phrase, ce qui a amené la plupart des modèles à chercher la raison partout. Au total, 5 fichiers sont impliqués, deux nouvellement ajoutés
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

ecshop est une architecture « B2C » ; ecshop est un système de boutique en ligne indépendant B2C, adapté aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées ; le système est un programme open source multiplateforme développé sur la base du langage PHP et de l'architecture de base de données MYSQL.

Comment trier les articles ecshop : 1. Trier par heure de publication, vous pouvez contrôler l'ordre des articles dans la liste en modifiant l'heure de publication de l'article ; 2. Trier par clics, vous pouvez réaliser ce tri en installant le « Classement des clics d'articles » " Fonction du plug-in, ce plug-in peut compter le nombre de clics sur les articles ; 3. Trier par le nombre de commentaires, vous pouvez implémenter cette fonction de tri en installant le plug-in "Article Comments Ranking", qui permet de compter les nombre de commentaires sur les articles ; 4. Trier par pertinence, Cette fonction de tri peut être réalisée en installant le plug-in « Search Ranking ».

Caractéristiques : 1. Système open source avec flexibilité, personnalisation et évolutivité élevée ; 2. Prise en charge du développement secondaire indépendant ; 3. Modèles et plug-ins riches ; 4. Forte adaptabilité de l'industrie 5. Éviter d'être contraint par les fournisseurs de logiciels ; et stabilité ; 7. Mise à niveau du cadre Mobile H5, basée sur le remplacement complet de VUE, plus flexible et ouvert ; 8. Fonction de remise à plusieurs niveaux, prenant en charge les codes QR, les affiches et autres méthodes de promotion, développement de fission illimité des distributeurs ; du terminal de gestion est entièrement renouvelé, l'interface utilisateur est simple et belle, et l'expérience de fonctionnement est améliorée ; 9. Prend en charge PHP7.2 et les performances sont doublées.

Ecshop Product Management Advanced : Apprenez à ajouter des champs, vous avez besoin d'exemples de code spécifiques. Lorsque vous utilisez Ecshop pour la gestion de produits, vous rencontrez souvent des situations dans lesquelles vous devez ajouter des champs personnalisés pour répondre à des besoins spécifiques. En ajoutant des champs, une gestion des produits plus précise et une meilleure expérience utilisateur peuvent être obtenues. Cet article expliquera comment ajouter des champs dans Ecshop et fournira des exemples de code spécifiques. Tout d’abord, nous devons clarifier la nécessité d’ajouter des champs. Par exemple, nous devons ajouter un champ « date de production » à la page de détails du produit pour

ECShop est un système de boutique en ligne indépendant B2C. Il s'agit d'un programme open source multiplateforme développé sur la base du langage PHP et de l'architecture de base de données MYSQL. Il convient aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées. Les caractéristiques du système ecshop mall : 1. Prise en charge du développement secondaire indépendant ; 2. Modèles et plug-ins riches ; 3. Forte adaptabilité de l'industrie 4. Éviter d'être contraint par les fournisseurs de logiciels ; 5. Fiabilité et stabilité accrues ;

ecshop est un modèle B2C. ECShop est un système de boutique en ligne indépendant B2C, adapté aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées. B2C fait référence à un modèle de commerce électronique, et c'est également un modèle de vente au détail qui vend des produits et des services directement aux consommateurs ; le mode de paiement du commerce électronique B2C est une combinaison de paiement à la livraison et de paiement en ligne, et la plupart des entreprises choisissent la logistique. externalisation pour la livraison. Pour réduire les coûts d’exploitation.

Comment annuler le mode d'expédition dans ecshop : 1. Recherchez et ouvrez le fichier "flow.dwt", puis supprimez "<!--{if $total.real_goods_count neq 0}-->...<!-- { /if} - ->" code ; 2. Remplacez "checkOrderForm(frm)" dans "js/shopping_flow.js" par "if (document.getElementById(...)".

Méthode pour supprimer le copyright en bas d'ecshop : 1. Modifiez le fichier modèle, l'emplacement précis est : répertoire thèmes/votre_theme, recherchez le fichier footer.html dans ce répertoire, ouvrez-le avec un éditeur de texte, recherchez le segment de code contenant les informations de copyright, supprimez-les ou commentez. Enregistrez simplement le fichier et fermez-le ; 2. Pour utiliser le plug-in, connectez-vous au backend, cliquez sur gestion du plug-in, recherchez les droits d'auteur et autres mots-clés associés en bas, sélectionnez un plug-in approprié à installer et à activer. 3. Pour acheter un thème, achetez-le sur le site officiel d'ECShop, etc.
