Как и где формируется номер заказа в MiniShop2
MiniShop 2.1.1 pl2
Однажды мне нужно было изменить принцип формирования номеров заказа в MiniShop2
core/components/minishop2/model/minishop2/msorderhandler.class.php:459 /** * Return current number of order * * @return string */ public function getnum() { $table = $this->modx->getTableName('msOrder'); // получаем имя таблицы $cur = date('ym'); // получаем текущий год и месяц в формате yymm $sql = $this->modx->query("SELECT `num` FROM {$table} WHERE `num` LIKE '{$cur}%' ORDER BY `id` DESC LIMIT 1"); // делаем запрос в БД и получаем последнюю запись, схожую по формату с тем, что содержится в $cur $num = $sql->fetch(PDO::FETCH_COLUMN); if (empty($num)) {$num = date('ym').'/0';} // если запрос не дал результатов, то запись в текущем месяце, текущего года будет первая $num = explode('/', $num); $num = $cur.'/'.($num[1] + 1); return $num; }
Comments
Post a Comment